diff --git a/CODEOWNERS b/CODEOWNERS index 5d7872e0d3fd..662ee3501de5 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -30,7 +30,6 @@ source/_integrations/alert.markdown @home-assistant/core source/_integrations/alexa.markdown @home-assistant/cloud @ochlocracy source/_integrations/alexa.smart_home.markdown @home-assistant/cloud @ochlocracy source/_integrations/almond.markdown @gcampax @balloob -source/_integrations/ambee.markdown @frenck source/_integrations/amberelectric.markdown @madpilot source/_integrations/ambiclimate.markdown @danielhiversen source/_integrations/ambient_station.markdown @bachya @@ -201,7 +200,6 @@ source/_integrations/flick_electric.markdown @ZephireNZ source/_integrations/flipr.markdown @cnico source/_integrations/flo.markdown @dmulcahey source/_integrations/flume.markdown @ChrisMandich @bdraco @jeeftor -source/_integrations/flunearyou.markdown @bachya source/_integrations/flux_led.markdown @icemanch @bdraco source/_integrations/forecast_solar.markdown @klaasnicolaas @frenck source/_integrations/forked_daapd.markdown @uvjustin @@ -417,6 +415,7 @@ source/_integrations/nina.markdown @DeerMaximum source/_integrations/nissan_leaf.markdown @filcole source/_integrations/nmbs.markdown @thibmaek source/_integrations/noaa_tides.markdown @jdelaney72 +source/_integrations/nobo_hub.markdown @echoromeo @oyvindwe source/_integrations/notify.markdown @home-assistant/core source/_integrations/notify_events.markdown @matrozov @papajojo source/_integrations/notion.markdown @bachya diff --git a/source/_docs/blueprint/selectors.markdown b/source/_docs/blueprint/selectors.markdown index 7d19ceda7daf..08bc04a69daf 100644 --- a/source/_docs/blueprint/selectors.markdown +++ b/source/_docs/blueprint/selectors.markdown @@ -685,8 +685,8 @@ max: type: [integer, float] required: true step: - description: The step value of the number value. - type: [integer, float] + description: The step size of the number value. Set to `"any"` to allow any number. + type: [integer, float, "any"] required: false default: 1 unit_of_measurement: diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 77d92cf3504f..1667d0cd574e 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -109,6 +109,16 @@ Print out a list of all the sensor states: {% endraw %} +Entities that are on + +{% raw %} + +``` +{{ ['light.kitchen', 'light.dinig_room'] | select('is_state', 'on') | list }} +``` + +{% endraw% } + Other state examples: {% raw %} @@ -141,6 +151,9 @@ Other state examples: {{ as_local(states.sensor.time.last_changed) }} {{ states('sensor.expires') | as_datetime }} + +#make a list of states +{{ ['light.kitchen', 'light.dinig_room'] | map('states') | list }} ``` {% endraw %} @@ -181,6 +194,26 @@ With strings: {% endraw %} +List of friendly names + +{% raw %} + +``` +{{ ['binary_sensor.garage_door', 'binary_sensor.front_door'] | map('state_attr', 'friendly_name') | list }} +``` + +{% endraw% } + +List of lights that are on with a brightness of 255 + +{% raw %} + +``` +{{ ['light.kitchen', 'light.dinig_room'] | select('is_state', 'on') | select('is_state_attr', 'brightness', 255) | list }} +``` + +{% endraw% } + ### Working with Groups Not supported in [limited templates](#limited-templates). @@ -548,6 +581,23 @@ Example using `is_defined` to parse a JSON payload: This will throw an error `UndefinedError: 'value_json' is undefined` if the JSON payload has no `val` attribute. +### Version + +- `version()` Returns a [AwesomeVersion object](https://github.com/ludeeus/awesomeversion) for the value given inside the brackets. + - This is also available as a filter (`| version`). + +Examples: + +{% raw %} + +- `{{ version("2099.9.9") > "2000.0.0" }}` Will return `True` +- `{{ version("2099.9.9") < "2099.10" }}` Will return `True` +- `{{ "2099.9.9" | version < "2099.10" }}` Will return `True` +- `{{ (version("2099.9.9") - "2100.9.10").major }}` Will return `True` +- `{{ (version("2099.9.9") - "2099.10.9").minor }}` Will return `True` +- `{{ (version("2099.9.9") - "2099.9.10").patch }}` Will return `True` + +{% endraw %} ### Distance @@ -556,6 +606,7 @@ Not supported in [limited templates](#limited-templates). - `distance()` will measure the distance in kilometers between home, entity, coordinates. - `closest()` will find the closest entity. + #### Distance examples If only one location is passed in, Home Assistant will measure the distance from home. diff --git a/source/_includes/integrations/config_flow.md b/source/_includes/integrations/config_flow.md index 7b44475ace4a..3d0c39967a58 100644 --- a/source/_includes/integrations/config_flow.md +++ b/source/_includes/integrations/config_flow.md @@ -8,14 +8,14 @@ interface, by using this My button: {% my config_flow_start badge domain=domain %} -{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf %} +{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf or page.ha_mqtt %} {{ name }} can be auto-discovered by Home Assistant. If an instance was found, it will be shown as _"Discovered"_, which you can select to set it up right away. {% endif %} {% details "Manual configuration steps" %} -{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf %} +{% if include.discovery or page.ha_dhcp or page.ha_homekit or page.ha_ssdp or page.ha_zeroconf or page.ha_mqtt %} If there wasn't any discovered automatically, don't worry! You can set up a manual integration entry: {% else %} diff --git a/source/_integrations/ambee.markdown b/source/_integrations/ambee.markdown deleted file mode 100644 index dd082e0e67d0..000000000000 --- a/source/_integrations/ambee.markdown +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Ambee -description: Instructions on how to integrate Ambee within Home Assistant. -ha_category: - - Environment - - Health -ha_release: 2021.7 -ha_iot_class: Cloud Polling -ha_config_flow: true -ha_codeowners: - - '@frenck' -ha_domain: ambee -ha_platforms: - - sensor -ha_quality_scale: platinum -ha_integration_type: integration ---- - -
- This integration is pending removal from Home Assistant and will be no longer available as of Home Assistant 2022.10. -
- -The Ambee integration integrates the [Ambee](https://www.getambee.com/) API -platform with Home Assistant. - -Ambee fuses the power of thousands of on-ground sensor data and hundreds of -remote imagery from satellites. Their state-of-the-art AI and ML techniques with -proprietary models analyze environmental factors such as air quality, soil, -micro weather, pollen, and more to help millions worldwide say safe and protect -themselves. - -## Prerequisites - -To use the Ambee integration, you will need to obtain an API key from Ambee. -Ambee provides free evulation API keys, that are limited to 50,000 credits -and for a period of 30 days. After that, you will need to sign up for a -paid enterprise plan in order to continue using Ambee. - -[Sign up for an Ambee account](https://api-dashboard.getambee.com/#/signup). -Once you have completed the sign up and logged in for the first time, the -API token will be displayed on the top of your -[Ambee dashboard](https://api-dashboard.getambee.com/#/). Make sure you select -both the Air Quality API and the Pollen API. - -{% include integrations/config_flow.md %} - -## Sensors - -The Ambee platform mainly provides sensors that you can use in your automations. - -### Air Quality - -Polluted air affects planetary well-being with disruption to our ecosystem and -various health risks. The following sensors from Ambee are available on this: - -- Air Quality Index (AQI) -- Carbon Monoxide (CO) -- Nitrogen Dioxide (NO2) -- Ozone -- Particulate Matter < 10 μm -- Particulate Matter < 2.5 μm -- Sulphur Dioxide (SO2) - -### Pollen - -Pollen is a fine powder produced by trees and plants. Pollen can severely affect -people, especially those with different ailments such as asthma and respiratory -issues. This integration provides a lot of sensors to monitor pollen counts and -risks. - -Generic pollen count sensors (in pollen/m3) -and as risk level (low, moderate, high, very high): - -- Grass -- Tree -- Weed - -Additionally, sensors for specific pollen from specific grasses, -trees or weeds, in pollen/m3, are provided. These are disabled by default. -Enable those entities in the user interface if you like to use these: - -- Alder Tree -- Birch Tree -- Chenopod Weed -- Cypress Tree -- Elm Tree -- Hazel Tree -- Mugwort Weed -- Nettle Weed -- Oak Tree -- Pine Tree -- Plane Tree -- Poaceae Grass -- Poplar Tree -- Ragweed diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown index 6fade1a6494a..a005b67204be 100644 --- a/source/_integrations/apcupsd.markdown +++ b/source/_integrations/apcupsd.markdown @@ -1,7 +1,6 @@ --- title: apcupsd description: Instructions on how to integrate apcupsd status with Home Assistant. -logo: apcupsd.png ha_category: - Binary Sensor - Sensor @@ -9,18 +8,21 @@ ha_category: ha_release: 0.13 ha_iot_class: Local Polling ha_domain: apcupsd +ha_config_flow: true +ha_codeowners: + - '@yuxincs' ha_platforms: - binary_sensor - sensor ha_integration_type: integration --- -[Apcupsd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) on the APC device. +[apcupsd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) on the APC device. There is currently support for the following device types within Home Assistant: - [Binary Sensor](#binary-sensor) -- [Sensor](#sensor) +- [Sensor](#sensors) ## Home Assistant add-on installation @@ -28,136 +30,95 @@ Install this [unofficial add-on](https://github.com/korylprince/hassio-apcupsd/) After installation, follow the instructions on the GitHub page to configure the plugin. Then continue to follow the integration configurations below. -## Configuration +{% include integrations/config_flow.md %} -To enable this sensor, add the following lines to your `configuration.yaml`: +
-```yaml -# Example configuration.yaml entry -apcupsd: -``` +If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [apcupsd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addresses will not connect. -{% configuration %} -host: - description: The hostname/IP address on which the apcupsd NIS is being served. - required: false - type: string - default: localhost -port: - description: The port on which the apcupsd NIS is listening. - required: false - type: integer - default: 3551 -{% endconfiguration %} +
-
-If you get `ConnectionRefusedError: Connection refused` errors in the Home Assistant logs, ensure the [Apcupsd](http://www.apcupsd.org/) configuration directives used by its Network Information Server is set to permit connections from all addresses [NISIP 0.0.0.0](http://www.apcupsd.org/manual/manual.html#configuration-directives-used-by-the-network-information-server), else non-local addresses will not connect. +## Binary sensor -
+This integration provides a binary sensor for the following information from apcupsd: -## Binary sensor +- UPS status + +## Sensors + +This integration provides sensors for the following information from apcupsd based on their availability. Each sensor is listed here along with their corresponding resource name obtained from `apcaccess`. + +
+ +Some sensors are disabled by default, since they provide information that is only useful for advanced users. You can manually enable them in **{% my entities title="Settings -> Devices & Services -> Entities" %}** -> the sensor entity you want to enable -> Advanced settings -> Enabled. + +
+ +- UPS Alarm Delay (ALARMDEL) +- UPS Ambient Temperature (AMBTEMP) +- UPS Status Data (APC) +- UPS Model (APCMODEL) +- UPS Bad Batteries (BADBATTS) +- UPS Battery Replaced (BATTDATE) +- UPS Battery Status (BATTSTAT) +- UPS Battery Voltage (BATTV) +- UPS Battery (BCHARGE) +- UPS Cable Type (CABLE) +- UPS Total Time on Battery (CUMONBATT) +- UPS Status Date (DATE) +- UPS Dip Switch Settings (DIPSW) +- UPS Low Battery Signal (DLOWBATT) +- UPS Driver (DRIVER) +- UPS Shutdown Delay (DSHUTD) +- UPS Wake Delay (DWAKE) +- UPS Date and Time (END APC) +- UPS External Batteries (EXTBATTS) +- UPS Firmware Version (FIRMWARE) +- UPS Transfer High (HITRANS) +- UPS Hostname (HOSTNAME) +- UPS Ambient Humidity (HUMIDITY) +- UPS Internal Temperature (ITEMP) +- UPS Last Transfer (LASTXFER) +- UPS Input Voltage Status (LINEFAIL) +- UPS Line Frequency (LINEFREQ) +- UPS Input Voltage (LINEV) +- UPS Load (LOADPCT) +- UPS Load Apparent Power (LOADAPNT) +- UPS Transfer Low (LOTRANS) +- UPS Manufacture Date (MANDATE) +- UPS Master Update (MASTERUPD) +- UPS Input Voltage High (MAXLINEV) +- UPS Battery Timeout (MAXTIME) +- UPS Battery Shutdown (MBATTCHG) +- UPS Input Voltage Low (MINLINEV) +- UPS Shutdown Time (MINTIMEL) +- UPS Model (MODEL) +- UPS Battery Nominal Voltage (NOMBATTV) +- UPS Nominal Input Voltage (NOMINV) +- UPS Nominal Output Voltage (NOMOUTV) +- UPS Nominal Output Power (NOMPOWER) +- UPS Nominal Apparent Power (NOMAPNT) +- UPS Transfer Count (NUMXFERS) +- UPS Output Current (OUTCURNT) +- UPS Output Voltage (OUTPUTV) +- UPS Register 1 Fault (REG1) +- UPS Register 2 Fault (REG2) +- UPS Register 3 Fault (REG3) +- UPS Restore Requirement (RETPCT) +- UPS Last Self Test (SELFTEST) +- UPS Sensitivity (SENSE) +- UPS Serial Number (SERIALNO) +- UPS Startup Time (STARTTIME) +- UPS Status Flag (STATFLAG) +- UPS Status (STATUS) +- UPS Self Test Interval (STESTI) +- UPS Time Left (TIMELEFT) +- UPS Time on Battery (TONBATT) +- UPS Mode (UPSMODE) +- UPS Name (UPSNAME) +- UPS Daemon Info (VERSION) +- UPS Transfer from Battery (XOFFBAT) +- UPS Transfer from Battery (XOFFBATT) +- UPS Transfer to Battery (XONBATT) -In addition to the [Apcupsd Sensor](#sensor) devices, you may also create a device which is simply "on" when the UPS status is online and "off" at all other times. - -### Configuration - -To enable this sensor, you first have to set up apcupsd integration (above), and add the following lines to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -binary_sensor: - - platform: apcupsd -``` - -{% configuration %} -name: - description: Name to use in the frontend. - required: false - type: string - default: UPS Online Status -{% endconfiguration %} - -## Sensor - - The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](https://linux.die.net/man/8/apcaccess) command. - -### Configuration - -To use this sensor platform, you first have to set up apcupsd integration (above), and add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: apcupsd - resources: - - bcharge - - linev -``` - -{% configuration %} -resources: - description: Contains all entries to display. - required: true - type: list -{% endconfiguration %} - -### Example - -Given the following output from `apcaccess`: - -```yaml -APC : 001,051,1149 -DATE : 2016-02-09 17:13:31 +0000 -HOSTNAME : localhost -VERSION : 3.14.12 (29 March 2014) redhat -UPSNAME : netrack -CABLE : Custom Cable Smart -DRIVER : APC Smart UPS (any) -UPSMODE : Stand Alone -STARTTIME: 2016-02-09 16:06:47 +0000 -MODEL : SMART-UPS 1400 -STATUS : TRIM ONLINE -LINEV : 247.0 Volts -LOADPCT : 13.0 Percent -BCHARGE : 100.0 Percent -TIMELEFT : 104.0 Minutes -MBATTCHG : 5 Percent -MINTIMEL : 3 Minutes -MAXTIME : 0 Seconds -MAXLINEV : 249.6 Volts -MINLINEV : 244.4 Volts -OUTPUTV : 218.4 Volts -[...] -``` - -Use the values from the left hand column (lower case required). - -Full Example Configuration: - -```yaml -sensor: - - platform: apcupsd - resources: - - apc - - date - - hostname - - version - - upsname - - cable - - driver - - upsmode - - starttime - - model - - status - - linev - - loadpct - - bcharge - - timeleft - - mbattchg - - mintimel - - maxtime - - maxlinev - - minlinev - - outputv -``` diff --git a/source/_integrations/braviatv.markdown b/source/_integrations/braviatv.markdown index a1a0955823fe..51a4d14898ef 100644 --- a/source/_integrations/braviatv.markdown +++ b/source/_integrations/braviatv.markdown @@ -2,6 +2,7 @@ title: Sony Bravia TV description: Instructions on how to integrate a Sony Bravia TV into Home Assistant. ha_category: + - Button - Media Player - Remote ha_release: 0.23 @@ -12,8 +13,10 @@ ha_codeowners: ha_domain: braviatv ha_config_flow: true ha_platforms: + - button - media_player - remote +ha_ssdp: true ha_integration_type: integration --- @@ -23,11 +26,20 @@ Almost all [Sony Bravia TV 2013 and newer](https://info.tvsideview.sony.net/en_w {% include integrations/config_flow.md %} +## Authentication + +The Bravia TV integration supports two types of authentication: + +- **PSK (Pre-Shared-Key)** is a user-defined secret key used for access control. This authentication method is recommended as more reliable and stable. To set up and enable PSK on your TV, go to: **Settings -> Network -> Home Network Setup -> IP Control**. +- **PIN Code** authentication is easier and does not require additional settings. + +For more information, see [IP Control Authentication](https://pro-bravia.sony.net/develop/integrate/ip-control/index.html#ip-control-authentication). + ## Common Issues ### TV does not generate new pin -If you have previously set up your TV with any Home Assistant instances, you must remove Home Assistant from your TV in order for your TV to generate a new pin. To do this, you must do **one** of the following: +If you have previously set up your TV with any Home Assistant instances via PIN code, you must remove Home Assistant from your TV in order for your TV to generate a new pin. To do this, you must do **one** of the following: - On your TV, go to: **Settings** -> **Network** -> **Remote device settings** -> **Deregister remote device**. Disable and re-enable the **Control remotely** after. Menu titles may differ slightly between models. If needed, refer to your specific model's [manual](https://www.sony.com/electronics/support/manuals) for additional guidance. - Reset your TV to factory condition. @@ -65,6 +77,10 @@ The commands that can be sent to the TV depends on the model of your TV. To disp {% enddetails %} +## Buttons + +The integration supports `button` platform and allows you to reboot the device or terminate all running applications. + {% include integrations/option_flow.md %} The integration allows you to customize the list of ignored sources. diff --git a/source/_integrations/bthome.markdown b/source/_integrations/bthome.markdown index c9dbf369e900..bb41adecf026 100644 --- a/source/_integrations/bthome.markdown +++ b/source/_integrations/bthome.markdown @@ -1,6 +1,6 @@ --- title: BTHome -description: Instructions on how to integrate BThome BLE devices into Home Assistant. +description: Instructions on how to integrate BTHome BLE devices into Home Assistant. ha_category: - Sensor ha_bluetooth: true @@ -23,10 +23,6 @@ The BTHome BLE integration will automatically discover devices once the [Bluetoo BTHome is an energy effective but flexible BLE format to broadcast data with Bluetooth and allows you to create your own DIY BLE sensors. More information about the BTHome BLE format and projects that use the format can be found on the [BTHome website](https://bthome.io/). -## Supported sensor measurements - -The current release only supports sensors, no binary sensors. - ## Bindkey When using encryption for your BTHome sensor, you will promted to enter your 32 character hexadecimal (16 bytes) encryption key. This key is called the bindkey. More information about the bindkey can be found in the [specifications](https://bthome.io/#encryption). diff --git a/source/_integrations/dsmr_reader.markdown b/source/_integrations/dsmr_reader.markdown index 4fb0e38d9548..15a200173ecb 100644 --- a/source/_integrations/dsmr_reader.markdown +++ b/source/_integrations/dsmr_reader.markdown @@ -5,9 +5,12 @@ ha_category: - Energy - Sensor ha_iot_class: Local Push +ha_config_flow: true +ha_mqtt: true ha_release: 0.103 ha_codeowners: - '@depl0y' + - '@glodenox' ha_domain: dsmr_reader ha_platforms: - sensor @@ -18,24 +21,18 @@ The `dsmr_reader` sensor integration allows you to easily add all sensors that [ ## Prerequisites -- DSMR Reader -- MQTT broker +To use this DSMR Reader sensor integration, you need to have a DSMR Reader instance running and an MQTT broker to send sensor data through. -## Setup - -1. Configure the MQTT broker in DSMR Reader which Home Assistant also connects to -2. Enable the following data sources in DSMR Reader with the default mapping: +1. Add the MQTT broker integration in Home Assistant, if you haven't done so already +2. Configure the MQTT broker in the DSMR Reader application +3. Enable the following data sources in the DSMR Reader administration pages with the default mappings: - Day consumption: Split topic - Gas consumption: Split topic - Meter Statistics: Split topic - Telegram: Split topic -## Configuration +{% include integrations/config_flow.md %} -To use this integration in your installation, add the following to your `configuration.yaml` file: +## Difference with the DSMR integration -```yaml -# Example configuration.yaml entry -sensor: - - platform: dsmr_reader -``` +This integration relies on the presence of an existing DSMR Reader application setup. It processes the events triggered by the MQTT publishing feature to create sensor entities within Home Assistant. This integration uses the data published on the MQTT broker, no matter how or where the application is installed. By comparison, the [DSMR](/integrations/dsmr/) integration adds a full instance of the DSMR Reader application within Home Assistant. It is possible to have both integrations installed at the same time and working together, but this is not required. diff --git a/source/_integrations/flunearyou.markdown b/source/_integrations/flunearyou.markdown deleted file mode 100644 index 4eda32f7dc70..000000000000 --- a/source/_integrations/flunearyou.markdown +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Flu Near You -description: Instructions on how to use Flu Near You data within Home Assistant -ha_category: - - Health -ha_release: 0.83 -ha_iot_class: Cloud Polling -ha_codeowners: - - '@bachya' -ha_domain: flunearyou -ha_config_flow: true -ha_platforms: - - diagnostics - - sensor -ha_integration_type: integration ---- - -
- This integration is pending removal from Home Assistant and will be no longer available as of Home Assistant 2022.10. -
- -The `flunearyou` sensor platform allows users in the United States and its -territories to get information regarding reported flu symptoms from [Flu Near -You](https://flunearyou.org/). The platform can return user-reported information as well reports from the -Center for Disease Control (CDC). - -{% include integrations/config_flow.md %} - -## Sensor Types - -### User Report - -* Number of reported cases of [Avian Flu](https://www.cdc.gov/flu/avianflu/index.htm) symptoms -* Number of reported cases of [Dengue](https://www.cdc.gov/dengue/index.html) symptoms -* Number of reported cases of [Flu](https://www.cdc.gov/flu/) symptoms -* Number of reported cases of [Flu-like](https://en.wikipedia.org/wiki/Influenza-like_illness) symptoms -* Number of reported cases of [Leptospirosis](https://www.cdc.gov/leptospirosis/index.html) symptoms -* Total number of reported cases with symptoms -* Number of reported cases with no symptoms - -### CDC Report - -* Current CDC level for the state -* Current CDC "Level 2" for the state diff --git a/source/_integrations/google_sheets.markdown b/source/_integrations/google_sheets.markdown new file mode 100644 index 000000000000..f6c22af5e2ff --- /dev/null +++ b/source/_integrations/google_sheets.markdown @@ -0,0 +1,86 @@ +--- +title: Google Sheets +description: Instructions on how to use Google Sheets in Home Assistant. +ha_category: + - Utility +ha_iot_class: Cloud Polling +ha_release: 2022.10 +ha_config_flow: true +ha_domain: google_sheets +ha_codeowners: + - '@tkdrob' +ha_integration_type: integration +--- + +The Google Sheets integration allows you to connect your [Google Drive](https://drive.google.com) to Home Assistant. The integration adds a service to allow you to append rows to a Sheets document. The idea is that you can store data on there for further processing. When you set up a config entry, your drive will have a new sheet called Home Assistant. You can then rename this to whatever you like. + +**Note**: +The integration currently only has access to that one document that is created during setup. + +## Prerequisites + +You need to configure developer credentials to allow Home Assistant to access your Google Account. +These credentials are the same as the ones for [Nest](/integrations/nest). +If you have already set up credentials, you can do step 1 and then skip to step 13 on the below instructions. + +{% details "Generate Client ID and Client Secret" %} + +This section explains how to generate a Client ID and Client Secret on +[Google Developers Console](https://console.developers.google.com/start/api?id=drive). + +1. First go to the [Google Developers Console](https://console.developers.google.com/start/api?id=drive) +2. The wizard will ask you to choose a project to manage your application. Select a project and click continue. +3. Verify that your drive API was enabled and click 'Go to credentials' +4. Navigate to APIs & Services (left sidebar) > [Credentials](https://console.cloud.google.com/apis/credentials) +5. Click on the field on the left of the screen, **OAuth Consent Screen**. +6. Select **External** and **Create**. +7. Set the *App Name* (the name of the application asking for consent) to anything you want e.g. *Home Assistant*. +8. You then need to select a *Support email*. To do this, simply click the drop down box and select your email address. +9. You finally need to complete the section: *Developer contact information*. To do this, simply enter your email address (same as above is fine). +10. Scroll to the bottom and click **Save and Continue**. Don't have to fill out anything else or it may enable additional review. +11. You will then be automatically taken to the Scopes page. You do not need to add any scopes here so click Save and Continue to move to the Optional info page. You do not need to add anything to the Optional info page so click Save and Continue which will take you to the Summary page. Click Back to Dashboard. +12. Click **OAuth consent screen** again and set *Publish Status* to **Production** otherwise your credentials will expire every 7 days. +13. Make sure **Publishing status** is set to production. +14. Click **Credentials** in the menu on the left hand side of the screen, then click **Create credentials** (at the top of the screen), then select *OAuth client ID*. +15. Set the Application type to *Web application* and give this credential set a name (like "Home Assistant Credentials"). +16. Add https://my.home-assistant.io/redirect/oauth to *Authorized redirect URIs* then click **Create**. +17. You will then be presented with a pop-up saying *OAuth client created* showing *Your Client ID* and *Your Client Secret*. Make a note of these (for example, copy and paste them into a text editor) as you will need these shortly. Once you have noted these strings, click **OK**. If you need to find these credentials again at any point then simply navigate to *APIs & Services > Credentials* and you will see *Home Assistant Credentials* (or whatever you named them in the previous step) under *OAuth 2.0 Client IDs*. To view both the *Client ID* and *Client secret*, click on the pencil icon, this will take you to the settings page for these credentials and the information will be on the right hand side of the page. +18. Double check that the *Google Drive API* has been automatically enabled. To do this, select **Library** from the menu, then search for *Google Drive API*. If it is enabled you will see *API Enabled* with a green tick next to it. If it is not enabled, then enable it. + +{% enddetails %} + +{% include integrations/config_flow.md %} + +The integration setup will next give you instructions to enter the [Application Credentials](/integrations/application_credentials/) (OAuth Client ID and Client Secret) and authorize Home Assistant to access your Google Sheets. + +{% details "OAuth and Device Authorization steps" %} + +1. Continue through the steps of selecting the account you want to authorize. + +2. **NOTE**: You may get a message telling you that the app has not been verified and you will need to acknowledge that in order to proceed. + +3. You can now see the details of what you are authorizing Home Assistant to access with two options at the bottom. Click **Continue**. + +4. The page will now display *Link account to Home Assistant?*, note *Your instance URL*. If this is not correct, please refer to [My Home Assistant](/integrations/my). If everything looks good, click **Link Account**. + +5. You may close the window, and return back to Home Assistant where you should see a *Success!* message from Home Assistant. + +{% enddetails %} + +## Troubleshooting + +If you have an error with your credentials you can delete them in the [Application Credentials](/integrations/application_credentials/) user interface. + +### Service `google_sheets.append_sheet` + +You can use the service `google_sheets.append_sheet` to add a row of data to the Sheets document created at setup. + +{% details "Create Event Service details" %} + +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ----------- | --------| +| `config_entry` | no | Config entry to use. +| `worksheet` | yes | Name of the worksheet. Defaults to the first one in the document. | Sheet1 +| `data` | no | Data to be appended to the worksheet. This puts the data on a new row, one value per column. | ["foo"] + +{% enddetails %} diff --git a/source/_integrations/guardian.markdown b/source/_integrations/guardian.markdown index 7276adccc93f..74562bbed951 100644 --- a/source/_integrations/guardian.markdown +++ b/source/_integrations/guardian.markdown @@ -37,14 +37,6 @@ There is currently support for the following device types within Home Assistant: ## Services -### `guardian.disable_ap` - -Disable the device's onboard access point. - -### `guardian.enable_ap` - -Enable the device's onboard access point. - ### `guardian.pair_sensor` Add a new paired sensor to the valve controller. diff --git a/source/_integrations/homekit_controller.markdown b/source/_integrations/homekit_controller.markdown index 780f8aff9031..dcf62044bde2 100644 --- a/source/_integrations/homekit_controller.markdown +++ b/source/_integrations/homekit_controller.markdown @@ -83,6 +83,14 @@ HomeKit controller will poll your devices, but it will also automatically enable HomeKit Controller will automatically discover Bluetooth devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. Bluetooth devices may take significantly longer to pair than IP devices. Battery-powered devices may require pressing a button on the device to wake it before pairing can be successful. +## Thread device support + +In order to use HomeKit over Thread you need a working border router (like a HomePod mini). Your Home Assistant instance will need to be on the same VLAN as the border router. + +HomeKit Controller will automatically discover supported Thread devices using the [Zeroconf](/integrations/zeroconf) integration. Battery powered devices may go to sleep and require a button pressing to wake them up before pairing works. + +In order to provision a Thread device onto a mesh network using a HomePod as a border router, first pair it with an iOS device. Then unpair it from the Home app. Don't reset it. This will leave the Thread network details on the device. Home Assistant can now pair with it over Thread. + ## 'Stateless' switches and sensors Some HomeKit devices (like buttons, remotes and doorbells) don't have sensors that can be read like a normal HomeKit device - they only inform Home Assistant when something happens. This means Home Assistant can't show an entity for them, as they have no state. But they are available for use as [device automations](/integrations/device_automation/). diff --git a/source/_integrations/ibeacon.markdown b/source/_integrations/ibeacon.markdown new file mode 100644 index 000000000000..88dbc6013e17 --- /dev/null +++ b/source/_integrations/ibeacon.markdown @@ -0,0 +1,91 @@ +--- +title: iBeacon Tracker +description: Instructions on how to integrate iBeacon devices into Home Assistant. +ha_category: + - Presence Detection + - Device Tracker + - Sensor +ha_release: "2022.10" +ha_iot_class: Local Push +ha_domain: ibeacon +ha_platforms: + - device_tracker + - sensor +ha_bluetooth: true +ha_config_flow: true +ha_integration_type: integration +--- + +{% include integrations/config_flow.md %} + +iBeacons are Bluetooth-enabled devices that advertise identifiers to announce their location. For example, an iBeacon attached to a trash can be used to determine if the trash can is in the garage or on the street. Home Assistant can estimate the distance of an iBeacon device in proximity to the nearest Bluetooth adapter. + +iBeacon devices will be automatically detected and added as they are discovered once the integration has been added via the UI and the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +iBeacon Devices are tracked by a combination of the following data: + +- UUID (universally unique identifier) is a 128-bit identifier that is generally set the same for all iBeacons at the same physical location. +- Major is an integer to differentiate between iBeacons with the same UUID. +- Minor is an integer to differentiate between iBeacons with the same UUID and Major value. +- MAC address (except for devices with a randomized MAC address) + +Consider setting up your iBeacons with a schema similar to the following: + +- uuid=UUID major=1000 minor=1000 Downstairs Front Room +- uuid=UUID major=1000 minor=1001 Downstairs Bathroom +- uuid=UUID major=2000 minor=1001 Upstairs Main Bedroom +- uuid=UUID major=2000 minor=1002 Upstairs Guest Bedroom +- uuid=UUID major=3000 minor=1000 Attic + +iBeacon devices that do not have stable Major and Minor values are not supported. The system automatically removes iBeacon devices with unstable Major and Minor values once ten (10) or more Major and Minor values have been seen with the same UUID from an iBeacon device with a fixed MAC address. + +## Fixed MAC addresses + +iBeacons with a fixed MAC address will get their own set of entities for each UUID, major, minor, and MAC address combination, enabling distance and presence detection per physical device basis. In this type of setup, it is permissible to have multiple iBeacons broadcasting the same UUID, Major, and Minor combination as long as you do not exceed five devices. + +## Randomized MAC addresses + +iBeacons with a randomized MAC address will be combined into a single set of entities once the integration discovers the same UUID, Major, and Minor combination has been seen coming from 10 or more MAC addresses. This allows distance and presence detection based on the last reporting data. When using randomized MAC addresses, only one device must broadcast the unique UUID, Major, and Minor combination. + +## Sensors + +The integration will create an Estimated Distance sensor by default. This estimated distance assumes perfect RF conditions and line of sight between the iBeacon and the Bluetooth adapter. Estimated distance is generally only helpful to tell if the iBeacon is in the immediate vicinity, near, or far away from the adapter. If the system has multiple adapters, the adapter with the best RSSI value for the iBeacon will be the one reporting the distance. As this can change, checking the source attribute when considering the distance is essential. + +## Known working devices + +- [Blue Charm Beacons BC011-MultiBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-multi-beacon-bc011/) +- [Blue Charm Beacons BC021-MultiBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-ibeacon-bc021-multibeacon-with-button-trigger-and-motion-sensor/) +- [Blue Charm Beacons BC037G-GeoPattern-iBeacon](https://bluecharmbeacons.com/product/blue-charm-bc037-ibeacon/) +- [Blue Charm Beacons BC037S-SmoothPattern-iBeacon](https://bluecharmbeacons.com/product/bluetooth-ble-ibeacon-bc037s-ibeacon/) +- [Blue Charm Beacons BC08-MultiBeacon](https://bluecharmbeacons.com/product/blue-charm-beacons-bluetooth-ble-ibeacon-bc08-multibeacon-w-motion-sensor-and-button-trigger-ble-5-0/) +- [Feasycom FSC-BP103B](https://www.feasycom.com/bluetooth-ibeacon-da14531) +- [Feasycom FSC-BP104D](https://www.feasycom.com/dialog-da14531-bluetooth-low-energy-beacon) +- [Feasycom FSC-BP108](https://www.feasycom.com/bluetooth-5-1-waterproof-bluetooth-beacon) +- [Pawscout Tag](https://pawscout.com/shop/pawscout-tag/) + +## Example automation + +```yaml +alias: "The black trash can has left the building" +mode: single +trigger: + - platform: state + entity_id: sensor.black_trash_bin_estimated_distance + to: "unavailable" + for: + hours: 0 + minutes: 5 + seconds: 0 + - platform: numeric_state + entity_id: sensor.black_trash_bin_estimated_distance + for: + hours: 0 + minutes: 5 + seconds: 0 + above: 20 +action: + - service: notify.notify + data: + message: "The black trash can has left the building" + title: "The black trash can has left the building" +``` diff --git a/source/_integrations/intellifire.markdown b/source/_integrations/intellifire.markdown index 72f791e03bcc..febcf3b74d41 100644 --- a/source/_integrations/intellifire.markdown +++ b/source/_integrations/intellifire.markdown @@ -4,6 +4,7 @@ description: Instructions on the IntelliFire Fireplace integration for Home Assi ha_category: - Binary Sensor - Climate + - Fan - Sensor - Switch ha_iot_class: Local Polling @@ -15,6 +16,7 @@ ha_config_flow: true ha_platforms: - binary_sensor - climate + - fan - sensor - switch ha_dhcp: true @@ -39,6 +41,10 @@ The following controllable entities are available: - **Flame** - Turn fireplace on/off. - **Pilot Light** - Turn pilot light on/off. +### Fan + +- **Fan** - If your unit is equipped with a fan - this entry will be present. There are 4 fan speeds (1-4), with 0 being off. + ### Climate - **Thermostat** - This entity will be present if your unit has thermostatic control. diff --git a/source/_integrations/kegtron.markdown b/source/_integrations/kegtron.markdown new file mode 100644 index 000000000000..6ebb06d660bc --- /dev/null +++ b/source/_integrations/kegtron.markdown @@ -0,0 +1,24 @@ +--- +title: Kegtron +description: Instructions on how to integrate Kegtron Smart Keg Monitor (Gen 1) into Home Assistant. +ha_category: + - Sensor +ha_bluetooth: true +ha_release: 2022.10 +ha_iot_class: Local Push +ha_codeowners: + - '@Ernst79' +ha_domain: kegtron +ha_config_flow: true +ha_platforms: + - sensor +ha_integration_type: integration +--- + +Integrates [Kegtron](https://kegtron.com/) Smart Keg Monitor (Gen 1) devices into Home Assistant. + +{% include integrations/config_flow.md %} + +The Kegtron integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +The integration only supports Smart Keg Monitor devices of the 1st generation (KT-100 and KT-200), which communicate data with Bluetooth LE. diff --git a/source/_integrations/keymitt_ble.markdown b/source/_integrations/keymitt_ble.markdown new file mode 100644 index 000000000000..cf83781f13e3 --- /dev/null +++ b/source/_integrations/keymitt_ble.markdown @@ -0,0 +1,61 @@ +--- +title: Keymitt MicroBot Push +description: Instructions on how to set up the MicroBot Push. +ha_category: + - Switch +ha_release: "2022.10" +ha_iot_class: Assumed State +ha_codeowners: + - '@spycle' +ha_domain: keymitt_ble +ha_bluetooth: true +ha_platforms: + - switch +ha_config_flow: true +ha_integration_type: integration +--- + +This integration allows you to locally control a MicroBot Push (previously manufactured by Naran but now under the Keymitt brand). + +### Prerequisites + +In order to use this integration, it is required to have working [Bluetooth](/integrations/blueooth) set up on the device running Home Assistant. A Naran/Keymitt hub is not required. + +The device will need to be in pairing mode before adding to Home Assistant. To reset the MicroBot Push, turn it off, then back on, and immediately hold the push button while the LED is red. After approximately 5 seconds, the LED will flash rapidly, at which point release the button. The LED will blink blue if the pairing mode has been successfully activated. + +If you have multiple devices, you will need to know the BTLE MAC address of your device to tell them apart. + +Please note, that devices cannot remain paired to the MicroBot app for this integration to function. They will be paired to Home Assistant exclusively. + +{% include integrations/config_flow.md %} + +### Supported Devices + +This Integration is for the MicroBot Push only. The Keymitt lock is not supported. + +### Service `keymitt_ble.calibrate` + +The Calibration service will locally set the MicroBot Push depth, duration, and mode. + +Please note: The push arm will extend or retract (dependent on the mode set) after the service call is invoked. The mode and depth will be demonstrated, but not the duration. The setting is, however, stored and can be confirmed by manually operating the device. + +| Service Data Attribute | Required | Description | +| ---------------------- | -------- | --------------------------------------------------------------------------------------------- | +| `depth` | yes | How far (in percent) to extend the push arm. | +| `duration` | yes | Duration (in seconds) to hold the arm extended. | +| `mode` | yes |'Normal' - extend and retract the arm. | +| | |'Invert' - retract then extend the arm. | +| | |'Toggle' - toggle between extend and retract. | + +### Error codes and troubleshooting + +The integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +Due to the device going into deep sleep after prelonged disuse, the response time can be up to a minute in extreme cases. On average it will be much quicker. + +{% configuration_basic %} +"Failed to pair": + description: Make sure your devices are powered on, in range, and in pairing mode. Pressing the button on the MicroBot Push to take it out of deep sleep may also be beneficial. +"No unconfigured devices found": + description: Make sure your devices are powered on, in range, and in pairing mode. Pressing the button on the MicroBot Push to take it out of deep sleep may also be beneficial. +{% endconfiguration_basic %} diff --git a/source/_integrations/lidarr.markdown b/source/_integrations/lidarr.markdown new file mode 100644 index 000000000000..d2d70952c1ad --- /dev/null +++ b/source/_integrations/lidarr.markdown @@ -0,0 +1,29 @@ +--- +title: Lidarr +description: Instructions on how to integrate Lidarr with Home Assistant +ha_category: + - Downloading +ha_release: "2022.10" +ha_iot_class: Local Polling +ha_domain: lidarr +ha_config_flow: true +ha_codeowners: + - '@tkdrob' +ha_quality_scale: silver +ha_platforms: + - sensor +--- + +The Lidarr integration pulls data from a given [Lidarr](https://lidarr.audio/) instance. + +{% include integrations/config_flow.md %} + +To retrieve your API key, open your Lidarr web interface and navigate to Settings, then General tab. Your Lidarr API Key will be listed on this page under the Security section. + +## Sensors + +The Lidarr integration will add the following sensors: + +- Available disk space for each root folder. +- The number of episodes in the queue. +- The number of albums still wanted. diff --git a/source/_integrations/lifx.markdown b/source/_integrations/lifx.markdown index 621365f67154..e3c65e653519 100644 --- a/source/_integrations/lifx.markdown +++ b/source/_integrations/lifx.markdown @@ -40,13 +40,26 @@ Change the light to a new state. | `entity_id` | String or list of strings that point at `entity_id`s of lights. Use `entity_id: all` to target all. | `transition` | Duration (in seconds) for the light to fade to the new state. | `zones` | List of integers for the zone numbers to affect (each LIFX Z strip has 8 zones, starting at 0). -| `infrared` | Automatic infrared level (0..255) when light brightness is low (for compatible bulbs). | `power` | Turn the light on (`True`) or off (`False`). Leave out to keep the power as it is. | `...` | Use `color_name`, `brightness` etc. from [`light.turn_on`](/integrations/light/#service-lightturn_on) to specify the new state. +## Set HEV cycle state + +You can control the HEV LEDs in LIFX Clean bulbs using the `set_hev_cycle_state` service. The service can start or stop a HEV (or "Clean") cycle either using the default duration configured on the bulb or for a custom duration specified when calling the service. Home Assistant will return or log an error if an incompatible bulb is specified when calling the service. + +To determine whether or not a HEV cycle is currently running, Home Assistant exposes a Clean Cycle binary sensor for all HEV-enabled bulbs. This sensor can be used to trigger automations to occur when a HEV cycle starts or stops. To reduce network load, HEV cycle status is only checked every 10 seconds so this sensor may not update instantaneously. + +### Service `lifx.set_hev_cycle_state` + +| Service data attribute | Description | +| ---------------------- | ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of LIFX Clean bulbs. +| `power` | Start a HEV cycle (`True`) or stop a cycle (`False`). +| `duration` | Duration (in seconds) for the HEV cycle. The default duration of two hours (7200 seconds) is used if this attribute is omitted. + ## Light effects -The LIFX platform supports several light effects. You can start these effects with default options by using the `effect` attribute of the normal [`light.turn_on`](/integrations/light/#service-lightturn_on) service, for example like this: +The LIFX platform supports several software-controlled light effects and one hardware based effect. You can start these effects with default options by using the `effect` attribute of the normal [`light.turn_on`](/integrations/light/#service-lightturn_on) service, for example like this: ```yaml automation: @@ -78,7 +91,9 @@ script:          change: 35 ``` -The available light effects and their options are listed below. +The `lifx.effect_move` effect is hardware effect that is only available on LIFX multizone devices like the LIFX Z, Lightstrip or Beam. Note that if all the LEDs of the multizone device are set to the same color, the effect will not be visible. The effect can be stopped and started regardless of the power state of the device, but the default is to turn the device on when starting the effect. Set the `power_on` attribute of the `lifx.effect_move` service to `false` to override the default. + +All the available light effects and their options are listed below. ### Service `lifx.effect_pulse` @@ -109,23 +124,40 @@ Run an effect with colors looping around the color wheel. All participating ligh | `spread` | Maximum color difference between participating lights, in degrees on a color wheel (ranges from 0 to 359). | `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True). +### Service `lifx.effect_move` + +A harware-based effect available on LIFX multizone devices that creates a movement animation of the colors currently set on the device. The direction and speed of the animation are controlled by the `speed` and `direction` attributes. You can change the colors of the effect while it is running using the `lifx.set_state` service. + +The effect will not be visible if all LEDs on the device are set to the same color and is ignored by unsupported devices. + +| Service data attribute | Description | +| ---------------------- | ----------- | +| `entity_id` | String or list of strings that point at `entity_id`s of multizone lights. +| `speed` | Duration in seconds for the effect to travel the length of the device (min: 0.1s, max: 60s) +| `direction` | The direction in which the effect will travel, either "right" or "left" (default: right) +| `power_on` | Whether to turn the light on before starting the effect (optional, default: true) + ### Service `lifx.effect_stop` -Run an effect that does nothing, thereby stopping any other effect that might be running. +Run an effect that does nothing, thereby stopping any software or hardware effect that might be running. | Service data attribute | Description | | ---------------------- | ----------- | | `entity_id` | String or list of strings that point at `entity_id`s of lights. Use `entity_id: all` to target all. +## Infrared brightness + +Home Assistant will automatically create an Infrared Brightness configuration entity for LIFX Night Vision bulbs. Changing the state of this entity will change the brightness of the LEDs on the bulb. + ## Buttons The LIFX button platform creates two buttons for each LIFX device. -### Identify Button +### Identify button The Identify button will flash the bulb three times at maximum brightness then return the bulb to the state it was in prior. Successful identification requires the bulb to be powered on and already configured in Home Assistant. -### Restart Button +### Restart button The Restart button triggers the bulb to restart in exactly the same way as a physical power cycle, which makes it ideal for triggering a new DHCP request from the bulb. diff --git a/source/_integrations/litterrobot.markdown b/source/_integrations/litterrobot.markdown index adf1a2a3e1d3..bf8308d4f669 100644 --- a/source/_integrations/litterrobot.markdown +++ b/source/_integrations/litterrobot.markdown @@ -7,7 +7,7 @@ ha_category: - Sensor - Switch - Vacuum -ha_iot_class: Cloud Polling +ha_iot_class: Cloud Push ha_release: 2021.3 ha_config_flow: true ha_codeowners: @@ -40,6 +40,7 @@ You will need a Litter-Robot account as well as a Wi-Fi-enabled Litter-Robot or | Night Light Mode | `switch` | When turned on, automatically turns on the night light in darker settings. | | Panel Lockout | `switch` | When turned on, disables the buttons on the unit to prevent changes to settings. | | Last Seen | `sensor` | Displays the time the unit was last seen / reported an update. | +| Litter level | `sensor` | Displays the litter level, only for Litter-Robot 4. | | Pet weight | `sensor` | Displays the last measured pet weight, only for Litter-Robot 4. | | Sleep Mode Start Time | `sensor` | When sleep mode is enabled, displays the current or next sleep mode start time. | | Sleep Mode End Time | `sensor` | When sleep mode is enabled, displays the current or last sleep mode end time. | diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index bbde0afcc7ce..44e4756145f9 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -33,9 +33,19 @@ ha_integration_type: integration [Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](https://www.casetawireless.com/) product line of dimmers, switches, shades, and sensors. It will also communicate with the Lutron Radio RA2 Main Repeater for the [RA2 Select](http://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/RA2Select/Overview.aspx) product line of dimmers, switches, shades, and sensors. -This integration only supports the [Caseta](https://www.casetawireless.com/) line of products. The Smart Bridge (L-BDG2-WH), Smart Bridge PRO (L-BDGPRO2-WH), and RA2 Select (RR-SEL-REP2-BL) models are supported. For the RadioRA 2 and HomeWorks QS product lines, see the [Lutron component](/integrations/lutron/). +This integration supports the [Caséta](https://www.casetawireless.com/), [RA2 Select](https://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/RA2Select/Overview.aspx), [RadioRA 3](https://radiora3.lutron.com/), and [Homeworks QSX](https://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/Homeworks/Overview.aspx) **(not QS)** lines of products. -The currently supported Caseta and RA2 Select devices are: +Supports Bridges: + +- Lutron Caséta Smart Hub (L-BDG2-WH) +- Lutron Caséta Smart Bridge PRO (L-BDGPRO2-WH) +- RA2 Select Main Repeaters (RR-SEL-REP2-BL) +- QSX Processor (HQP7) +- RadioRA 3 All-in-One Processor (RR-PROC3) + +For the RadioRA 2 and HomeWorks QS product lines, see the [Lutron component](/integrations/lutron/). + +The currently supported devices are: - Wall and plug-in dimmers as [lights](#light) - Wall switches as [switches](#switch) @@ -128,6 +138,8 @@ After setup, scenes will appear in Home Assistant using an `entity_id` based on For more information on working with scenes in Home Assistant, see the [Scenes component](/integrations/scene/). +Scenes are not currently supported on RA3 and QSX models. + Available services: `scene.turn_on`. ## Switch diff --git a/source/_integrations/melnor.markdown b/source/_integrations/melnor.markdown index 81434fa489b3..f69941bf072c 100644 --- a/source/_integrations/melnor.markdown +++ b/source/_integrations/melnor.markdown @@ -2,6 +2,7 @@ title: Melnor Bluetooth description: Instructions on setting up Melnor Bluetooth devices within Home Assistant. ha_category: + - Sensor - Switch ha_iot_class: Local Polling ha_bluetooth: true @@ -11,6 +12,8 @@ ha_codeowners: - '@vanstinator' ha_domain: melnor ha_platforms: + - number + - sensor - switch ha_integration_type: integration --- diff --git a/source/_integrations/min_max.markdown b/source/_integrations/min_max.markdown index 41564708cc57..6b45731b1b57 100644 --- a/source/_integrations/min_max.markdown +++ b/source/_integrations/min_max.markdown @@ -17,7 +17,7 @@ ha_platforms: ha_integration_type: helper --- -The Min/Max integration consumes the state from other sensors to determine the minimum, maximum, latest (last), mean and median of the collected states. +The Min/Max integration consumes the state from other sensors to determine the minimum, maximum, latest (last), mean, median, and range of the collected states. The sensor provided by this integration will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/integrations/statistics) first. @@ -30,7 +30,7 @@ Name: Input entities: description: At least two entities to monitor. All entities must use the same unit of measurement. Type: - description: The type of the sensor, this can be either "min", "max", "last", "mean", or "median". + description: The type of the sensor, this can be either "min", "max", "last", "mean", "median", or "range". Precision: description: Round the calculated mean or median value to at most N decimal places. {% endconfiguration_basic %} @@ -57,7 +57,7 @@ entity_ids: required: true type: [list, string] type: - description: "The type of sensor: `min`, `max`, `last`, `mean` or `median`." + description: "The type of sensor: `min`, `max`, `last`, `mean`, `median`, or `range`." required: false default: max type: string diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown index 24e4c08e0e4a..07d7538f209b 100644 --- a/source/_integrations/netatmo.markdown +++ b/source/_integrations/netatmo.markdown @@ -4,11 +4,13 @@ description: Instructions on how to integrate Netatmo integration into Home Assi ha_category: - Camera - Climate + - Cover - Environment - Hub - Light - Media Source - Sensor + - Switch - Weather ha_release: '0.20' ha_iot_class: Cloud Polling @@ -20,10 +22,12 @@ ha_homekit: true ha_platforms: - camera - climate + - cover - diagnostics - light - select - sensor + - switch ha_integration_type: integration --- @@ -33,8 +37,10 @@ There is currently support for the following device types within Home Assistant: - [Camera](#camera) - [Climate](#climate) +- [Cover](#cover) - [Light](#light) - [Sensor](#sensor) +- [Switch](#switch) - [Webhook Events](#webhook-events) {% include integrations/config_flow.md %} @@ -49,21 +55,30 @@ To edit an existing area, enter its name and follow the dialog. ## Camera -The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor) or [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) camera. This integration allows you to view the current live stream created by the camera. +The `netatmo` camera platform is consuming the information provided by a [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor), [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) and [Netatmo Smart Video Doorbell](https://www.netatmo.com/en-gb/security/doorbell) camera. This integration allows you to view the current live stream created by the camera (exception: video doorbell). ## Climate -The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) or [Netatmo Smart Radiator Valve](https://www.netatmo.com/en-gb/energy/additional-valve). This integration allows you to view the current temperature and control the setpoint. +The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat), [Smart Modulating Thermostat](https://www.netatmo.com/en-gb/energy/modulating-thermostat) and [Netatmo Smart Radiator Valve](https://www.netatmo.com/en-gb/energy/additional-valve). This integration allows you to view the current temperature and control the setpoint. + +## Cover + +The `netatmo` cover platform provides support for Bubendorff shutters. ## Light The `netatmo` light platform is consuming information provided by a [Netatmo Smart Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) camera and requires an active webhook. This integration allows you to turn on/off the flood lights. +It further provides support for Legrand/BTicino dimmers. ## Sensor The `netatmo` sensor platform is consuming the information provided by a [Netatmo Smart Home Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) a [Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/en-us/aircare/homecoach) device or [Netatmo Public Weather Stations](https://weathermap.netatmo.com/). +## Switch + +The `netatmo` switch platform provides support for Legrand/BTicino switches and power plugs. + ## Services ### Set Outdoor Camera Light Mode diff --git a/source/_integrations/netgear.markdown b/source/_integrations/netgear.markdown index e9eec3f65c8b..c9f36de0cf4f 100644 --- a/source/_integrations/netgear.markdown +++ b/source/_integrations/netgear.markdown @@ -35,7 +35,13 @@ Consider_home: {% endconfiguration_basic %} ## Router entities -The NETGEAR router will have the following entities: +The NETGEAR router will have the following entities. + +Note that not all routers support all features, if a router does not support a feature, the corresponding entity will have the unavailable status even when the entity is disabled. + +You might also see the following error in the log `404 service '...', method '...' not found`, to prevent these errors, keep the unsupported entities disabled. + +All possibly unsupported entities are disabled by default. ### Reboot button @@ -49,7 +55,19 @@ Update entity to view current and latest firmware version, and install the lates The total and average amount of downloaded/uploaded data through the router can be tracked per day/week/month. In order for these entities to display the data (instead of 0), the "Traffic Meter" should be enabled in the router settings. -Log into your router > Select **ADVANCED** > **Advanced Setup** > **Traffic Meter** > **Enable Traffic Meter** check box. +Enable the `Traffic Meter` switch entity and turn it on. + +### Router feature switches + +The following router features can be turned on/off, and the status can be read: + +- Access Control +- Traffic Meter +- Parental Control +- Quality of Service +- 2.4G Guest Wifi +- 5G Guest Wifi +- Smart Connect ### Speed test data @@ -77,7 +95,7 @@ Displays if the device is currently connected to the router (Home) or not (Away) Switch that lets you Allow or Block a device on the Network. For this entity to actually Block the device, "Access Control" needs to be turned on in the Router settings. -Log into your router > Select **ADVANCED** > **Security** > **Access Control** > **Turn on Access Control** check box. +Enable the `Access Control` switch entity and turn it on. ### Signal strength diff --git a/source/_integrations/nobo_hub.markdown b/source/_integrations/nobo_hub.markdown new file mode 100644 index 000000000000..c09a5a4567f0 --- /dev/null +++ b/source/_integrations/nobo_hub.markdown @@ -0,0 +1,51 @@ +--- +title: Nobø Ecohub +description: Instructions on how to integrate Nobø Ecohub into Home Assistant. +ha_category: Climate +ha_release: 2021.10 +ha_iot_class: Local Push +ha_config_flow: true +ha_codeowners: +- '@echoromeo' +- '@oyvindwe' +ha_domain: nobo_hub +ha_platforms: +- climate +--- + +Integrates [Nobø Ecohub](https://www.glendimplex.no/produkter/varmestyring/11123610/noboe-hub/c-77/p-330) +into Home Assistant. This integration is not officially supported or endorsed by Glen Dimplex Nordic AS, +and the authors/maintainers are not official partners of Glen Dimplex Nordic AS. + +To configure the integration, you need the 3 last digits of the serial number of your hub. These are located +on the back of the hub. If the hub is on a different local network than Home Assistant, you also need the +IP address of the hub. + +{% include integrations/config_flow.md %} + +## Operation modes + +As for now you can see and change operation and preset for zones and set eco/comfort temperatures if you have +a supported thermostat. + +The possible operation modes are as follows: + +- "Auto" - In this mode, the zone is in the normal setting and preset shows which state the zone is in right now + (according to calendar setup). +- "Heat" - In this mode the zone in the override setting and in the state selected by preset ("Away", "Eco" + or "Comfort"). + +This can be utilized the following ways: + +- Changing preset to "Away", "Eco", or "Comfort" will automatically change operation to "Heat". +- Changing preset to none will automatically change operation to "Auto" and update preset. +- Changing operation to "Auto" will automatically update preset. +- Changing operation to "Heat" will set preset to "Comfort". + +### No preset "Off" + +Nobø heaters does not support preset "Off". This is not a limitation in the integration, but a safety mechanism in the +Nobø system (maybe they don't want you to accidentally turn off all your heaters and get frozen pipes). "Away" +temperature is fixed to 7°C and cannot be altered. On/off receivers will be off when the zone is in "Away" status. + +For more information, see the [Nobø Ecohub manual](https://help.nobo.no/en/user-manual/before-you-start/what-is-a-weekly-program/). diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown index 8707ef244f60..99a53c303a3c 100644 --- a/source/_integrations/plugwise.markdown +++ b/source/_integrations/plugwise.markdown @@ -176,14 +176,14 @@ script: The current implementation of the Python module (Plugwise-Smile) includes: -Adam (zone_control): +Adam (zone_control) with On/Off, OpenTherm, and Loria/Thermastage heating and cooling support: - v3.x - v2.3 - - Devices supported are Anna, Lisa, Jip, Floor, Tom, Koen and Plug - note a Koen always comes with a Plug (the active part) + - Devices supported are Anna, Lisa, Jip, Floor, Tom, Plug, Aqara Smart Plug, and Koen (a Koen always comes with a Plug, the active part) -Anna (thermostat): +Anna (thermostat) with OpenTherm heating, and Elga and Loria/Thermastage with heating and cooling support: - v4.x - v3.x diff --git a/source/_integrations/radarr.markdown b/source/_integrations/radarr.markdown index dfd7a5186d22..4383e8684a65 100644 --- a/source/_integrations/radarr.markdown +++ b/source/_integrations/radarr.markdown @@ -4,157 +4,30 @@ description: Instructions on how to integrate Radarr sensors with Home Assistant ha_category: - Downloading ha_release: 0.47 +ha_config_flow: true ha_iot_class: Local Polling ha_domain: radarr ha_platforms: + - binary_sensor - sensor +ha_codeowners: + - '@tkdrob' ha_integration_type: integration --- -This `radarr` sensor platform pulls data from a given [Radarr](https://radarr.video/) instance. +This Radarr integration pulls data from a given [Radarr](https://radarr.video/) instance. +Your API key can be found in Settings > General in the Radarr Web UI. -## Configuration +{% include integrations/config_flow.md %} -To use your Radarr sensor in your installation, add the following to your `configuration.yaml` file: +## Integration Entities -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY -``` +Each added configuration entry will create the following binary sensor: -{% configuration %} -api_key: - required: true - type: string - description: Your Radarr API key, found in Settings > General in the Radarr Web UI. -host: - required: false - type: string - description: The host Radarr is running on. - default: "`localhost`" -port: - required: false - type: integer - description: The port Radarr is running on. - default: 7878 -urlbase: - required: false - type: string - description: The base URL Radarr is running under. Defaults to `/`. -monitored_conditions: - required: false - type: list - description: Conditions to display on the frontend. - default: "`movies`" - keys: - movies: - description: The number of movies in Radarr. - upcoming: - description: The number of upcoming movie releases (physical and in cinemas). - commands: - description: The number of commands being run. - diskspace: - description: The available disk space. - status: - description: The current system status information. -days: - required: false - type: integer - description: How many days to look ahead for the upcoming sensor, 1 means today only. - default: 1 -include_paths: - required: false - type: list - description: Array of file paths to include when calculating diskspace. Leave blank to include all. -unit: - required: false - type: string - description: The unit to display disk space in. - default: GB -ssl: - required: false - type: boolean - description: Whether or not to use SSL for Radarr. - default: false -{% endconfiguration %} +- **Health**: Shows if the Radarr instance is healthy. This is determined to have a problem if Radarr cannot communicate with any enabled download clients or no indexers are available for RSS feeds or searches. -## Examples +Each added configuration entry will create the following sensors: -In this section you find some real-life examples of how to use this sensor. - -### Show upcoming movie releases in the next 2 days - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - monitored_conditions: - - upcoming - days: 2 -``` - -### Enable SSL - -SSL may run on a different port than the default (7878). The SSL port can be bound to any port in Radarr, so it should be set in the configuration here (unless it is changed to 7878). - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - port: 9898 - monitored_conditions: - - upcoming - days: 2 - ssl: true -``` - -### Get disk space for all storage locations - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - monitored_conditions: - - diskspace -``` - -### Get disk space for listed storage locations - -The storage locations Radarr returns are in the system page and in some cases this can list duplicates if sub paths are mounted separately. By listing paths to include, you can choose what data is reported by the sensor. - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - monitored_conditions: - - diskspace - include_paths: - - /tank/plex -``` - -### Get disk space in different unit - -The Radarr API returns available space in bytes, but this sensor will default to reporting it in GB to make the number more manageable. This can be overridden if your storage needs require a different unit. All units from bytes (B) to yottabytes (YB) are supported. - -*This calculation is done using base 2 math, and may differ from systems calculating using base 10 math.* - -```yaml -# Example configuration.yaml entry -sensor: - - platform: radarr - api_key: YOUR_API_KEY - host: 192.168.1.8 - monitored_conditions: - - diskspace - unit: TB -``` +- **Disk Space**: Shows the disk space available to Radarr. +- **Movies**: Shows the number of movies in the Radarr database. (disabled by default) +- **Start Time**: The time when Radarr was last restarted. diff --git a/source/_integrations/risco.markdown b/source/_integrations/risco.markdown index 6530dcf56f1f..00c29eee796b 100644 --- a/source/_integrations/risco.markdown +++ b/source/_integrations/risco.markdown @@ -42,7 +42,7 @@ If you have multiple sites, only the first site will be used. The integration will connect locally to your system. No dependency on the cloud, and instantaneous updates, but is harder to set up. -You will need the master code to your system, and with older models, +You will need the panel access code (default 5678) to your system, this access code is NOT the same as the installer/subinstaller code, and with older models, you might need to either disconnect your system from the cloud, or set up a proxy that will allow you to connect both locally and via the cloud. The local version of the integration does not support events, and the `arming` state. diff --git a/source/_integrations/sensor.markdown b/source/_integrations/sensor.markdown index 713343e6ae9e..5f7c40775553 100644 --- a/source/_integrations/sensor.markdown +++ b/source/_integrations/sensor.markdown @@ -27,12 +27,14 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T - **carbon_monoxide**: Carbon Monoxide in CO (Gas CNG/LPG) - **current**: Current in A - **date**: Date string (ISO 8601) +- **distance**: Generic distance in km, m, cm, mm, mi, yd, or in - **duration**: Duration in days, hours, minutes or seconds - **energy**: Energy in Wh, kWh or MWh - **frequency**: Frequency in Hz, kHz, MHz or GHz - **gas**: Gasvolume in m³ or ft³ - **humidity**: Percentage of humidity in the air - **illuminance**: The current light level in lx or lm +- **moisture**: Percentage of water in a substance - **monetary**: The monetary value - **nitrogen_dioxide**: Concentration of Nitrogen Dioxide in µg/m³ - **nitrogen_monoxide**: Concentration of Nitrogen Monoxide in µg/m³ @@ -43,14 +45,17 @@ The type of data a sensor returns impacts how it is displayed in the frontend. T - **pm25**: Concentration of particulate matter less than 2.5 micrometers in µg/m³ - **power_factor**: Power factor in % - **power**: Power in W or kW -- **pressure**: Pressure in Pa, kPa, hPa, bar, cbar, mbar, mmHg, inHg or psi +- **pressure**: Pressure in Pa, kPa, hPa, bar, cbar, mbar, mmHg, inHg, or psi - **reactive_power**: Reactive power in var - **signal_strength**: Signal strength in dB or dBm +- **speed**: Generic speed in ft/s, in/d, in/h, km/h, kn, m/s, mph, or mm/d - **sulphur_dioxide**: Concentration of sulphur dioxide in µg/m³ - **temperature**: Temperature in °C or °F - **timestamp**: Datetime object or timestamp string (ISO 8601) - **volatile_organic_compounds**: Concentration of volatile organic compounds in µg/m³ - **voltage**: Voltage in V +- **volume**: Generic volume in L, mL, gal, fl. oz., m³, or ft³ +- **weight**: Generic mass in kg, g, mg, µg, oz, or lb

diff --git a/source/_integrations/simplisafe.markdown b/source/_integrations/simplisafe.markdown index 59f9fffde745..8fbcbfec86ba 100644 --- a/source/_integrations/simplisafe.markdown +++ b/source/_integrations/simplisafe.markdown @@ -5,6 +5,7 @@ ha_release: 0.81 ha_iot_class: Cloud Polling ha_category: - Alarm + - Button - Lock ha_config_flow: true ha_codeowners: @@ -13,6 +14,7 @@ ha_domain: simplisafe ha_platforms: - alarm_control_panel - binary_sensor + - button - diagnostics - lock - sensor @@ -53,12 +55,6 @@ SimpliSafe authenticates users via its web app. Due to technical limitations, th ## Services -### `simplisafe.clear_notifications` - -Clear any existing notifications within the SimpliSafe cloud; this will mark existing -notifications as "read" in the SimpliSafe web and mobile apps, as well as prevent them -from triggering future `SIMPLISAFE_NOTIFICATION` events. - ### `simplisafe.remove_pin` Remove a SimpliSafe PIN (by label or PIN value). diff --git a/source/_integrations/switchbee.markdown b/source/_integrations/switchbee.markdown new file mode 100644 index 000000000000..94a5155a804e --- /dev/null +++ b/source/_integrations/switchbee.markdown @@ -0,0 +1,35 @@ +--- +title: SwitchBee +description: Instructions for how to integrate SwitchBee accessories within Home Assistant. +ha_category: + - Switch + - Light + - Button +ha_release: 2022.10 +ha_iot_class: local Polling +ha_config_flow: true +ha_codeowners: + - '@jafar-atili' +ha_domain: switchbee +ha_platforms: + - switch + - light + - button + +ha_integration_type: integration +--- + +[SwitchBee](https://www.switchbee.com), is an innovation company making smart homes more accessible and affordable to any household environment. + +There is currently support for the following device types: + +- Switch +- Timed Power Switch (Boiler) +- Group Switch +- Timed Switch +- Light (Dimmer) +- Scenario + +Supported devices will be discovered after the SwitchBee integration is configured. + +{% include integrations/config_flow.md %} diff --git a/source/_integrations/switcher_kis.markdown b/source/_integrations/switcher_kis.markdown index 60f1f668e693..8687f8d32d50 100644 --- a/source/_integrations/switcher_kis.markdown +++ b/source/_integrations/switcher_kis.markdown @@ -26,6 +26,7 @@ Supported devices: - Switcher V2 (Espressif chipset - from firmware 3.21) - Switcher V2 (Qualcomm chipset - from firmware 72.32) - Switcher V4 +- Switcher Breeze If you completed the integration setup but are still unable to control the device, please make sure your device's firmware is up-to-date. @@ -66,5 +67,5 @@ Note: This does not affect the auto off timer. ## Notes -Make sure that Home Assistant host's firewall allows incoming traffic on UDP port 20002 and outgoing connections to Switcher device(s) on TCP port 9957. +Make sure that Home Assistant host's firewall allows incoming traffic on UDP ports 20002 & 20003 and outgoing connections to Switcher device(s) on TCP ports 9957 & 10000. If Home Assistant and the Switcher device(s) are not on the same network, you will also need to have their traffic properly forwarded between the two networks. diff --git a/source/_integrations/tilt_ble.markdown b/source/_integrations/tilt_ble.markdown new file mode 100644 index 000000000000..84e6f28b37cd --- /dev/null +++ b/source/_integrations/tilt_ble.markdown @@ -0,0 +1,26 @@ +--- +title: Tilt Hydrometer Bluetooth +description: Instructions on how to integrate Tilt Hydrometer BLE devices into Home Assistant. +ha_category: + - Sensor +ha_bluetooth: true +ha_release: "2022.10" +ha_iot_class: Local Push +ha_codeowners: + - '@apt-itude' +ha_domain: tilt_ble +ha_config_flow: true +ha_platforms: + - sensor +ha_integration_type: integration +--- + +Integrates [Tilt Hydrometer](https://tilthydrometer.com/) BLE devices into Home Assistant. + +{% include integrations/config_flow.md %} + +The Tilt Hydrometer BLE integration will automatically discover devices once the [Bluetooth](/integrations/bluetooth) integration is enabled and functional. + +## Supported devices + +- [Tilt Hydrometer and Thermometer](https://tilthydrometer.com/products/copy-of-tilt-floating-wireless-hydrometer-and-thermometer-for-brewing) (all colors) diff --git a/source/_integrations/universal.markdown b/source/_integrations/universal.markdown index 0cc899d74948..a74f58b05ab0 100644 --- a/source/_integrations/universal.markdown +++ b/source/_integrations/universal.markdown @@ -58,6 +58,7 @@ media_player: is_volume_muted: ENTITY_ID|ATTRIBUTE state: ENTITY_ID|ATTRIBUTE device_class: tv + unique_id: a_unique_string ``` {% configuration %} @@ -85,6 +86,10 @@ device_class: description: The device class that this entity represents. Can be `tv`, `speaker`, or `receiver`. required: false type: string +unique_id: + description: A unique identifier for this entity. Needs to be unique within the `media_player` platform. + required: false + type: string {% endconfiguration %} The Universal Media Player will primarily imitate one of its `children`. The Universal Media Player will control the first child on the list that is active (not idle/off). The Universal Media Player will also inherit its state from the first active child if a `state_template` is not provided. Entities in the `children:` list must be media players, but the state template can contain any entity. @@ -305,6 +310,7 @@ media_player: data: activity: "{{ source }}" device_class: tv + unique_id: media_room_harmony_hub ``` {% endraw %} diff --git a/source/_integrations/uscis.markdown b/source/_integrations/uscis.markdown deleted file mode 100644 index fb8edd1bb746..000000000000 --- a/source/_integrations/uscis.markdown +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: U.S. Citizenship and Immigration Services (USCIS) -description: Instructions on how to set up USCIS within Home Assistant. -ha_category: - - Sensor -ha_release: 0.68 -ha_iot_class: Cloud Polling -ha_domain: uscis -ha_platforms: - - sensor -ha_integration_type: integration ---- - -

- This integration is pending removal from Home Assistant and will be no longer available as of Home Assistant 2022.10. -
- -The `uscis` sensor integration allows you get updates on your USCIS case using your case/receipt number. The sensor gets the case information from the [USCIS Website](https://egov.uscis.gov/casestatus/landing.do). - -## Configuration - -To use this sensor in your installation, add the following to your `configuration.yaml` file: - -```yaml -sensor: - - platform: uscis - case_id: YOUR_CASE_NUMBER - name: OPTIONAL_NAME -``` - -{% configuration %} -name: - description: Name of the sensor in Home Assistant. - required: false - default: USCIS - type: string -case_id: - description: Case/receipt number used to get the case details from the USCIS web client. - required: true - type: string -{% endconfiguration %} - -All the data will be fetched from [USCIS](https://egov.uscis.gov/casestatus/mycasestatus.do). diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index 94f9f296ad02..e97fab09ca3e 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -180,6 +180,8 @@ Some devices can be auto-discovered, which can simplify the ZHA setup process. T | [slae.sh CC2652RB development stick](https://slae.sh/projects/cc2652/) | USB | 10C4:EA60 | | [ZigStar Stick (CC2652 + CH340B variant)](https://zig-star.com/projects/zigbee-stick-v4/) | USB | 1A86:7523 | | [Tube’s EFR32 Pro Ethernet/Serial Coordinator](https://www.tubeszb.com/) | USB| 10C4:EA60 | +| [ZigStar Coordinators](https://zig-star.com/) | USB| 1A86:7523 | +| [ZigStar LAN/POE Coordinators ](https://zig-star.com/projects/zigbee-gw-lan/) | Zeroconf | zigstargw.local. | | [Tube's CC2652P2 USB-powered Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2.local. | | [Tube's CC2652P2 PoE-powered Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_cc2652p2_poe.local. | | [Tube's EFR32 Based Zigbee to Ethernet Serial Coordinator)](https://www.tubeszb.com/) | Zeroconf | tube_zb_gw_efr32.local. | diff --git a/source/_redirects b/source/_redirects index 4d66c47245f3..302391c0bc17 100644 --- a/source/_redirects +++ b/source/_redirects @@ -411,6 +411,7 @@ # Removed integrations /integrations/alarmdotcom /more-info/removed-integration 301 +/integrations/ambee /more-info/removed-integration 301 /integrations/apns /more-info/removed-integration 301 /integrations/arlo /more-info/removed-integration 301 /integrations/arduino /more-info/removed-integration 301 @@ -434,6 +435,7 @@ /integrations/envirophat /more-info/removed-integration 301 /integrations/essent /more-info/removed-integration 301 /integrations/fedex /more-info/removed-integration 301 +/integrations/flunearyou /more-info/removed-integration 301 /integrations/fortigate /more-info/removed-integration 301 /integrations/fritzbox_netmonitor /more-info/removed-integration 301 /integrations/garmin_connect /more-info/removed-integration 301 @@ -502,6 +504,7 @@ /integrations/uber /more-info/removed-integration 301 /integrations/updater /more-info/removed-integration 301 /integrations/ups /more-info/removed-integration 301 +/integrations/uscis /more-info/removed-integration 301 /integrations/usps /more-info/removed-integration 301 /integrations/weblink /more-info/removed-integration 301 /integrations/wink /more-info/removed-integration 301 diff --git a/source/dashboards/views.markdown b/source/dashboards/views.markdown index 77b645a5a58f..9a6294216a63 100644 --- a/source/dashboards/views.markdown +++ b/source/dashboards/views.markdown @@ -125,6 +125,28 @@ frontend: lovelace-background: center / cover no-repeat url("/local/background.png") fixed ``` +## Subview + +View can be marked as "Subview". Subviews won’t show up in the navigation bar. When on the subview, the navigation bar only show the name of the subview and a back button. +By default, clicking on back button will navigate to the previous view but a custom back path (`back_path`) can be set. + +#### Example + +Simple subview: + +```yaml +- title: Map + subview: true +``` + +Subview with custom back path: + +```yaml +- title: Map + subview: true + back_path: /lovelace/home +``` + {% configuration views %} views: required: true @@ -170,6 +192,15 @@ views: description: "Hide/show the view tab from all users or a list of individual `visible` objects." type: [boolean, list] default: true + subview: + required: false + description: Mark the view as "Subview", more info below. + type: boolean + default: false + back_path: + required: false + description: Only for subview. Path to navigate when clicking on back button, more info below. + type: string {% endconfiguration %} #### Example