Merge branch 'rc' into current
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,11 +1,11 @@
|
||||
**Description:**
|
||||
|
||||
|
||||
**Pull request in [home-assistant](https://github.com/home-assistant/home-assistant) (if applicable):** home-assistant/home-assistant#<home-assistant PR number goes here>
|
||||
**Pull request in home-assistant (if applicable):** home-assistant/home-assistant#<home-assistant PR number goes here>
|
||||
|
||||
## Checklist:
|
||||
|
||||
- [ ] Branch: `next` is for changes and new documentation that will go public with the next [home-assistant](https://github.com/home-assistant/home-assistant) release. Fixes, changes and adjustments for the current release should be created against `current`.
|
||||
- [ ] Branch: `next` is for changes and new documentation that will go public with the next Home Assistant release. Fixes, changes and adjustments for the current release should be created against `current`.
|
||||
- [ ] The documentation follows the [standards][standards].
|
||||
|
||||
[standards]: https://developers.home-assistant.io/docs/documentation_standards.html
|
||||
|
2
Gemfile
@ -19,4 +19,4 @@ group :jekyll_plugins do
|
||||
end
|
||||
|
||||
gem 'sinatra', '2.0.6'
|
||||
gem 'nokogiri', '1.10.3'
|
||||
gem 'nokogiri', '1.10.4'
|
||||
|
@ -74,7 +74,7 @@ GEM
|
||||
mini_portile2 (2.4.0)
|
||||
multi_json (1.13.1)
|
||||
mustermann (1.0.3)
|
||||
nokogiri (1.10.3)
|
||||
nokogiri (1.10.4)
|
||||
mini_portile2 (~> 2.4.0)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
@ -118,7 +118,7 @@ DEPENDENCIES
|
||||
jekyll-redirect-from (= 0.15.0)
|
||||
jekyll-sitemap (= 1.3.1)
|
||||
jekyll-time-to-read (= 0.1.2)
|
||||
nokogiri (= 1.10.3)
|
||||
nokogiri (= 1.10.4)
|
||||
rake (= 12.3.3)
|
||||
sass-globbing (= 1.1.5)
|
||||
sinatra (= 2.0.6)
|
||||
|
@ -98,9 +98,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 97
|
||||
current_patch_version: 2
|
||||
date_released: 2019-08-12
|
||||
current_minor_version: 98
|
||||
current_patch_version: 0
|
||||
date_released: 2019-08-28
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -92,6 +92,11 @@ device_class:
|
||||
required: false
|
||||
default: auto
|
||||
type: string
|
||||
state_detection_rules:
|
||||
description: A dictionary whose keys are app IDs and whose values are lists of state detection rules; see the section [Custom State Detection](#custom-state-detection) for more info.
|
||||
required: false
|
||||
default: {}
|
||||
type: map
|
||||
turn_on_command:
|
||||
description: An ADB shell command that will override the default `turn_on` command.
|
||||
required: false
|
||||
@ -108,7 +113,8 @@ turn_off_command:
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
# Use an ADB server to setup an Android TV device, provide
|
||||
# an app name, and override the default turn on/off commands
|
||||
# an app name, override the default turn on/off commands,
|
||||
# and provide custom state detection rules
|
||||
- platform: androidtv
|
||||
name: Android TV
|
||||
device_class: androidtv
|
||||
@ -118,6 +124,21 @@ media_player:
|
||||
com.amazon.tv.launcher: "Fire TV"
|
||||
turn_on_command: "input keyevent 3"
|
||||
turn_off_command: "input keyevent 223"
|
||||
state_detection_rules:
|
||||
'com.amazon.tv.launcher':
|
||||
- 'standby'
|
||||
'com.netflix.ninja':
|
||||
- 'media_session_state'
|
||||
'com.ellation.vrv':
|
||||
- 'audio_state'
|
||||
'com.plexapp.android':
|
||||
- 'playing':
|
||||
'media_session_state': 3 # this indentation is important!
|
||||
'wake_lock_size': 3 # this indentation is important!
|
||||
- 'paused':
|
||||
'media_session_state': 3 # this indentation is important!
|
||||
'wake_lock_size': 1 # this indentation is important!
|
||||
- 'standby'
|
||||
|
||||
# Use the Python ADB implementation with authentication
|
||||
# to setup a Fire TV device and don't get the running apps
|
||||
@ -235,3 +256,18 @@ Available key commands include:
|
||||
The full list of key commands can be found [here](https://github.com/JeffLIrion/python-androidtv/blob/bf1058a2f746535921b3f5247801469c4567e51a/androidtv/constants.py#L143-L186).
|
||||
|
||||
You can also use the command `GET_PROPERTIES` to retrieve the properties used by Home Assistant to update the device's state. These will be stored in the media player's `'adb_response'` attribute and logged at the INFO level, this information can be used to help improve state detection in the backend [androidtv](https://github.com/JeffLIrion/python-androidtv) package.
|
||||
|
||||
## Custom State Detection
|
||||
|
||||
The `state_detection_rules` configuration parameter allows you to provide your own rules for state detection. The keys are app IDs, and the values are lists of rules that are evaluated in order. Valid rules are:
|
||||
|
||||
* `'standby'`, `'playing'`, `'paused'`, `'idle'`, `'stopped'`, or `'off'`
|
||||
* If this is not a map, then this state will always be reported when this app is the current app
|
||||
* If this is a map, then its entries are conditions that will be checked. If all of the conditions are true, then this state will be reported. Valid conditions pertain to 3 properties (see the example configuration above):
|
||||
1. ``'media_session_state'``
|
||||
2. ``'audio_state'``
|
||||
3. ``'wake_lock_size'``
|
||||
* `'media_session_state'` = try to use the `media_session_state` property to determine the state
|
||||
* `'audio_state'` = try to use the `audio_state` property to determine the state
|
||||
|
||||
To determine what these rules should be, you can use the `androidtv.adb_command` service with the command `GET_PROPERTIES`, as described in the [androidtv.adb_command](#androidtvadb_command) section.
|
||||
|
@ -66,6 +66,15 @@ sensors:
|
||||
description: Defines a template for the entity picture of the sensor.
|
||||
required: false
|
||||
type: template
|
||||
attribute_templates:
|
||||
description: Defines templates for attributes of the sensor.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
"attribute: template":
|
||||
description: The attribute and corresponding template.
|
||||
required: true
|
||||
type: template
|
||||
delay_on:
|
||||
description: The amount of time the template state must be ***met*** before this sensor will switch to `on`.
|
||||
required: false
|
||||
@ -210,6 +219,35 @@ binary_sensor:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Device Tracker sensor with Latitude and Longitude Attributes
|
||||
|
||||
This example shows how to combine an non-GPS (e.g. NMAP) and GPS device tracker while still including latitude and longitude attributes
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
my_device:
|
||||
value_template: >-
|
||||
{{ is_state('device_tracker.my_device_nmap','home') or is_state('device_tracker.my_device_gps','home') }}
|
||||
device_class: 'presence'
|
||||
attribute_templates:
|
||||
latitude: >-
|
||||
{% if is_state('device_tracker.my_device_nmap','home') %}
|
||||
{{ state_attr('zone.home','latitude') }}
|
||||
{% else %}
|
||||
{{ state_attr('device_tracker.my_device_gps','latitude') }}
|
||||
{% endif %}
|
||||
longitude: >-
|
||||
{% if is_state('device_tracker.my_device_nmap','home') %}
|
||||
{{ state_attr('zone.home','longitude') }}
|
||||
{% else %}
|
||||
{{ state_attr('device_tracker.my_device_gps','longitude') }}
|
||||
{% endif %}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### Change the icon when state changes
|
||||
|
||||
This example demonstrates how to use `icon_template` to change the entity's
|
||||
|
@ -149,6 +149,11 @@ timeout:
|
||||
description: Timeout in seconds for the connection to the device.
|
||||
required: false
|
||||
type: integer
|
||||
retry:
|
||||
description: Retry times for fetch data if failed.
|
||||
required: false
|
||||
type: integer
|
||||
default: 2
|
||||
friendly_name:
|
||||
description: The name used to display the switch in the frontend.
|
||||
required: false
|
||||
@ -216,6 +221,7 @@ switch:
|
||||
host: 192.168.1.2
|
||||
mac: 'B4:43:0D:CC:0F:58'
|
||||
timeout: 15
|
||||
retry: 5
|
||||
switches:
|
||||
# Will work on most Phillips TVs:
|
||||
tv_phillips:
|
||||
@ -263,6 +269,7 @@ switch:
|
||||
host: IP_ADDRESS
|
||||
mac: 'MAC_ADDRESS'
|
||||
type: sp2
|
||||
retry: 5
|
||||
friendly_name: 'Humidifier'
|
||||
```
|
||||
|
||||
|
@ -44,8 +44,8 @@ supported_modes:
|
||||
description: Heat mode.
|
||||
cool:
|
||||
description: Cool mode.
|
||||
auto:
|
||||
description: Auto mode.
|
||||
heat_cool:
|
||||
description: Heat/Cool mode (CoolMasterNet refers to it as Auto).
|
||||
dry:
|
||||
description: Dry mode.
|
||||
fan_only:
|
||||
|
@ -39,8 +39,6 @@ To get the webhook URL, go to the integrations page in the configuration screen
|
||||
- Click on "Create Agent"
|
||||
- Select name, language (if you are planning to use Google Actions check their [supported languages](https://support.google.com/assistant/answer/7108196?hl=en)) and time zone
|
||||
- Click "Save"
|
||||
- Go to project settings (cog symbol in left menu)
|
||||
- under "API VERSION" click on "V1 API"
|
||||
- Now go to "Fulfillment" (in the left menu)
|
||||
- Enable Webhook and set your Dialogflow webhook url as the endpoint, e.g., `https://myhome.duckdns.org/api/webhook/800b4cb4d27d078a8871656a90854a292651b20635685f8ea23ddb7a09e8b417`
|
||||
- Click "Save"
|
||||
@ -53,6 +51,12 @@ To get the webhook URL, go to the integrations page in the configuration screen
|
||||
- On the top right, where is written "Try it now...", write, or say, the phrase you have previously defined and hit enter
|
||||
- Dialogflow has send a request to your Home Assistant server
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
The V1 api will be deprecated on October 23, 2019. If you are still using the V1 API, it is recommended to change your settings in Dialogflow to use the V2 API. No changes to your intents yaml configuration need to take place after upgrading to the V2 API. Change to the V2 API by clicking on the cog button [here](https://console.dialogflow.com/) and then select the V2 API.
|
||||
|
||||
</div>
|
||||
|
||||
Take a look to "Integrations", in the left menu, to configure third parties.
|
||||
|
||||
### Configuring Home Assistant
|
||||
|
@ -140,6 +140,17 @@ The _HVAC mode_ of the device is the currently active operational
|
||||
modes that the Ecobee thermostat provides: heat, auxHeatOnly, cool,
|
||||
auto, and off.
|
||||
|
||||
## Attributes
|
||||
|
||||
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 seperated list of equipment that is currently running.
|
||||
| `fan_min_on_time` | The minimum amount of minutes that the fan will be on when it's turned on.
|
||||
|
||||
## Services
|
||||
|
||||
Besides the standard services provided by the Home Assistant [Climate](https://www.home-assistant.io/components/climate/) integration, the following extra service is provided by the Ecobee Thermostat: `resume_program`.
|
||||
|
@ -1,51 +0,0 @@
|
||||
---
|
||||
title: "EDP re:dy"
|
||||
description: "Instructions on how to integrate the EDP re:dy platform into Home Assistant."
|
||||
logo: edp_redy.png
|
||||
ha_category:
|
||||
- Hub
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_release: 0.79
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
- /components/sensor.edp_redy/
|
||||
- /components/switch.edp_redy/
|
||||
---
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
The API of this integration has been stopped and will therefore be removed in a future release. See also [this pull request](https://github.com/home-assistant/home-assistant/pull/25971)
|
||||
|
||||
</div>
|
||||
|
||||
[EDP re:dy](https://www.edp.pt/particulares/servicos/redy/) is a Home Automation platform from Portuguese energy provider EDP, that allows control of appliances and other devices, as well as monitoring power consumption. This integration allows integrating EDP re:dy into Home Assistant.
|
||||
|
||||
## Configuration
|
||||
|
||||
You will need your re:dy login information (username and password) to use this component.
|
||||
|
||||
To set it up, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
edp_redy:
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The username for accessing your re:dy account.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for accessing your re:dy account.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
After configuring the component, it will automatically add to Home Assistant:
|
||||
|
||||
* A switch per toggleable device (switch, plug, etc).
|
||||
* A sensor per each device that reports power consumption (SmartMeter, plug, meter)
|
@ -10,6 +10,14 @@ redirect_from:
|
||||
- /components/sensor.fedex/
|
||||
---
|
||||
|
||||
<div class="note warning">
|
||||
|
||||
This integration is deprecated and will be removed in Home Assistant 0.100.0.
|
||||
|
||||
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
|
||||
|
||||
</div>
|
||||
|
||||
The `fedex` platform allows one to track deliveries by [FedEx](http://www.fedex.com/). To use this sensor, you need a [FedEx Delivery Manager](https://www.fedex.com/us/delivery/) account.
|
||||
|
||||
## Configuration
|
||||
|
@ -9,7 +9,7 @@ ha_iot_class: Local Polling
|
||||
ha_release: 0.96
|
||||
---
|
||||
|
||||
The `fronius` sensor will poll a [Fronius](http://www.fronius.com/) solar inverter, battery system or smart meter and present the values as sensors (or attributes of sensors) in Home Assistant.
|
||||
The `fronius` sensor polls a [Fronius](http://www.fronius.com/) solar inverter, battery system or smart meter and present the values as sensors in Home Assistant.
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -33,7 +33,7 @@ monitored_conditions:
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
type:
|
||||
sensor_type:
|
||||
description: "The kind of device, can be one of \"inverter\", \"storage\", \"meter\", or \"power_flow\""
|
||||
required: true
|
||||
type: string
|
||||
@ -48,6 +48,44 @@ monitored_conditions:
|
||||
default: "\"1\" for inverters and \"0\" for other devices such as storages in compliance with Fronius Specs"
|
||||
{% endconfiguration %}
|
||||
|
||||
## Monitored data
|
||||
|
||||
Each sensor type chosen as monitored condition adds a set of sensors to Home Assistant.
|
||||
|
||||
- `power_flow`
|
||||
|
||||
Cumulative data such as the energy produced in the current day or year and overall produced energy.
|
||||
Also, live values such as:
|
||||
|
||||
- Power fed to the grid (if positive) or taken from the grid (if negative).
|
||||
- Power load as a generator (if positive) or consumer (if negative).
|
||||
- Battery charging power (if positive) or discharging power (if negative) and information about backup or standby mode.
|
||||
- Photovoltaic production.
|
||||
- Current relative self-consumption of produced energy.
|
||||
- Current relative autonomy.
|
||||
|
||||
- `inverter`
|
||||
|
||||
Cumulative data such as the energy produced in the current day or year and overall produced energy.
|
||||
Also, live values about AC/DC power, current, voltage and frequency.
|
||||
The data is only shown when choosing device scope.
|
||||
|
||||
- `meter`
|
||||
|
||||
Detailed information about power, current and voltage, if supported split among the phases.
|
||||
The data is only shown when choosing device scope.
|
||||
|
||||
- `storage`
|
||||
|
||||
Detailed information about current, voltage, state, cycle count, capacity and more about installed batteries.
|
||||
|
||||
Note that some data (like photovoltaic production) is only provided by the Fronius device when non-zero.
|
||||
The corresponding sensors are added to Home Assistant as entities as soon as they are available.
|
||||
This means for example that when Home Assistant is started at night,
|
||||
there might be no sensor providing photovoltaic related data.
|
||||
This does not need to be problematic as the values will be added on sunrise,
|
||||
when the Fronius devices begins providing the needed data.
|
||||
|
||||
## Examples
|
||||
|
||||
When including more of the components that one Fronius device offers,
|
||||
@ -68,31 +106,3 @@ sensor:
|
||||
device: 0
|
||||
- sensor_type: power_flow
|
||||
```
|
||||
|
||||
## Sensors configuration
|
||||
|
||||
To extract more detailed values from the state of each integrated sensor and to circumvent undefined values,
|
||||
it is recommended to use template sensors as an interface:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
- platform: template
|
||||
sensors:
|
||||
electricity_inverter1_power_netto:
|
||||
unit_of_measurement: 'W'
|
||||
value_template: >-
|
||||
{% if states.sensor.fronius_1921684247_inverter_1.attributes.power_ac is defined -%}
|
||||
{{ states_attr('sensor.fronius_1921684247_inverter_1', 'power_ac') | float | round(2) }}
|
||||
{%- else -%}
|
||||
0
|
||||
{%- endif %}
|
||||
electricity_autonomy:
|
||||
unit_of_measurement: '%'
|
||||
value_template: >-
|
||||
{% if states.sensor.fronius_1921684247_power_flow.attributes.relative_autonomy is defined -%}
|
||||
{{ states_attr('sensor.fronius_1921684247_power_flow', 'relative_autonomy') | float | round(2) }}
|
||||
{%- else -%}
|
||||
0
|
||||
{%- endif %}
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -16,6 +16,7 @@ The [Geolocation trigger](/docs/automation/trigger/#geolocation-trigger) can be
|
||||
| Platform | Source |
|
||||
|---------------------------------------------------|-------------------------------|
|
||||
| GeoJSON Events | `geo_json_events` |
|
||||
| GeoNet New Zealand Quakes | `geonetnz_quakes` |
|
||||
| IGN Sismología | `ign_sismologia` |
|
||||
| NSW Rural Fire Service Incidents | `nsw_rural_fire_service_feed` |
|
||||
| Queensland Bushfire Alert | `qld_bushfire` |
|
||||
|
115
source/_components/geonetnz_quakes.markdown
Normal file
@ -0,0 +1,115 @@
|
||||
---
|
||||
title: "GeoNet NZ Quakes"
|
||||
description: "Instructions on how to integrate the GeoNet New Zealand Quakes feed into Home Assistant."
|
||||
logo: geonet-nz.png
|
||||
ha_category:
|
||||
- Geolocation
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.98
|
||||
---
|
||||
|
||||
The `geonetnz_quakes` integration lets you use a GeoJSON feed provided by
|
||||
New Zealand's [GeoNet](https://www.geonet.org.nz/) with information
|
||||
about quakes in the New Zealand region that happened within the last 7 days.
|
||||
It retrieves incidents from a feed and
|
||||
shows information of those incidents filtered by distance to Home Assistant's
|
||||
location.
|
||||
|
||||
Entities are generated, updated and removed automatically with each update
|
||||
from the feed. Each entity defines latitude and longitude and will be shown
|
||||
on the default map automatically, or on a map card by defining the source
|
||||
`geonetnz_quakes`. The distance is available as the state of each entity, and
|
||||
converted to the unit (kilometers or miles) configured in Home Assistant.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/geonetnz-quakes-feed-map.png' />
|
||||
</p>
|
||||
|
||||
The data is updated every 5 minutes.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
The material used by this integration is provided under the [Creative Commons Attribution 3.0 New Zealand (CC BY 3.0 NZ) license](http://creativecommons.org/licenses/by/3.0/nz/).
|
||||
It has only been modified for the purpose of presenting the material in Home Assistant.
|
||||
Please refer to the [creator's disclaimer notice](https://www.geonet.org.nz/disclaimer) and [data policy](https://www.geonet.org.nz/policy) for more information.
|
||||
|
||||
We acknowledge the New Zealand GeoNet project and its sponsors EQC, GNS Science and LINZ, for providing data/images used in this integration.
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
To integrate the GeoNet New Zealand Quakes feed use the "Integrations" feature
|
||||
in the GUI, you find it under Configurations - Integrations, or add the
|
||||
following line to your `configuration.yaml`.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
geonetnz_quakes:
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
mmi:
|
||||
description: Request quakes that may have caused shaking greater than or equal to the [MMI](https://www.geonet.org.nz/earthquake/mmi) value. Allowable values are -1..8 inclusive. Value -1 is used for quakes that are too small to calculate a stable MMI value for.
|
||||
required: false
|
||||
type: integer
|
||||
default: 2
|
||||
minimum_magnitude:
|
||||
description: The minimum magnitude of an earthquake to be included.
|
||||
required: false
|
||||
type: float
|
||||
default: 0.0
|
||||
radius:
|
||||
description: The radius around your location to monitor; defaults to 50 km or mi (depending on the unit system defined in your `configuration.yaml`).
|
||||
required: false
|
||||
type: float
|
||||
default: 50.0
|
||||
latitude:
|
||||
description: Latitude of the coordinates around which quakes are considered.
|
||||
required: false
|
||||
type: float
|
||||
default: Latitude defined in your configuration.
|
||||
longitude:
|
||||
description: Longitude of the coordinates around which quakes are considered.
|
||||
required: false
|
||||
type: float
|
||||
default: Longitude defined in your configuration.
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
## State Attributes
|
||||
|
||||
The following state attributes are available for each entity in addition to
|
||||
the standard ones:
|
||||
|
||||
| Attribute | Description |
|
||||
|-------------|-------------|
|
||||
| latitude | Latitude of the quake. |
|
||||
| longitude | Longitude of the quake. |
|
||||
| source | `geonetnz_quakes` to be used in conjunction with `geo_location` automation trigger. |
|
||||
| external_id | The external ID used in the feed to identify the quake in the feed. |
|
||||
| title | Title of this entry. |
|
||||
| mmi | The calculated MMI shaking at the closest locality in the New Zealand region.
|
||||
| magnitude | The summary magnitude for the quake. |
|
||||
| depth | The depth of the quake in km. |
|
||||
| time | The origin date and time of the quake. |
|
||||
| locality | Distance and direction to the nearest locality. |
|
||||
| quality | The quality of this information: best, good, caution, deleted. |
|
||||
|
||||
Please note that the reported MMI may be lower than the minimum requested MMI.
|
||||
This integration is passing the requested MMI value to the feed source and
|
||||
displays all entries retrieved without further filtering by MMI.
|
||||
|
||||
|
||||
## Full Configuration
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
geonetnz_quakes:
|
||||
radius: 100
|
||||
mmi: 4
|
||||
minimum_magnitude: 4.5
|
||||
latitude: -41.2
|
||||
longitude: 174.7
|
||||
```
|
@ -1,82 +0,0 @@
|
||||
---
|
||||
title: "Google Home"
|
||||
description: "Instructions on how to connect to your Google Home device."
|
||||
logo: google_home.png
|
||||
ha_release: 0.88
|
||||
ha_category:
|
||||
- Hub
|
||||
- Presence Detection
|
||||
- Sensor
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
- /components/device_tracker.googlehome/
|
||||
---
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
For a couple of weeks / months this integration is broken, therefore it will be removed in the future according to [this pull request](https://github.com/home-assistant/home-assistant/pull/26035).
|
||||
|
||||
</div>
|
||||
|
||||
The `googlehome` integration allows you to connect to your Google Home device using an [unofficial Google Home API][googlehomeapi].
|
||||
|
||||
This integration will provide:
|
||||
- [device_tracker](/components/device_tracker/) platform to track nearby bluetooth devices;
|
||||
- [sensor](/components/sensor/) platform to track the alarms and the timers.
|
||||
|
||||
## Configuration
|
||||
|
||||
To integrate the `googlehome` integration in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
googlehome:
|
||||
devices:
|
||||
- host: IP_ADDRESS
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
devices:
|
||||
description: A list of Google Home devices.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
host:
|
||||
description: The IP address of the Google Home device.
|
||||
required: true
|
||||
type: string
|
||||
rssi_threshold:
|
||||
description: The threshold for the RSSI signal of the device.
|
||||
required: false
|
||||
default: -70
|
||||
type: integer
|
||||
device_types:
|
||||
description: Device types that will be tracked [see device types](#device_types), by default all types are tracked.
|
||||
required: false
|
||||
type: list
|
||||
track_alarms:
|
||||
description: Setting to tell the integration to track the alarms of the device.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
track_devices:
|
||||
description: Setting to tell the integration to track nearby devices.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
## Device types
|
||||
|
||||
Device type | Description
|
||||
-- | --
|
||||
1 | Classic - BR/EDR devices
|
||||
2 | Low Energy - LE-only
|
||||
3 | Dual Mode - BR/EDR/LE
|
||||
|
||||
## Notes
|
||||
|
||||
Devices will appear in the format `device_tracker.<home hub ip>_<device mac address>`. Note that dots are removed from the IP and BT MAC addresses.
|
||||
|
||||
[googlehomeapi]: https://rithvikvibhu.github.io/GHLocalApi/
|
||||
[devicetrackerconfig]: /components/device_tracker/#configuring-a-device_tracker-platform
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "HomeKit controller support"
|
||||
description: "Instructions how to integrate your HomeKit devices within Home Assistant."
|
||||
description: "Instructions for how to integrate your HomeKit devices within Home Assistant."
|
||||
logo: apple-homekit.png
|
||||
ha_category:
|
||||
- Hub
|
||||
@ -24,7 +24,13 @@ redirect_from:
|
||||
- /components/sensor.homekit_controller/
|
||||
---
|
||||
|
||||
[HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This integration should not be confused with the [HomeKit](/components/homekit/) integration, which allows you to control Home Assistant devices via HomeKit.
|
||||
The [HomeKit](https://developer.apple.com/homekit/) controller integration allows you to use accessories with the "Works with HomeKit" logo with Home Assistant. This integration should not be confused with the [HomeKit](/components/homekit/) integration, which allows you to control Home Assistant devices via HomeKit.
|
||||
|
||||
The integration will automatically detect HomeKit compatible devices that are ready to pair if the [`zeroconf`](/components/zeroconf/) integration is enabled. This is enabled by default on new installations via the [`default_config`](/components/default_config/) component.
|
||||
|
||||
To see which devices have been discovered see the "Integrations" page in your Home Assistant dashboard. When you click on "Configure" you can enter your HomeKit PIN and the device should be added to your Home Assistant instance. If your device is currently paired with an Apple device via HomeKit, you will need to reset it in order to pair it with Home Assistant. Once Home Assistant is configured to work with the device, you can export it back to Siri and Apple Home with the [`HomeKit`](/components/homekit/) integration.
|
||||
|
||||
## Supported devices
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
@ -35,8 +41,55 @@ There is currently support for the following device types within Home Assistant:
|
||||
- Lock (HomeKit lock)
|
||||
- Switch (HomeKit switches)
|
||||
- Binary Sensor (HomeKit motion sensors and contact sensors)
|
||||
- Sensor (HomeKit humidity, temperature, and light level sensors)
|
||||
- Sensor (HomeKit humidity, temperature, co2 and light level sensors)
|
||||
|
||||
The integration will be automatically configured if the [`discovery`](/components/discovery/) integration is enabled.
|
||||
HomeKit IP accessories for these device types may work with some caveats:
|
||||
|
||||
For each detected HomeKit accessory, a configuration prompt will appear in the web front end. Use this to provide the HomeKit PIN. Note that HomeKit accessories can only be paired to one device at once. If your device is currently paired with Siri, you will need to reset it in order to pair it with Home Assistant. Once Home Assistant is configured to work with the device, you can export it back to Siri with the [`HomeKit`](/components/homekit/) integration.
|
||||
- If the device is WiFi based and has no physical controls or screen then you may need an Apple HomeKit device like an iPhone or iPad to get the accessory onto your WiFi network. For example, for a Koogeek LS1 you must add the accessory to HomeKit on your iOS device, then remove it from the iOS device. This leaves the LS1 in an unpaired state but still on your WiFi. Then Home Assistant can find it and pair with it.
|
||||
- You need to know the HomeKit PIN. There is no way to recover this if you do not have it. You will need to contact the manufacturer to see what options you have.
|
||||
|
||||
Home Assistant does not currently support HomeKit BLE.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### I don't have a HomeKit PIN
|
||||
|
||||
When you buy a certified HomeKit enabled device the PIN maybe with the instructions or on a sticker on the side or under the accessory.
|
||||
|
||||
Devices with screens like thermostats may not have PIN codes in the packaging at all. Every time you click on "Configure" in the Home Assistant front end your accessory will generate a new pairing code and show it on the display.
|
||||
|
||||
If your device doesn't have a display and got HomeKit support after it was released you may not have a pairing code. Dealing with this is manufacturer specific. Some manufacturers allow you to see the pairing code in their iOS app. Others force you to use their app to configure HomeKit and don't let you have the pairing pin - right now you won't be able to use HomeKit controller with those devices.
|
||||
|
||||
If you have lost your PIN code then you may not be able to repair your accessory. You should contact the manufacturer to see if there is anything you can do.
|
||||
|
||||
### My accessory isn't updating straight away
|
||||
|
||||
This is normal - HomeKit controller is currently a local polling based integration. It polls your accessory for its latest state once a minute.
|
||||
|
||||
### Home Assistant cannot discover my device
|
||||
|
||||
For IP accessories, Home Assistant can only find devices that are already on the same network as your device. If an accessory is WiFi based and has no user interface for joining it to your Wifi network you will need an Apple HomeKit controller device (an iPhone or iPad). You should pair it with the controller and then remove the pairing in the UI (but do not reset the accessory itself). This will leave the accessory on your WiFi network but in an unpaired state, and then Home Assistant can find it.
|
||||
|
||||
Home Assistant can only find accessories that aren't already paired. Even if you reset your Home Assistant configuration the accessory will still think it is paired and you won't be able to use it with Home Assistant. You should reset the accessory according to the manufacturer instructions. Some devices have a "Reset HomeKit" option, and some may require a full reset.
|
||||
|
||||
### HomeKit controller is finding devices on my network even though I don't have any Apple device
|
||||
|
||||
This is completely normal. Unlike many other commercial IoT offerings the HomeKit protocol is a local and offline protocol that does not rely on the Apple ecosystem to function. You do not need an Apple online account to use a "Works with HomeKit" device. Some WiFi devices may need an iOS briefly to get them onto your WiFi but other than that you do not need any Apple hardware on your network either.
|
||||
|
||||
Many IoT devices are getting a post-launch HomeKit upgrade. This might mean your device starts showing in Home Assistant as a `homekit_controller` device even though when you bought it without HomeKit support. If maybe this is a better choice for you than a native integration. For example, a lot of climate devices have an online-only API and a HomeKit API. The HomeKit one might not expose all of the settings and controls you are used to but won't break if your internet connection goes down or the cloud service goes away.
|
||||
|
||||
### I have a warning in my logs about HomeKit controller skipping updates
|
||||
|
||||
You may say a log entry that looks like this:
|
||||
|
||||
```log
|
||||
HomeKit controller update skipped as previous poll still in flight
|
||||
```
|
||||
|
||||
In these cases it's unlikely that HomeKit controller itself is directly responsible. This is a safety feature to avoid overloading your HomeAssistant instance. It means that Home Assistant tried to poll your accessory but the previous poll was still happening. This means it is taking over 1 minute to poll your accessory. This could be caused by a number of things:
|
||||
|
||||
- You have too many blocking synchronous integrations for your Home Assistant instance. All synchronous integrations share a thread pool and if there are lots of tasks to run on it they will queued, causing delays. In the worst cases this queue can build up faster than it can be emptied. Faster hardware may help, but you may need to disable some integrations.
|
||||
- Your network connection to an accessory is poor and HomeKit controller is unable to reach the accessory reliably. This will likely require a change to your network setup to improve WiFi coverage or replace damaged cabling etc.
|
||||
- There is a problem with the actual accessory and this may be causing intermittent network issues.
|
||||
|
||||
In these cases HomeKit controller will skip polling to avoid a build up of back pressure in your instance.
|
||||
|
@ -87,6 +87,7 @@ authtoken:
|
||||
* homematicip_cloud.binary_sensor
|
||||
* Window and door contact (*HmIP-SWDO, -I*)
|
||||
* Contact Interface flush-mount – 1 channel (*HmIP-FCI1*)
|
||||
* Contact Interface (*HmIP-SCI*)
|
||||
* Window Rotary Handle Sensor (*HmIP-SRH*)
|
||||
* Smoke sensor and alarm (*HmIP-SWSD*)
|
||||
* Motion Detector with Brightness Sensor - indoor (*HmIP-SMI*)
|
||||
|
123
source/_components/keba.markdown
Normal file
@ -0,0 +1,123 @@
|
||||
---
|
||||
title: "Keba Charging Station"
|
||||
description: "Instructions on how to setup your Keba charging station with Home Assistant."
|
||||
logo: keba.png
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
- Lock
|
||||
- Sensor
|
||||
ha_release: 0.98
|
||||
---
|
||||
|
||||
The `keba` integrates your Keba charging station (wallbox) into your home assistant instance. It was tested with a BMW Wallbox but should also work with a Keba P20/P30 according to the developers [manual](https://www.keba.com/web/downloads/e-mobility/KeContact_P20_P30_UDP_ProgrGuide_en.pdf). The fetching interval to the charging station is set to 5 seconds, same as in the official mobile app.
|
||||
|
||||
This component provides the following platforms:
|
||||
|
||||
- Binary Sensors: Online state, plug state, Charging state and failsafe mode state.
|
||||
- Lock: Authorization (like with the RFID card).
|
||||
- Sensors: current set by the user, target energy set by the user, charging power, charged energy of the current session and total energy charged.
|
||||
- Services: authorize, deauthorize, set energy target, set maximum allowed current and manually update the states. More details can be found [here](/components/keba/#services).
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this component in your installation, add at least the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
keba:
|
||||
host: KEBA_HOST
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
keba:
|
||||
description: configuration
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
host:
|
||||
description: Keba host.
|
||||
required: true
|
||||
type: string
|
||||
rfid:
|
||||
description: RFID tag used for authorization.
|
||||
required: false
|
||||
type: string
|
||||
default: "00845500"
|
||||
failsafe:
|
||||
description: Enable failsafe mode at home assistant startup.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
failsafe_timeout:
|
||||
description: Timeout of the failsafe mode in seconds. Allowed values are between 10 seconds and 600 seconds (this parameter is only used if failsafe mode is enabled). Make sure to call the `keba.set_curr` service regularly within this timeout period!
|
||||
required: false
|
||||
type: integer
|
||||
default: 30
|
||||
failsafe_fallback:
|
||||
description: Fallback current of the failsafe mode in A. Allowed values are between 6 Ampere and 63 Ampere. 0 Ampere disables the running charging process completely (this parameter is only used if failsafe mode is enabled).
|
||||
required: false
|
||||
type: integer
|
||||
default: 6
|
||||
failsafe_persist:
|
||||
description: Saving the failsafe configuration to internal EEPROM of the Keba charging station. 1 means save it, 0 means do only keep this configuration until the next restart of the charging station (this parameter is only used if failsafe mode is enabled).
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
refresh_interval:
|
||||
description: Refresh interval to fetch new data from the charging station. 5 seconds (same as in the official app) is recommended.
|
||||
required: false
|
||||
type: integer
|
||||
default: 5
|
||||
{% endconfiguration %}
|
||||
|
||||
## Services
|
||||
|
||||
The `keba` component offers several services. Using these services will change the state of your charging station. So use these services with care!
|
||||
|
||||
### Authorizing and Deauthorizing `keba.authorize` and `keba.deauthorize`
|
||||
|
||||
The charging station can be authorized and deauthorized via service calls (`keba.authorize` and `keba.deauthorize`) or via the lock component that is created automatically for the charging station. In both cases the RFID tag from the configuration is used.
|
||||
|
||||
### Start and Stop `keba.start` and `keba.stop`
|
||||
|
||||
The service `keba.start` and `keba.stop` controls the charging process if the car is already authorized. Technically it sends `ena 1` or `ena 0` commands to the charging station.
|
||||
|
||||
### Set Target Energy `keba.set_energy`
|
||||
|
||||
The service `keba.set_energy` sets the target energy for the current session to the given energy attribute in kWh. Payload example:
|
||||
|
||||
```json
|
||||
{
|
||||
"energy": 10.0
|
||||
}
|
||||
```
|
||||
|
||||
### Maximum Current `keba.set_curr`
|
||||
|
||||
The service `keba.set_curr` sets the maximum current to the given current attribute in Ampere. Payload example:
|
||||
|
||||
```json
|
||||
{
|
||||
"current": 16.0
|
||||
}
|
||||
```
|
||||
|
||||
### Request New Data `keba.request_data`
|
||||
|
||||
The service `keba.request_data` sends data update requests to the charging station.
|
||||
|
||||
### Request New Data `keba.set_failsafe`
|
||||
|
||||
The service `keba.set_failsafe` sets the failsafe mode of the charging station. Payload example:
|
||||
|
||||
```json
|
||||
{
|
||||
"failsafe_timeout": 30,
|
||||
"failsafe_fallback": 6,
|
||||
"failsafe_persist": 0
|
||||
}
|
||||
```
|
||||
|
||||
## Disclaimer
|
||||
|
||||
This software is not affiliated with or endorsed by Keba.
|
@ -10,9 +10,9 @@ ha_iot_class: Local Push
|
||||
|
||||
The [KNX](https://www.knx.org) integration for Home Assistant allows you to connect to a KNX/IP devices.
|
||||
|
||||
The integration requires a local KNX/IP interface or a KNX/IP router. Through this, it will send and receive commands to and from other devices to the KNX bus.
|
||||
The integration requires a local KNX/IP interface like the [Weinzierl 730](https://www.weinzierl.de/index.php/en/all-knx/knx-devices-en/produktarchiv-en/knx-ip-interface-730-en). Through this, it will send and receive commands to and from other devices to the KNX bus.
|
||||
|
||||
<div class='note'>
|
||||
<div class='note warning'>
|
||||
Please note, the `knx` platform does not support Windows.
|
||||
</div>
|
||||
|
||||
|
@ -86,7 +86,7 @@ timeout:
|
||||
|
||||
### Services
|
||||
|
||||
#### Service `kodi_add_to_playlist`
|
||||
#### Service `kodi.add_to_playlist`
|
||||
|
||||
Add music to the default playlist (i.e. playlistid=0).
|
||||
|
||||
@ -98,14 +98,7 @@ Add music to the default playlist (i.e. playlistid=0).
|
||||
| `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 `media_player/kodi_set_shuffle`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|------------------------|----------|-------------|
|
||||
| `entity_id` | yes | Target a specific media player. It must be of type kodi. |
|
||||
| `shuffle_on` | no | True/false for shuffle on/off. |
|
||||
|
||||
#### Service `kodi_call_method`
|
||||
#### Service `kodi.call_method`
|
||||
|
||||
Call a [Kodi JSONRPC API](http://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`.
|
||||
|
||||
@ -117,7 +110,7 @@ Call a [Kodi JSONRPC API](http://kodi.wiki/?title=JSON-RPC_API) method with opti
|
||||
|
||||
### Event triggering
|
||||
|
||||
When calling the `kodi_call_method` service, if the Kodi JSONRPC API returns data, when received by Home Assistant it will fire a `kodi_call_method_result` event on the event bus with the following `event_data`:
|
||||
When calling the `kodi.call_method` service, if the Kodi JSONRPC API returns data, when received by Home Assistant it will fire a `kodi_call_method_result` event on the event bus with the following `event_data`:
|
||||
|
||||
```yaml
|
||||
entity_id: "<Kodi media_player entity_id>"
|
||||
@ -156,7 +149,7 @@ media_player:
|
||||
- platform: kodi
|
||||
host: 192.168.0.123
|
||||
turn_off_action:
|
||||
service: media_player.kodi_call_method
|
||||
service: kodi.call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: Application.Quit
|
||||
@ -169,7 +162,7 @@ media_player:
|
||||
- platform: kodi
|
||||
host: 192.168.0.123
|
||||
turn_off_action:
|
||||
service: media_player.kodi_call_method
|
||||
service: kodi.call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: System.Hibernate
|
||||
@ -182,7 +175,7 @@ media_player:
|
||||
- platform: kodi
|
||||
host: 192.168.0.123
|
||||
turn_off_action:
|
||||
service: media_player.kodi_call_method
|
||||
service: kodi.call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: System.Suspend
|
||||
@ -195,7 +188,7 @@ media_player:
|
||||
- platform: kodi
|
||||
host: 192.168.0.123
|
||||
turn_off_action:
|
||||
service: media_player.kodi_call_method
|
||||
service: kodi.call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: System.Reboot
|
||||
@ -208,7 +201,7 @@ media_player:
|
||||
- platform: kodi
|
||||
host: 192.168.0.123
|
||||
turn_off_action:
|
||||
service: media_player.kodi_call_method
|
||||
service: kodi.call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: System.Shutdown
|
||||
@ -223,7 +216,7 @@ media_player:
|
||||
- platform: kodi
|
||||
host: 192.168.0.123
|
||||
turn_on_action:
|
||||
service: media_player.kodi_call_method
|
||||
service: kodi.call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: Addons.ExecuteAddon
|
||||
@ -234,7 +227,7 @@ media_player:
|
||||
- service: media_player.media_stop
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
- service: media_player.kodi_call_method
|
||||
- service: kodi.call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: Addons.ExecuteAddon
|
||||
@ -293,7 +286,7 @@ script:
|
||||
alias: Update Kodi Library
|
||||
sequence:
|
||||
- alias: Call Kodi update
|
||||
service: media_player.kodi_call_method
|
||||
service: kodi.call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: VideoLibrary.Scan
|
||||
|
@ -9,6 +9,14 @@ redirect_from:
|
||||
- /components/device_tracker.linksys_ap/
|
||||
---
|
||||
|
||||
<div class="note warning">
|
||||
|
||||
This integration is deprecated and will be removed in Home Assistant 0.100.0.
|
||||
|
||||
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
|
||||
|
||||
</div>
|
||||
|
||||
The `linksys_ap` platform offers presence detection by looking at connected devices to a Linksys based access point.
|
||||
|
||||
It was tested with a LAPAC1750 AC1750 Dual Band Access Point.
|
||||
|
@ -75,3 +75,6 @@ The Lutron scene platform allows you to control scenes programmed into your SeeT
|
||||
|
||||
After setup, scenes will appear in Home Assistant using the area, keypad and button name.
|
||||
|
||||
## Occupancy Sensors
|
||||
|
||||
Any configured Powr Savr occuancy sensors will be added as occupancy binary sensors. Lutron reports occupancy for an area, rather than reporting individual sensors. Sensitivity and timeouts are controlled on the sensors themselves, not in software.
|
||||
|
@ -3,6 +3,7 @@ title: "MikroTik"
|
||||
description: "Instructions on how to integrate MikroTik/RouterOS based devices into Home Assistant."
|
||||
logo: mikrotik.png
|
||||
ha_category:
|
||||
- Hub
|
||||
- Presence Detection
|
||||
ha_release: 0.44
|
||||
redirect_from:
|
||||
@ -11,7 +12,11 @@ redirect_from:
|
||||
|
||||
The `mikrotik` platform offers presence detection by looking at connected devices to a [MikroTik RouterOS](http://mikrotik.com) based router.
|
||||
|
||||
## Configuring `mikrotik` device tracker
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Presence Detection
|
||||
|
||||
## Configuring `mikrotik` hub
|
||||
|
||||
You have to enable accessing the RouterOS API on your router to use this platform.
|
||||
|
||||
@ -33,9 +38,8 @@ To use a MikroTik router in your installation, add the following to your `config
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: mikrotik
|
||||
host: IP_ADDRESS
|
||||
mikrotik:
|
||||
- host: IP_ADDRESS
|
||||
username: ROUTEROS_USERNAME
|
||||
password: ROUTEROS_PASSWORD
|
||||
```
|
||||
@ -70,9 +74,14 @@ ssl:
|
||||
default: false
|
||||
type: boolean
|
||||
method:
|
||||
description: Override autodetection of device scanning method. Can be `wireless` to use local wireless registration, `capsman` for capsman wireless registration, or `ip` for DHCP leases.
|
||||
description: Override autodetection of device scanning method. Can be `wireless` to use local wireless registration, `capsman` for capsman wireless registration, or `dhcp` for DHCP leases.
|
||||
required: false
|
||||
type: string
|
||||
arp_ping:
|
||||
description: Use ARP ping with DHCP method for device scanning.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
<div class='note info'>
|
||||
@ -113,17 +122,25 @@ To use this device tracker you need restricted privileges only. To enhance the s
|
||||
/user set password="YOUR_PASSWORD" homeassistant
|
||||
```
|
||||
|
||||
## Using the additional configuration to the `mikrotik` device tracker entry in your `configuration.yaml` file:
|
||||
## Using the additional configuration to the `mikrotik` entry in your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
device_tracker:
|
||||
- platform: mikrotik
|
||||
host: 192.168.88.1
|
||||
mikrotik:
|
||||
- host: 192.168.88.1
|
||||
username: homeassistant
|
||||
password: YOUR_PASSWORD
|
||||
ssl: true
|
||||
arp_ping: true
|
||||
method: dhcp
|
||||
track_devices: true
|
||||
|
||||
- host: 192.168.88.2
|
||||
username: homeassistant
|
||||
password: YOUR_PASSWORD
|
||||
ssl: true
|
||||
port: 8729
|
||||
method: capsman
|
||||
track_devices: true
|
||||
```
|
||||
|
||||
See the [device tracker integration page](/components/device_tracker/) for instructions on how to configure the people to be tracked.
|
||||
|
153
source/_components/minio.markdown
Normal file
@ -0,0 +1,153 @@
|
||||
---
|
||||
title: "Minio"
|
||||
description: "Integration for interacting with Minio object storage."
|
||||
logo: minio.png
|
||||
ha_category: Utility
|
||||
ha_iot_class: Cloud Push
|
||||
ha_release: 0.98
|
||||
---
|
||||
|
||||
This integration adds interaction with [Minio](https://min.io).
|
||||
Also enables to listen for bucket notifications: [watch docs](https://docs.min.io/docs/minio-client-complete-guide.html#watch)
|
||||
|
||||
To download or upload files, folders must be added to [whitelist_external_dirs](/docs/configuration/basic/).
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable the Minio integration in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
minio:
|
||||
host: localhost
|
||||
port: 9000
|
||||
access_key: ACCESS_KEY
|
||||
secret_key: SECRET_KEY
|
||||
secure: false
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: Minio server host
|
||||
required: true
|
||||
type: string
|
||||
port:
|
||||
description: Minio server port
|
||||
required: true
|
||||
type: integer
|
||||
access_key:
|
||||
description: Minio server access key
|
||||
required: true
|
||||
type: string
|
||||
secret_key:
|
||||
description: Minio server secret key
|
||||
required: true
|
||||
type: string
|
||||
secure:
|
||||
description: Whether to use http or https connection
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
listen:
|
||||
description: List of configurations to listen for events to
|
||||
required: false
|
||||
default: []
|
||||
type: list
|
||||
keys:
|
||||
bucket:
|
||||
description: Bucket to use
|
||||
required: true
|
||||
type: string
|
||||
prefix:
|
||||
description: What prefix to use to filter file events
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
suffix:
|
||||
description: What file suffix to use to filter file events
|
||||
required: false
|
||||
type: string
|
||||
default: ".*"
|
||||
events:
|
||||
description: What file
|
||||
required: false
|
||||
type: string
|
||||
default: "s3:ObjectCreated:*"
|
||||
{% endconfiguration %}
|
||||
|
||||
## Automations
|
||||
|
||||
Automations can be triggered on new files created on the Minio server using the `data_template`.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
#Automatically upload new local files
|
||||
automation:
|
||||
- alias: Upload camera snapshot
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: folder_watcher
|
||||
event_data:
|
||||
event_type: created
|
||||
action:
|
||||
- delay: '00:00:01'
|
||||
- service: minio.put
|
||||
data_template:
|
||||
file_path: "{{ trigger.event.data.path }}"
|
||||
bucket: "camera-image-object-detection"
|
||||
key: "input/{{ now().year }}/{{ (now().month | string).zfill(2) }}/{{ (now().day | string).zfill(2) }}/{{ trigger.event.data.file }}"
|
||||
- delay: '00:00:01'
|
||||
- service: shell_command.remove_file
|
||||
data_template:
|
||||
file: "{{ trigger.event.data.path }}"
|
||||
|
||||
- alias: Download new Minio file
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: minio
|
||||
|
||||
condition: []
|
||||
action:
|
||||
- service: minio.get
|
||||
data_template:
|
||||
bucket: "{{trigger.event.data.bucket}}"
|
||||
key: "{{trigger.event.data.key}}"
|
||||
file_path: "/tmp/{{ trigger.event.data.file_name }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Platform Services
|
||||
|
||||
These services are provided:
|
||||
|
||||
- `get`
|
||||
- `put`
|
||||
- `remove`
|
||||
|
||||
### Service `minio.get`
|
||||
|
||||
Download file.
|
||||
|
||||
| Service data attribute | Required | Description |
|
||||
|---------------------------|----------|---------------------------------------------------|
|
||||
| `bucket` | yes | Bucket to use |
|
||||
| `key` | yes | Object key of the file |
|
||||
| `file_path` | yes | File path on the local file system |
|
||||
|
||||
### Service `minio.put`
|
||||
|
||||
Upload file.
|
||||
|
||||
| Service data attribute | Required | Description |
|
||||
|---------------------------|----------|---------------------------------------------------|
|
||||
| `bucket` | yes | Bucket to use |
|
||||
| `key` | yes | Object key of the file |
|
||||
| `file_path` | yes | File path on the local file system |
|
||||
|
||||
### Service `minio.remove`
|
||||
|
||||
Delete file.
|
||||
|
||||
| Service data attribute | Required | Description |
|
||||
|---------------------------|----------|---------------------------------------------------|
|
||||
| `bucket` | yes | Bucket to use |
|
||||
| `key` | yes | Object key of the file |
|
@ -148,6 +148,14 @@ This service asks the modem to establish its LTE connection, useful if the modem
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `host` | yes | The modem that should connect (optional when just one modem is configured).
|
||||
|
||||
### Service `netgear_lte.disconnect_lte`
|
||||
|
||||
This service asks the modem to close its LTE connection.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `host` | yes | The modem that should disconnect (optional when just one modem is configured).
|
||||
|
||||
### Service `netgear_lte.delete_sms`
|
||||
|
||||
The integration makes a service available to delete messages from the modem inbox. This can be used to clean up after incoming SMS events.
|
||||
|
@ -16,7 +16,6 @@ The `nissan_leaf` integration offers integration with the [NissanConnect EV](htt
|
||||
|
||||
* sensors for the battery status, range and charging status
|
||||
* a switch to start and stop the climate control
|
||||
* a device tracker to locate the car (only on later Leaf models)
|
||||
* services to request updates from the car and to request the car starts charging.
|
||||
|
||||
## Configuration
|
||||
@ -43,11 +42,6 @@ region:
|
||||
description: The region where the NissanConnect EV account is registered. Should be one of the following, NE (for Europe), NNA (USA), NCI (Canada), NMA (Australia), NML (Japan).
|
||||
required: true
|
||||
type: string
|
||||
nissan_connect:
|
||||
description: If your car has the updated head unit (NissanConnect rather than Carwings) then the location can be acquired and exposed via a device tracker. If you have Carwings then this should be set to false. The easiest way to identify NissanConnect is if the T&C buttons are orange and blue, for CarWings they're both blue, or just look for anything saying "CarWings" in Settings area of the infotainment system.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
update_interval:
|
||||
description: The interval between updates if the climate control is off and the car is not charging. Set in any time unit (e.g. minutes, hours, days!).
|
||||
required: false
|
||||
@ -75,7 +69,6 @@ nissan_leaf:
|
||||
username: "YOUR_USERNAME"
|
||||
password: "YOUR_PASSWORD"
|
||||
region: "YOUR_REGION"
|
||||
nissan_connect: true
|
||||
update_interval:
|
||||
hours: 1
|
||||
update_interval_charging:
|
||||
@ -87,7 +80,7 @@ nissan_leaf:
|
||||
|
||||
## Starting a Charge
|
||||
|
||||
You can use the `nissan_leaf.start_charge` service to send a request to the Nissan servers to start a charge. The car must be plugged in! The service requires you to provide the vehicle identification number (VIN) as a parameter. You can see the VIN on the attributes of all the entities created by this component, except the device_tracker.
|
||||
You can use the `nissan_leaf.start_charge` service to send a request to the Nissan servers to start a charge. The car must be plugged in! The service requires you to provide the vehicle identification number (VIN) as a parameter. You can see the VIN on the attributes of all the entities created by this component.
|
||||
|
||||
```yaml
|
||||
- service: nissan_leaf.start_charge
|
||||
@ -125,6 +118,7 @@ You can also use the `nissan_leaf.update` service to request an on-demand update
|
||||
* 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.
|
||||
|
||||
@ -133,7 +127,6 @@ logger:
|
||||
default: critical
|
||||
logs:
|
||||
homeassistant.components.nissan_leaf: debug
|
||||
homeassistant.components.device_tracker.nissan_leaf: debug
|
||||
homeassistant.components.sensor.nissan_leaf: debug
|
||||
homeassistant.components.switch.nissan_leaf: debug
|
||||
```
|
||||
|
@ -108,6 +108,19 @@ Please read [this information](http://otgw.tclcode.com/standalone.html) from the
|
||||
|
||||
</div>
|
||||
|
||||
### Service `opentherm_gw.set_hot_water_ovrd`
|
||||
|
||||
Set the domestic hot water enable option on the OpenTherm Gateway.
|
||||
Control the domestic hot water enable option. If the boiler has
|
||||
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 in `configuration.yaml`.
|
||||
| `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_gpio_mode`
|
||||
|
||||
Configure the GPIO behavior on the OpenTherm Gateway.
|
||||
|
163
source/_components/plugwise.markdown
Normal file
@ -0,0 +1,163 @@
|
||||
---
|
||||
title: "Plugwise"
|
||||
description: "Plugwise Climate integration."
|
||||
logo: plugwise.png
|
||||
ha_category: Climate
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.98
|
||||
---
|
||||
|
||||
This enables [Plugwise](https://plugwise.com) [Anna](https://www.plugwise.com/en_US/products/anna) thermostats to be integrated. This integration talks locally to your **Smile** interface, and you will need its password and IP address.
|
||||
|
||||
The password can be found on the bottom of your Smile, it should consist of 6 characters. To find your IP address use the Plugwise App:
|
||||
|
||||
- Open the Plugwise App and choose the 'Settings'-icon (☰) and choose 'HTML-interface'.
|
||||
- Go to the (lower) 'Settings'-icon (☰) and choose 'Preferences'.
|
||||
- Choose 'System' then 'Networking' and your IP address will be shown.
|
||||
|
||||
## Configuration
|
||||
|
||||
You have to add the following to your configuration.yaml file:
|
||||
|
||||
```yaml
|
||||
# Minimal configuration.yaml entry
|
||||
climate:
|
||||
- platform: plugwise
|
||||
password: YOUR_SHORT_IP
|
||||
host: YOUR_SMILE_LOCAL_IP
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
password:
|
||||
description: Your Smile ID (located on the bottom of the Smile, not the Anna).
|
||||
required: true
|
||||
type: string
|
||||
host:
|
||||
description: The IP address of your Smile.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: The name of your thermostat, i.e., "Anna".
|
||||
required: false
|
||||
type: string
|
||||
default: "Plugwise Thermostat"
|
||||
username:
|
||||
description: Should you ever need to change this, you can.
|
||||
required: false
|
||||
type: string
|
||||
default: smile
|
||||
port:
|
||||
description: When having a custom setup, you can change the port number.
|
||||
required: false
|
||||
type: integer
|
||||
default: 80
|
||||
min_temp:
|
||||
description: If you want to adjust the lower boundary, the integration will not allow temperatures below the set value.
|
||||
required: false
|
||||
type: integer
|
||||
default: 4
|
||||
max_temp:
|
||||
description: If you want to adjust the upper boundary, the integration will not allow temperatures above the set value.
|
||||
required: false
|
||||
type: integer
|
||||
default: 30
|
||||
{% endconfiguration %}
|
||||
|
||||
### Full configuration example
|
||||
|
||||
```yaml
|
||||
climate:
|
||||
- platform: anna
|
||||
name: YOUR_THERMOSTAT_NAME
|
||||
password: YOUR_SHORT_ID
|
||||
host: YOUR_SMILE_LOCAL_IP
|
||||
port: YOUR_SMILE_PORT_NUMBER
|
||||
min_temp: YOUR_MINIMAL_TARGET_TEMPERATURE
|
||||
max_temp: YOUR_MAXIMAL_TARGET_TEMPERATURE
|
||||
```
|
||||
|
||||
### Service
|
||||
|
||||
#### Set HVAC mode (schedule)
|
||||
|
||||
Service: `climate.set_hvac_mode`
|
||||
|
||||
Available options include `auto` or `off`. The meaning of `auto` is that a schedule is active and the thermostat will change presets accordingly. The meaning of `off` is that there is no schedule active, i.e., the active preset or manually set temperature is to be used to control the climate of your house or rooms.
|
||||
The last schedule that was active is determined the same way long-tapping the top of Anna works.
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
# Example script change the temperature
|
||||
script:
|
||||
anna_reactive_last_schedule:
|
||||
sequence:
|
||||
- service: climate.set_hvac_mode
|
||||
data:
|
||||
hvac_mode: auto
|
||||
```
|
||||
|
||||
Changing the active schedule can be done, though not easily:
|
||||
|
||||
- Deactivate the schedule (press the power button on the UI-card).
|
||||
- Look up the available schemas in the `states` view (attribute `available_schemas`).
|
||||
- Change the attribute `active_schema` to the actual name of your schema as available from the above attribute or your Plugwise App.
|
||||
- Activate the schedule (press the calendar button on the UI-card).
|
||||
|
||||
#### Set temperature
|
||||
|
||||
Service: `climate.set_temperature`
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
# Example script change the temperature
|
||||
script:
|
||||
anna_set_predefined_temperature:
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
temperature: 19.5
|
||||
```
|
||||
|
||||
#### Set preset mode
|
||||
|
||||
Service: `climate.set_preset_mode`
|
||||
|
||||
Available options include: `home`, `vacation`, `no_frost`, `asleep` & `away`.
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
# Example script changing the active (or currently set by schedule) preset
|
||||
script:
|
||||
anna_activate_preset_asleep:
|
||||
sequence:
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
preset_mode: asleep
|
||||
```
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
Example of a working configuration excerpt (with debugging enabled):
|
||||
|
||||
```txt
|
||||
[homeassistant.loader] Loaded plugwise from custom_components.plugwise
|
||||
[homeassistant.loader] You are using a custom integration for plugwise which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
|
||||
[custom_components.plugwise.climate] Plugwise: custom component loading (Anna PlugWise climate)
|
||||
[homeassistant.components.climate] Setting up climate.plugwise
|
||||
[custom_components.plugwise.climate] Init called
|
||||
[custom_components.plugwise.climate] Initializing API
|
||||
[custom_components.plugwise.climate] platform ready
|
||||
[custom_components.plugwise.climate] Update called
|
||||
```
|
||||
|
||||
Example of something going wrong (IP address not set) excerpt is shown below. Correct your configuration and try again. If the errors persist, please share a larger excerpt of your logfile.
|
||||
|
||||
```txt
|
||||
1970-01-01 00:00:01 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform plugwise
|
||||
File "/home/homeassistant/.homeassistant/custom_components/plugwise/climate.py", line 104, in setup_platform
|
||||
File "/home/homeassistant/.homeassistant/custom_components/plugwise/climate.py", line 130, in __init__
|
||||
self._api = Haanna(self._username, self._password, self._host, self._port)
|
||||
```
|
@ -3,12 +3,14 @@ title: "Prometheus"
|
||||
description: "Record events in Prometheus."
|
||||
logo: prometheus.png
|
||||
ha_category:
|
||||
- "History"
|
||||
- History
|
||||
ha_release: 0.49
|
||||
---
|
||||
|
||||
The `prometheus` integration exposes metrics in a format which [Prometheus](https://prometheus.io/) can read.
|
||||
|
||||
## Configuration
|
||||
|
||||
To use the `prometheus` integration in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
@ -42,8 +44,67 @@ filter:
|
||||
description: The list of domains to be included from recordings. If set, all other entities will not be recorded. Values set by the **exclude_*** option will prevail.
|
||||
required: false
|
||||
type: list
|
||||
default_metric:
|
||||
type: string
|
||||
description: Metric name to use when an entity doesn't have a unit.
|
||||
required: false
|
||||
default: uses the entity id of the entity
|
||||
override_metric:
|
||||
type: string
|
||||
description: Metric name to use instead of unit or default metric. This will store all data points in a single metric.
|
||||
required: false
|
||||
component_config:
|
||||
type: string
|
||||
required: false
|
||||
description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format.
|
||||
keys:
|
||||
override_metric:
|
||||
type: string
|
||||
description: Metric name to use instead of unit or default metric. This will store all data points in a single metric.
|
||||
required: false
|
||||
component_config_domain:
|
||||
type: string
|
||||
required: false
|
||||
description: This attribute contains domain-specific component override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format.
|
||||
keys:
|
||||
override_metric:
|
||||
type: string
|
||||
description: Metric name to use instead of unit or default metric. This will store all data points in a single metric.
|
||||
required: false
|
||||
component_config_glob:
|
||||
type: string
|
||||
required: false
|
||||
description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format.
|
||||
keys:
|
||||
override_metric:
|
||||
type: string
|
||||
description: Metric name to use instead of unit or default metric. This will store all data points in a single metric.
|
||||
required: false
|
||||
|
||||
{% endconfiguration %}
|
||||
|
||||
## Full Example
|
||||
|
||||
Advanced configuration example:
|
||||
|
||||
```yaml
|
||||
# Advanced configuration.yaml entry
|
||||
prometheus:
|
||||
namespace: hass
|
||||
component_config_glob:
|
||||
sensor.*_hum:
|
||||
override_metric: humidity_percent
|
||||
sensor.*_temp:
|
||||
override_metric: temperature_c
|
||||
sensor.temperature*:
|
||||
override_metric: temperature_c
|
||||
sensor.*_bat:
|
||||
override_metric: battery_percent
|
||||
filter:
|
||||
include_domains:
|
||||
- sensor
|
||||
```
|
||||
|
||||
You can then configure Prometheus to fetch metrics from Home Assistant by adding to its `scrape_configs` configuration.
|
||||
|
||||
```yaml
|
||||
|
@ -45,6 +45,7 @@ hass.bus.fire(name, { "wow": "from a Python script!" })
|
||||
The following example shows how to call a service from `python_script`. This script takes two parameters: `entity_id` (required), `rgb_color` (optional) and calls `light.turn_on` service by setting the brightness value to `255`.
|
||||
|
||||
```python
|
||||
# turn_on_light.py
|
||||
entity_id = data.get('entity_id')
|
||||
rgb_color = data.get('rgb_color', [255, 255, 255])
|
||||
if entity_id is not None:
|
||||
@ -57,4 +58,21 @@ The above `python_script` can be called using the following JSON as an input.
|
||||
{"entity_id": "light.bedroom", "rgb_color": [255, 0, 0] }
|
||||
```
|
||||
|
||||
## Documenting your Python scripts
|
||||
|
||||
You can add descriptions for your Python scripts that will be shown in the Call Services tab of the Developer Options page. To do so, simply create a `services.yaml` file in your `<config>/python_scripts` folder. Using the above Python script as an example, the `services.yaml` file would look like:
|
||||
|
||||
```yaml
|
||||
# services.yaml
|
||||
turn_on_light:
|
||||
description: Turn on a light and set its color.
|
||||
fields:
|
||||
entity_id:
|
||||
description: The light that will be turned on.
|
||||
example: light.bedroom
|
||||
rgb_color:
|
||||
description: The color to which the light will be set.
|
||||
example: [255, 0, 0]
|
||||
```
|
||||
|
||||
For more examples, visit the [Scripts section](https://community.home-assistant.io/c/projects/scripts) in our forum.
|
||||
|
@ -7,6 +7,8 @@ ha_category:
|
||||
- Binary Sensor
|
||||
- Camera
|
||||
- Sensor
|
||||
- Switch
|
||||
- Light
|
||||
ha_release: 0.42
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
@ -20,8 +22,9 @@ The `ring` implementation allows you to integrate your [Ring.com](https://ring.c
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
- [Camera](#camera) - downloading and playing Ring video will require a Ring Protect plan.
|
||||
- [Camera](#camera)
|
||||
- [Sensor](#sensor)
|
||||
- [Switch](#switch)
|
||||
|
||||
Currently only doorbells are supported by this sensor.
|
||||
|
||||
@ -49,11 +52,16 @@ password:
|
||||
description: The password for accessing your Ring account.
|
||||
required: true
|
||||
type: string
|
||||
scan_interval:
|
||||
description: How frequently to query for new video, or current sensor values in seconds
|
||||
required: false
|
||||
type: integer
|
||||
default: 10
|
||||
{% endconfiguration %}
|
||||
|
||||
## Binary Sensor
|
||||
|
||||
Once you have enabled the [Ring component](/components/ring), you can start using a binary sensor. Add the following to your `configuration.yaml` file:
|
||||
Once you have enabled the [Ring integration](/components/ring), you can start using a binary sensor. Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -81,7 +89,7 @@ Currently it supports doorbell, external chimes and stickup cameras.
|
||||
Please note that downloading and playing Ring video will require a Ring Protect plan.
|
||||
</div>
|
||||
|
||||
Once you have enabled the [Ring component](/components/ring), you can start using the camera platform. Add the following to your `configuration.yaml` file:
|
||||
Once you have enabled the [Ring integration](/components/ring), you can start using the camera platform. Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -94,11 +102,6 @@ ffmpeg_arguments:
|
||||
description: Extra options to pass to ffmpeg, e.g., image quality or video filter options.
|
||||
required: false
|
||||
type: string
|
||||
scan_interval:
|
||||
description: How frequently to query for new video in seconds.
|
||||
required: false
|
||||
type: integer
|
||||
default: 90
|
||||
{% endconfiguration %}
|
||||
|
||||
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation.
|
||||
@ -155,7 +158,7 @@ hass.services.call('downloader', 'download_file', data)
|
||||
|
||||
## Sensor
|
||||
|
||||
Once you have enabled the [Ring component](/components/ring), you can start using the sensor platform. Add the following to your `configuration.yaml` file:
|
||||
Once you have enabled the [Ring integration](/components/ring), you can start using the sensor platform. Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -186,3 +189,27 @@ monitored_conditions:
|
||||
{% endconfiguration %}
|
||||
|
||||
Currently it supports doorbell, external chimes and stickup cameras.
|
||||
|
||||
## Switch
|
||||
|
||||
Once you have enabled the [Ring integration](/components/ring), you can start using the switch platform. Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
- platform: ring
|
||||
```
|
||||
|
||||
This will add a switch for every camera that supports a siren. Note the siren will only turn on for 30 seconds before automatically turning off.
|
||||
|
||||
## Light
|
||||
|
||||
Once you have enabled the [Ring integration](/components/ring), you can start using the light platform. Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: ring
|
||||
```
|
||||
|
||||
This will add a light for every camera that supports a light (such as a flood light).
|
||||
|
@ -1,58 +0,0 @@
|
||||
---
|
||||
title: "Ruter Public Transport"
|
||||
description: "Instructions on how to integrate departure times from Ruter within Home Assistant."
|
||||
logo: ruter.png
|
||||
ha_category:
|
||||
- Transport
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.83
|
||||
redirect_from:
|
||||
- /components/sensor.ruter/
|
||||
---
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
The API used for this sensor is shutting down soon, you should consider starting to use the [`entur_public_transport`](/components/sensor.entur_public_transport/) sensor before that happen.
|
||||
To read the deprecation warning visit [ruter.no/labs](https://ruter.no/labs/),
|
||||
|
||||
</div>
|
||||
|
||||
The `ruter` sensor will provide you departure information for the larger Oslo area in Norway from the [Ruter][ruter] public transportation service.
|
||||
|
||||
This platform is using the [Ruter reisapi API][ruter-api] to gather the information.
|
||||
|
||||
To find the `stop_id` you need to visit the [Ruter][ruter] site and search for your stop.
|
||||
In the URL after you have searched, there will be an ID right after the `Stoppested/` in a format like this `(2190400)`, the numbers there is what you need to put in the `stop_id:` configuration option.
|
||||
|
||||
Add the data to your `configuration.yaml` file as shown in the example:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: ruter
|
||||
stop_id: STOPID
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
stop_id:
|
||||
description: The stop id for the stop you want to monitor.
|
||||
required: true
|
||||
type: string
|
||||
destination:
|
||||
description: A destination name to show only departures that has this as the final stop.
|
||||
required: false
|
||||
type: string
|
||||
offset:
|
||||
description: An offset for the next departure, 0 will give the first one.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
name:
|
||||
description: Name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
default: Ruter
|
||||
{% endconfiguration %}
|
||||
|
||||
[ruter]: https://ruter.no/reiseplanlegger/
|
||||
[ruter-api]: http://reisapi.ruter.no/Help
|
@ -39,6 +39,10 @@ host:
|
||||
required: false
|
||||
default: localhost
|
||||
type: string
|
||||
path:
|
||||
description: Path to your SABnzbd instance corresponding to its `url_base` setting, e.g., `/sabnzbd`.
|
||||
required: false
|
||||
type: string
|
||||
name:
|
||||
description: The name of your SABnzbd instance (this will be the prefix for all created sensors).
|
||||
required: false
|
||||
@ -81,6 +85,7 @@ Available sensors are:
|
||||
sabnzbd:
|
||||
api_key: YOUR_SABNZBD_API_KEY
|
||||
host: 192.168.1.32
|
||||
path: /sabnzbd
|
||||
name: sab
|
||||
port: 9090
|
||||
ssl: true
|
||||
|
@ -10,6 +10,8 @@ ha_release: 0.7
|
||||
|
||||
The `script` integration allows users to specify a sequence of actions to be executed by Home Assistant when turned on. The script integration will create an entity for each script and allow them to be controlled via services.
|
||||
|
||||
## Configuration
|
||||
|
||||
The sequence of actions is specified using the [Home Assistant Script Syntax](/getting-started/scripts/).
|
||||
|
||||
```yaml
|
||||
@ -29,11 +31,49 @@ Script names (e.g., `message_temperature` in the example above) are not allowed
|
||||
|
||||
</div>
|
||||
|
||||
{% configuration %}
|
||||
alias:
|
||||
description: Friendly name for the script.
|
||||
required: false
|
||||
type: string
|
||||
description:
|
||||
description: A description of the script that will be displayed in the Services tab under Developer Tools.
|
||||
required: false
|
||||
default: ''
|
||||
type: string
|
||||
fields:
|
||||
description: Information about the parameters that the script uses; see the [Passing variables to scripts](#passing-variables-to-scripts) section below.
|
||||
required: false
|
||||
default: {}
|
||||
type: map
|
||||
keys:
|
||||
PARAMETER_NAME:
|
||||
description: A parameter used by this script.
|
||||
type: map
|
||||
keys:
|
||||
description:
|
||||
description: A description of PARAMETER_NAME.
|
||||
type: string
|
||||
example:
|
||||
description: An example value for PARAMETER_NAME.
|
||||
type: string
|
||||
sequence:
|
||||
description: The sequence of actions to be performed in the script.
|
||||
required: true
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
### Full Configuration
|
||||
|
||||
```yaml
|
||||
script:
|
||||
# Turns on the bedroom lights and then the living room lights 1 minute later
|
||||
wakeup:
|
||||
alias: Wake Up
|
||||
description: 'Turns on the bedroom lights and then the living room lights after a delay'
|
||||
fields:
|
||||
minutes:
|
||||
description: 'The amount of time to wait before turning on the living room lights'
|
||||
example: 1
|
||||
sequence:
|
||||
# This is Home Assistant Script Syntax
|
||||
- event: LOGBOOK_ENTRY
|
||||
@ -49,7 +89,7 @@ script:
|
||||
brightness: 100
|
||||
- delay:
|
||||
# supports seconds, milliseconds, minutes, hours
|
||||
minutes: 1
|
||||
minutes: {{ minutes }}
|
||||
- alias: Living room lights on
|
||||
service: light.turn_on
|
||||
data:
|
||||
@ -102,6 +142,14 @@ Using the variables in the script requires the use of `data_template`:
|
||||
# Example configuration.yaml entry
|
||||
script:
|
||||
notify_pushover:
|
||||
description: 'Send a pushover notification'
|
||||
fields:
|
||||
title:
|
||||
description: 'The title of the notification'
|
||||
example: 'State change'
|
||||
message:
|
||||
description: 'The message content'
|
||||
example: 'The light is on!'
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: switch.pushover_notifications
|
||||
|
@ -111,6 +111,12 @@ registers:
|
||||
|
||||
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
If you specify scale or offset as floating point values, double precision floating point arithmetic will be used to calculate final value. This can cause loss of precision for values that are larger than 2^53.
|
||||
|
||||
</div>
|
||||
|
||||
### Full example
|
||||
|
||||
Example a temperature sensor with a 10 seconds scan interval:
|
||||
|
@ -12,22 +12,36 @@ redirect_from:
|
||||
|
||||
The `sma` sensor will poll a [SMA](http://www.sma-solar.com/) [(US)](http://www.sma-america.com/) solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant.
|
||||
|
||||
This sensor uses the web interface and in order to use it you have to be able to connect to the solar inverter from your favorite web browser.
|
||||
This sensor uses the web interface and to use it, you have to be able to connect to the solar inverter from your favorite web browser.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
# Example configuration.yaml entry (http)
|
||||
sensor:
|
||||
- platform: sma
|
||||
host: IP_ADDRESS_OF_DEVICE
|
||||
password: YOUR_SMA_PASSWORD
|
||||
sensors:
|
||||
current_consumption: [total_consumption]
|
||||
pv_power:
|
||||
total_yield:
|
||||
- current_consumption
|
||||
- total_consumption
|
||||
- pv_power
|
||||
- total_yield
|
||||
|
||||
# Example configuration.yaml entry (https)
|
||||
sensor:
|
||||
- platform: sma
|
||||
host: IP_ADDRESS_OF_DEVICE
|
||||
ssl: true
|
||||
verify_ssl: false
|
||||
password: YOUR_SMA_PASSWORD
|
||||
sensors:
|
||||
- current_consumption
|
||||
- total_consumption
|
||||
- pv_power
|
||||
- total_yield
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -55,50 +69,10 @@ group:
|
||||
default: user
|
||||
type: string
|
||||
sensors:
|
||||
description: A list of sensors that will be added. The value of the list can include a list of sensor names that will be used as attributes.
|
||||
description: A list of sensors that will be added. Refer to the table in the Sensors section below. If not specified all the sensors in the library will be added.
|
||||
required: false
|
||||
default: All sensors
|
||||
type: list
|
||||
keys:
|
||||
pv_power:
|
||||
description: Current power generated by the inverter (W).
|
||||
pv_gen_meter:
|
||||
description: Total kWh generated to date (kWh)
|
||||
total_yield:
|
||||
description: Total power yield from solar installation (kWh).
|
||||
daily_yield:
|
||||
description: The yield for today (Wh)
|
||||
|
||||
current_consumption:
|
||||
description: Power that you are currently drawing, depending on your installation it can be a combination of the inverter and the grid (W).
|
||||
total_consumption:
|
||||
description: Total power consumption (kWh).
|
||||
|
||||
grid_power_supplied:
|
||||
description: Power supplied (W)
|
||||
grid_power_absorbed:
|
||||
description: Power absorbed (W)
|
||||
grid_total_yield:
|
||||
description: Total power fom the grid (kWh)
|
||||
grid_total_absorbed:
|
||||
description: Total power supplied to the grid
|
||||
|
||||
grid_power:
|
||||
description: Power supplied by the grid (W)
|
||||
frequency:
|
||||
description: Grid frequency (W)
|
||||
voltage_l1:
|
||||
description: Voltage for phase 1 (V)
|
||||
voltage_l2:
|
||||
description: Voltage for phase 2 (V)
|
||||
voltage_l2:
|
||||
description: Voltage for phase 3 (V)
|
||||
|
||||
status:
|
||||
description: Status of the solar plant.
|
||||
|
||||
your-custom-sensor:
|
||||
description: Any sensor name defined in the `custom:` section
|
||||
custom:
|
||||
description: A dictionary of custom sensor key values and units.
|
||||
required: false
|
||||
@ -117,16 +91,36 @@ custom:
|
||||
required: false
|
||||
default: 1
|
||||
type: float
|
||||
path:
|
||||
description: A custom JMESpath to extract the sensor value (typically not required, advanced use only).
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
You can create composite sensors, where the sub-sensors will be attributes of the main sensor. E.g.,
|
||||
## Sensors
|
||||
|
||||
```yaml
|
||||
sensors:
|
||||
- current_power: [total_power, total_consumption]
|
||||
```
|
||||
Sensors available in the library:
|
||||
|
||||
The SMA WebConnect module supports a wide variety of sensors, and not all these have been mapped to standard sensors. Custom sensors can be defined by using the `custom` section of the configuration. You will need: A sensor name (no spaces), the SMA sensor key and the unit
|
||||
| name | Unit | Description |
|
||||
|--------------|------|:-------------------------------------------|
|
||||
| pv_power | W | Current power generated by the inverter. |
|
||||
| pv_gen_meter | kWh | Total kWh generated to date. |
|
||||
| total_yield | kWh | Total power yield from a solar installation. |
|
||||
| daily_yield | Wh | The solar plant's yield for today. !
|
||||
| current_consumption | W | Power that you are currently drawing, depending on your installation it can be a combination of the inverter and the grid. |
|
||||
| total_consumption | kWh | Total power consumption. |
|
||||
| grid_power_supplied | W | Power supplied. |
|
||||
| grid_power_absorbed | W | Power absorbed. |
|
||||
| grid_total_yield | kWh | Total power from the grid. |
|
||||
| grid_total_absorbed | Wh | Total power supplied to the grid
|
||||
| grid_power | W | Power supplied by the grid. |
|
||||
| frequency | Hz | Grid frequency. |
|
||||
| voltage_l1 | V | Voltage for phase 1. |
|
||||
| voltage_l2 | V | Voltage for phase 2. |
|
||||
| voltage_l2 | V | Voltage for phase 3. |
|
||||
| status | | Status of the solar plant. |
|
||||
|
||||
The SMA WebConnect module supports a wide variety of sensors, and not all these have been mapped in the `pysma` library. Custom sensors can be defined by using the `custom` section of the configuration. You will need: A sensor name (no spaces), the SMA sensor key and the unit.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -9,6 +9,14 @@ redirect_from:
|
||||
- /components/sensor.srp_energy/
|
||||
---
|
||||
|
||||
<div class="note warning">
|
||||
|
||||
This integration is deprecated and will be removed in Home Assistant 0.100.0.
|
||||
|
||||
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
|
||||
|
||||
</div>
|
||||
|
||||
The `srp_energy` integration shows information from Srp hourly energy usage report for their customers. The srpenergy module fetches the data found on the website.
|
||||
|
||||
You need a Username, Password, and AccountId which you can create at [Srp](https://www.srpnet.com).
|
||||
|
@ -15,8 +15,7 @@ To use your PCA 301 switch or socket in your installation, add the following to
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
- platform: pca
|
||||
elv:
|
||||
device: SERIAL_PORT
|
||||
```
|
||||
|
||||
|
@ -12,6 +12,14 @@ redirect_from:
|
||||
|
||||
The `sytadin` sensor platform allows you to monitor traffic details from [Sytadin](http://www.sytadin.fr).
|
||||
|
||||
<div class="note warning">
|
||||
|
||||
This integration is deprecated and will be removed in Home Assistant 0.100.0.
|
||||
|
||||
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
|
||||
|
||||
</div>
|
||||
|
||||
## Configuration
|
||||
|
||||
To add Sytadin to your installation, add the following to your `configuration.yaml` file:
|
||||
|
@ -10,11 +10,15 @@ redirect_from:
|
||||
- /components/device_tracker.traccar/
|
||||
---
|
||||
|
||||
`Traccar` uses GPS for tracking and has support for over 1500 different types of devices.
|
||||
`Traccar` uses GPS for tracking and has support for over 1500 different types of devices. One option is to track the [Traccar Client](https://www.traccar.org/client/) app on a smartphone via `webhook`. The other option is to connect to an existing [Traccar Server](https://www.traccar.org/server/) installation which is also available as Hass.io addon.
|
||||
|
||||
## Configuration
|
||||
## Traccar Client
|
||||
|
||||
To integrate Traccar GPS tracker in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
To configure Traccar Client, you must set it up via the integrations panel in the configuration screen. This will give you the webhook URL to use during mobile device configuration. This URL has to be set in the Traccar app.
|
||||
|
||||
## Traccar Server
|
||||
|
||||
To integrate Traccar Server in Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -39,7 +39,7 @@ unifi:
|
||||
site: My site
|
||||
ssid_filter:
|
||||
- 'HomeSSID'
|
||||
'IoTSSID'
|
||||
- 'IoTSSID'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -63,6 +63,21 @@ detection_time:
|
||||
type: integer
|
||||
required: false
|
||||
default: 300
|
||||
dont_track_clients:
|
||||
description: enable to not allow device tracker to track clients.
|
||||
type: boolean
|
||||
required: false
|
||||
default: false
|
||||
dont_track_devices:
|
||||
description: enable to not allow device tracker to track devices.
|
||||
type: boolean
|
||||
required: false
|
||||
default: false
|
||||
dont_track_wired_clients:
|
||||
description: enable to not allow device tracker to track wired clients.
|
||||
type: boolean
|
||||
required: false
|
||||
default: false
|
||||
ssid_filter:
|
||||
description: Filter the SSIDs that tracking will occur on.
|
||||
type: list
|
||||
|
@ -3,12 +3,12 @@ title: "Updater"
|
||||
description: "Detecting when Home Assistant updates are available."
|
||||
logo: home-assistant.png
|
||||
ha_category:
|
||||
- Other
|
||||
- binary_sensor
|
||||
ha_qa_scale: internal
|
||||
ha_release: 0.8
|
||||
---
|
||||
|
||||
The `updater` integration will check daily for new releases. It will show a badge in the frontend if a new version is found. As [Hass.io](/hassio/) has its own schedule for release it doesn't make sense to use this integration on Hass.io.
|
||||
The `updater` binary sensor will check daily for new releases. The state will be "on" when an update is available. Otherwise, the state will be "off". The newer version, as well as the link to the release notes, are attributes of the updater. As [Hass.io](/hassio/) has its own schedule for release it doesn't make sense to use this binary sensor on Hass.io.
|
||||
|
||||
The updater integration will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/updater).
|
||||
|
||||
@ -59,12 +59,14 @@ For an added bonus, an automation integration can be created to send a message w
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
automation:
|
||||
alias: 'Update Available Notifications'
|
||||
alias: Update Available Notification
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: updater.updater
|
||||
- platform: state
|
||||
entity_id: binary_sensor.updater
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
action:
|
||||
service: notify.notify
|
||||
- service: notify.notify
|
||||
data:
|
||||
message: 'Update for Home Assistant is available.'
|
||||
```
|
||||
|
@ -10,6 +10,14 @@ redirect_from:
|
||||
- /components/sensor.ups/
|
||||
---
|
||||
|
||||
<div class="note warning">
|
||||
|
||||
This integration is deprecated and will be removed in Home Assistant 0.100.0.
|
||||
|
||||
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
|
||||
|
||||
</div>
|
||||
|
||||
The `ups` platform allows one to track deliveries by the [UPS](https://www.ups.com/). To use this sensor, you need a [My UPS Account](https://www.ups.com/mychoice).
|
||||
|
||||
## Configuration
|
||||
|
@ -13,6 +13,14 @@ redirect_from:
|
||||
- /components/sensor.usps/
|
||||
---
|
||||
|
||||
<div class="note warning">
|
||||
|
||||
This integration is deprecated and will be removed in Home Assistant 0.100.0.
|
||||
|
||||
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
|
||||
|
||||
</div>
|
||||
|
||||
The `usps` platform allows one to track deliveries and inbound mail from the [US Postal Service (USPS)](https://www.usps.com/).
|
||||
In addition to having a USPS account, you will need to complete the "Opt-In" process for packages by clicking "Get Started Now" on [this page](https://my.usps.com/mobileWeb/pages/intro/start.action). You must also "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see inbound mail.
|
||||
|
||||
|
@ -56,6 +56,8 @@ The custom quirks implementations for zigpy implemented as ZHA Device Handlers f
|
||||
- [ConBee II (a.k.a. ConBee 2) USB adapter from Dresden-Elektronik](https://shop.dresden-elektronik.de/conbee-2.html)
|
||||
- [ConBee USB adapter from Dresden-Elektronik](https://www.dresden-elektronik.de/conbee/)
|
||||
- [RaspBee Raspberry Pi Shield from Dresden-Elektronik](https://www.dresden-elektronik.de/raspbee/)
|
||||
- ZiGate based radios (via the [zigpy-zigate](https://github.com/doudz/zigpy-zigate) library for zigpy)
|
||||
- ZiGate USB modules (require firmware 3.1a or later)
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -72,7 +74,7 @@ zha:
|
||||
|
||||
{% configuration %}
|
||||
radio_type:
|
||||
description: One of `ezsp`, `xbee` or `deconz`.
|
||||
description: One of `ezsp`, `xbee`, `deconz` or `zigate`.
|
||||
required: false
|
||||
type: string
|
||||
default: ezsp
|
||||
|
@ -15,12 +15,14 @@ notify:
|
||||
recipient: recipient@jabber.org
|
||||
|
||||
automation:
|
||||
- alias: Update notifications
|
||||
- alias: Update notification
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: updater.updater
|
||||
entity_id: binary_sensor.updater
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
action:
|
||||
service: notify.jabber
|
||||
- service: notify.jabber
|
||||
data:
|
||||
message: 'There is a new Home Assistant release available.'
|
||||
```
|
||||
@ -29,20 +31,22 @@ You can use [templates](/topics/templating/) to include the release number of Ho
|
||||
|
||||
```yaml
|
||||
notify:
|
||||
platform: pushbullet
|
||||
- platform: pushbullet
|
||||
api_key: 'YOUR_KEY_HERE'
|
||||
name: pushbullet
|
||||
|
||||
automation:
|
||||
- alias: Update notifications
|
||||
- alias: Update notification
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: updater.updater
|
||||
entity_id: binary_sensor.updater
|
||||
from: 'off'
|
||||
to: 'on'
|
||||
action:
|
||||
service: notify.pushbullet
|
||||
- service: notify.pushbullet
|
||||
data_template:
|
||||
title: 'New Home Assistant Release'
|
||||
target: 'YOUR_TARGET_HERE' #See Pushbullet integration for usage
|
||||
message: "Home Assistant {% raw %} {{ states('updater.updater') }} {% endraw %} is now available."
|
||||
message: "Home Assistant {% raw %} {{ state_attr('binary_sensor.updater', 'newest_version') }} {% endraw %} is now available."
|
||||
```
|
||||
|
||||
|
@ -268,6 +268,10 @@ Some of these functions can also be used in a [filter](http://jinja.pocoo.org/do
|
||||
- `sin(value)` will return the sine of the input. Can be used as a filter.
|
||||
- `cos(value)` will return the cosine of the input. Can be used as a filter.
|
||||
- `tan(value)` will return the tangent of the input. Can be used as a filter.
|
||||
- `asin(value)` will return the arcus sine of the input. Can be used as a filter.
|
||||
- `acos(value)` will return the arcus cosine of the input. Can be used as a filter.
|
||||
- `atan(value)` will return the arcus tangent of the input. Can be used as a filter.
|
||||
- `atan2(y, x)` will return the four quadrant arcus tangent of y / x. Can be used as a filter.
|
||||
- `sqrt(value)` will return the square root of the input. Can be used as a filter.
|
||||
- `e` mathematical constant, approximately 2.71828.
|
||||
- `pi` mathematical constant, approximately 3.14159.
|
||||
|
@ -27,7 +27,7 @@ network_key:
|
||||
type: string
|
||||
default: None
|
||||
config_path:
|
||||
description: "The path to the Python OpenZWave configuration files. NOTE: there is also the [update_config service](/docs/z-wave/services/) to perform updating the config within python-openzwave automatically."
|
||||
description: The path to the Python OpenZWave configuration files.
|
||||
required: false
|
||||
type: string
|
||||
default: the 'config' that is installed by python-openzwave
|
||||
|
@ -31,7 +31,6 @@ The `zwave` integration exposes multiple services to help maintain the network.
|
||||
| stop_network | Stops the Z-Wave network. |
|
||||
| test_network | Tells the controller to send no-op commands to each node and measure the time for a response. In theory, this can also bring back nodes which have been marked "presumed dead." |
|
||||
| test_node | Tells the controller to send no-op command(s) to a specific node. Requires `node_id` field. You can specify amount of test_messages to send by specifying it with `messages` field. In theory, this could bring back nodes marked as "presumed dead"
|
||||
| update_config | Attempt to update OZW configuration files from git to support newer devices. After you run this, wait a few minutes then stop Home Assistant. You can now back up your `zwcfg_*.xml` file, then delete the relevant entries from your `zwcfg_*.xml` (between and including `<Node id="?">` and `</Node>`), and finally start Home Assistant. |
|
||||
|
||||
The `soft_reset` and `heal_network` commands can be used to help keep a Z-Wave network running reliably. This is a configuration option for the `zwave` component. The option defaults to `false` but can be enabled by setting `autoheal` to true. This, however, is bad practice since it introduces overhead that can be avoided since you only need to do a `heal_network` whenever one of the following actions are done:
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
|
||||
<div class='grid__item one-third lap-one-half palm-one-whole'>
|
||||
<ul>
|
||||
<li><a href='https://alerts.home-assistant.io'>Home Assistant Alerts</a></li>
|
||||
<li><a href='https://developers.home-assistant.io'>Developers</a></li>
|
||||
<li><a href='https://data.home-assistant.io'>Data Science</a></li>
|
||||
<li><a href='mailto:hello@home-assistant.io'>Contact</a> (no support!)</li>
|
||||
|
@ -18,13 +18,23 @@ type:
|
||||
type: string
|
||||
content:
|
||||
required: true
|
||||
description: "Content to render as [markdown](http://commonmark.org/help/)."
|
||||
description: "Content to render as [markdown](http://commonmark.org/help/). May contain [templates](/configuration/templating/)."
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
description: The card title.
|
||||
type: string
|
||||
default: none
|
||||
card_size:
|
||||
required: false
|
||||
type: integer
|
||||
default: none
|
||||
description: The algorithm for placing cards aesthetically in lovelace may have problems with the markdown card if it contains templates. You can use this value to help it estimate the height of the card in units of 50 pixels (approximately 3 lines of text in default size). (e.g., `4`)
|
||||
entity_id:
|
||||
required: false
|
||||
type: [string, list]
|
||||
default: none
|
||||
description: "A list of entity IDs so a template in `content:` only reacts to the state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities."
|
||||
{% endconfiguration %}
|
||||
|
||||
## Example
|
||||
@ -36,3 +46,27 @@ content: >
|
||||
|
||||
Starting with Home Assistant 0.72, we're experimenting with a new way of defining your interface. We're calling it the **Lovelace UI**.
|
||||
```
|
||||
|
||||
## Template variables
|
||||
|
||||
A special template variable - `config` is set up for the `content` of the card. It contains the configuration of the card.
|
||||
|
||||
E.g.
|
||||
{% raw %}
|
||||
```yaml
|
||||
type: entity-filter
|
||||
entities:
|
||||
- light.bed_light
|
||||
- light.ceiling_lights
|
||||
- light.kitchen_lights
|
||||
card:
|
||||
type: markdown
|
||||
content: |
|
||||
The lights that are on are:
|
||||
{% for l in config.entities %}
|
||||
- {{ l.entity }}
|
||||
{%- endfor %}
|
||||
|
||||
And the door is {% if is_state('binary_sensor.door', 'on' %} open {% else %} closed {% endif %}.
|
||||
```
|
||||
{% endraw %}
|
||||
|
797
source/_posts/2019-08-28-release-98.markdown
Normal file
@ -0,0 +1,797 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.98: Improved entity management, options and Home Assistant Alerts"
|
||||
description: "Lots of small tweaks left and right to streamline the experience."
|
||||
date: 2019-08-28 01:11:03
|
||||
date_formatted: "August 28, 2019"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2019-08-0.98/components.png
|
||||
---
|
||||
|
||||
<a href='/components/#version/0.98'><img src='/images/blog/2019-08-0.98/components.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
It's time for the 0.98 release. As Home Assistant grows, some features will sometimes be left partially implemented, leaving things to be desired. In this release we've been focusing on tieing up these loose ends, sometimes with new features. Getting better all the time!
|
||||
|
||||
## Entity Management
|
||||
|
||||
One of the things that we've been improving in this release is entity management. Historically we've let this up to integrations, but that caused users to learn multiple ways and more work for integration developers.
|
||||
|
||||
Generally entity management is not that important, you want all the entities created by your integrations! However this was less the case when we started migrating over device trackers. This became clear when we migrated over Unifi.
|
||||
|
||||
So in this release we're introducing a couple of new features that are available for all entities in the entity registry and integrations that are set up via config entries.
|
||||
|
||||
The first feature is that it's now possible to disable entities. If an entity is disabled, it will not be added to Home Assistant when an integration adds it. So now it will be easy to manage which entities will show up. This option is accessible from the entity registry
|
||||
|
||||
The second feature is a new option to automatically disable any new entities that an integration discovers. In the case of a device tracker, newly connected devices to the network won't be added anymore. This option is accessible from the integration details page via a button on the toolbar at the top.
|
||||
|
||||
With these two features we are now at feature parity with the filtering features that are available in the device tracker integration. Next step will be polishing of the person integration to get all those shiny new device tracker entities under one roof.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2019-08-0.98/system_options.png' alt='Screenshot of integration system options.'>
|
||||
Screenshot of integration system options
|
||||
</p>
|
||||
|
||||
## Config Entry Options
|
||||
|
||||
We introduced config entries last year as our way as a generic way for integrations to store authentication and configuration. By allowing integrations to define the storage format, there are no more breaking changes for anything stored inside config entries!
|
||||
|
||||
Config entries also work great with people who prefer configuration.yaml. At startup a config entry is created/updated with the configuration.
|
||||
|
||||
With this release [@kane610] added a new possibility for integrations to offer options in the UI. Options that previously required you to edit configuration.yaml can now be offered via the interface.
|
||||
|
||||
This release adds config entry options to [Deconz][deconz docs] and [Unifi][unifi docs] integrations with many more to come.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2019-08-0.98/options_flow.png' alt='Screenshot of Unifi config options.'>
|
||||
Screenshot of Unifi config options
|
||||
</p>
|
||||
|
||||
## Home Assistant Alerts
|
||||
|
||||
Devices and services can receive updates that can cause integrations to break. This is frustrating and sometimes the cause can be hard to track down. Usually the users on forums/chat are aware and can help redirect people in the right direction, but that's not a scalable solution!
|
||||
|
||||
So to combat this, we're launching [Home Assistant Alerts](https://alerts.home-assistant.io/). Home Assistant Alerts is a website that will track known issues and explains in user friendly language what is going on. Alerts can be tagged with applicable Home Assistant versions, integrations and Python packages.
|
||||
|
||||
In the future we're planning on integrating this directly in Home Assistant, so that users can be pro-actively notified of issue related to their configuration.
|
||||
|
||||
## Docker base image change
|
||||
|
||||
If you run Home Assistant via Docker (not Hass.io) and are using the `homeassistant/home-assistant` container, the images are now using the same images as hass.io, which are using Alpine Linux instead of Debian.
|
||||
|
||||
The hass.io images are a third of the size of the old images and are heavily optimized thanks to the hard work by [@pvizeli].
|
||||
|
||||
This change will only impact you if you were extending or customizing the image with Debian packages. If you want to continue to use the Debian based images, you can find the Dockerfile for the old images [here](https://github.com/home-assistant/home-assistant/blob/0.97.2/Dockerfile).
|
||||
|
||||
For more background on this decision, see [ADR-006](https://github.com/home-assistant/architecture/blob/master/adr/0006-docker-images.md).
|
||||
|
||||
## Webscraping
|
||||
|
||||
With this release we have deprecated integrations that rely on webscraping. These will be removed from Home Assistant in a future release. Our [scrape](/components/scrape/) integration will remain part of Home Assistant.
|
||||
|
||||
Webscraping is fragile, breaks often requires frequent updates and there have been occassions where websites have banned our users.
|
||||
|
||||
Users that rely on these integrations can continue using them as custom components.
|
||||
|
||||
For more background on this decision, see [ADR-004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
|
||||
|
||||
## In Other News
|
||||
|
||||
[Mason Made](https://www.youtube.com/channel/UCI_ONUzb4QCVuR57IL7C8rw) created a great video walking through her Lovelace UI with a fancy custom sidebar. Check it out:
|
||||
|
||||
<div class="videoWrapper">
|
||||
<iframe width="853" height="480" src="https://www.youtube-nocookie.com/embed/MUrD0CrU-vQ" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
Reddit user [Skyfox2k](https://www.reddit.com/user/Skyfox2k) has built [a batcave for his robo vacuum](https://www.reddit.com/r/homeautomation/comments/ctnq54/it_works_hidden_alexa_routines_powered_zone/). Once the vacuum starts, Home Assistant will open the door and the vacuum can come out to clean!
|
||||
|
||||
|
||||
<p class='img'>
|
||||
<a href="https://www.reddit.com/r/homeautomation/comments/ctnq54/it_works_hidden_alexa_routines_powered_zone/"><img src='/images/blog/2019-08-0.98/batcave.png' alt='Photo of a robovacuum driving out of a tiny hole in the wall.'></a>
|
||||
Screencap of the batcave video.
|
||||
</p>
|
||||
|
||||
## New Integrations
|
||||
|
||||
- Add Plugwise component ([@CoMPaTech] - [#25533]) ([plugwise docs]) (new-integration)
|
||||
- GeoNet NZ Quakes feed integration ([@exxamalte] - [#25736]) ([geonetnz_quakes docs]) (new-integration)
|
||||
- Add Keba charging station/wallbox as component ([@dannerph] - [#24484]) ([keba docs]) (new-integration)
|
||||
- Add Minio component ([@tkislan] - [#23567]) ([minio docs]) (new-integration)
|
||||
|
||||
## New Platforms
|
||||
|
||||
- Add ring switch platform ([@rossdargan] - [#25612]) ([ring docs]) (new-platform)
|
||||
- Add ring light platform ([@rossdargan] - [#25733]) ([ring docs]) (new-platform)
|
||||
- Expose Lutron RA2 occupancy sensors ([@achatham] - [#25854]) ([lutron docs]) (new-platform)
|
||||
|
||||
## If you need help...
|
||||
|
||||
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).
|
||||
|
||||
## Reporting Issues
|
||||
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
|
||||
|
||||
<!--more-->
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
- **Deprecated**
|
||||
|
||||
Integrations which make use of web scraping and are pending for removal in Home Assistant 0.100.0 [ADR-004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md):
|
||||
- **USPS** - ([@frenck] - [#25743]) ([usps docs])
|
||||
- **SYTADIN** - ([@frenck] - [#25742]) ([sytadin docs])
|
||||
- **UPS** - ([@frenck] - [#25746]) ([ups docs])
|
||||
- **FEDEX** - ([@frenck] - [#25745]) ([fedex docs])
|
||||
- **SRP Energy** - ([@frenck] - [#25754]) ([srp_energy docs])
|
||||
- **Linksys AP** - ([@frenck] - [#25804]) ([linksys_ap docs])
|
||||
|
||||
- **Ruter** - *Removed* - Ruter Labs which hosted the API has shut down the service. As an alternative, see the Entur public transport integration. - ([@ludeeus] - [#26041])
|
||||
- **Googlehome** - *Removed* - In recent months this integration was broken when Google changed the port they serve this information on, in addition to requiring a token header in the request. That method requires the user to have a rooted android device, and even then then the "result" was not the best, since you often need to get that token. As an alternative to the device tracker, users can look into https://community.home-assistant.io/t/monitor-reliable-multi-user-distributed-bluetooth-occupancy-presence-detection/68505 - ([@ludeeus] - [#26035])
|
||||
- **EDP Ready** - *Removed* - The service has moved to a new portal and the previous API does not work
|
||||
anymore. - ([@abmantis] - [#25971])
|
||||
- **Zwave** - `zwave.update_config` service call has been removed. - ([@kpine] - [#25959]) ([zwave docs])
|
||||
- **Nissanleaf** - Nissan leaf European API no longer supports location control. The `nissan_connect:` element from the homeassistant `nissan_leaf:` configuration must be removed. - ([@filcole] - [#26139]) ([nissan_leaf docs])
|
||||
|
||||
- **ZHA** - This change has the unique_id use the ieee address instead of the nwk address. The ieee address is static and therefore the unique_id will be stable now. - ([@dmulcahey] - [#25707]) ([zha docs])
|
||||
|
||||
Previous format:
|
||||
`unique_id=0x0b64:1:0x0006`
|
||||
|
||||
New format:
|
||||
`unique_id=00:0d:6f:00:0e:c8:d4:e7:1:0x0006`
|
||||
|
||||
- **Updater** - The updater component is now a binary sensor that is always available. The entity ID is `binary_sensor.updater`. The state is on/off depending on whether an update is available or not. The latest version as well as the release notes are attributes of this binary sensor. Automations that are listening for the existence of `updater.updater` should now trigger when `binary_sensor.updater` changes to on. This makes the component more transparent and understandable for the user. Additionally, it is visible if there is an error or the source (https://updater.home-assistant.io/) is outdated. - ([@Santobert] - [#25418]) ([updater docs])
|
||||
- **Mikrotik** - The Mikrotik device tracker integration is now a component (hub) with a device tracker platform. If you have a device_tracker section where `mikrotik` is a platform in your configuration.yaml you will need to move it to the hub config section for `mikrotik` and make sure you follow the new config format. - ([@slackr31337] - [#25664]) ([mikrotik docs])
|
||||
|
||||
Example configuration entry:
|
||||
```yaml
|
||||
mikrotik:
|
||||
- host: 192.168.88.1
|
||||
username: !secret router_user
|
||||
password: !secret router_pass
|
||||
ssl: true
|
||||
|
||||
- host: 192.168.88.2
|
||||
username: !secret capsman_user
|
||||
password: !secret capsman_pass
|
||||
ssl: true
|
||||
```
|
||||
- **Prometheus** - Previously, the integration would create too many metrics based on `entity_id` name which would pollute and fill the database. The naming of metrics has been changed and doesn't use the `entity_id` anymore. Any consumers of the prometheus data will need to be changed to use the new names. The user can now also use the new `component_config_glob` to remap the metrics any way the user sees fit. - ([@perosb] - [#24103]) ([prometheus docs])
|
||||
|
||||
Example configuration entry:
|
||||
```yaml
|
||||
prometheus:
|
||||
namespace: hass
|
||||
component_config_glob:
|
||||
# override metric for RFLink devices
|
||||
sensor.*_hum:
|
||||
override_metric: humidity_percent
|
||||
sensor.*_temp:
|
||||
override_metric: temperature_c
|
||||
sensor.*_bat:
|
||||
override_metric: battery_percent
|
||||
filter:
|
||||
include_domains:
|
||||
- sensor
|
||||
- lock
|
||||
```
|
||||
|
||||
- **Kodi** - Kodi services are now their own domain and the `media_player.kodi_*` services are now `kodi.*` - ([@JeffLIrion] - [#25753]) ([kodi docs])
|
||||
- `media_player.kodi_add_to_playlist` is now `kodi.add_to_playlist`
|
||||
- `media_player.kodi_call_method` is now `kodi.call_method`
|
||||
|
||||
- **Sonos** - This change rejects previously accepted calls using content_types (image, tvshow, video, episode or channel) when using `media_player.play_media`, and changes the behavior of a content_type of "playlist" to play a Sonos playlist, rather than a URL. - ([@ahertz] - [#26054]) ([sonos docs])
|
||||
|
||||
- **Statistics** - The names of statistics sensor no longer get `mean` or `count` appended automatically, respecting the name configured by the user. If you use this integration, this name change will affect the name of the entity. - ([@frenck] - [#26119]) ([statistics docs])
|
||||
|
||||
Example configuration entry:
|
||||
```yaml
|
||||
- platform: statistics
|
||||
name: 'MiAP2 PSI Stat'
|
||||
entity_id: sensor.mi_ap2_aqi
|
||||
```
|
||||
|
||||
## Beta Fixes
|
||||
|
||||
- Load user-provided descriptions for python_scripts ([@JeffLIrion] - [#26069]) ([python_script docs]) (beta fix)
|
||||
- Splitt device_state_attributes between device and group for Homematic IP Cloud ([@SukramJ] - [#26137]) ([homematicip_cloud docs]) (beta fix)
|
||||
- Nissanleaf login fix ([@filcole] - [#26139]) ([nissan_leaf docs]) (breaking change) (beta fix)
|
||||
- Log warning if disabled entities receive updates. ([@balloob] - [#26143]) (beta fix)
|
||||
- Fix tuya switch state ([@PaulAnnekov] - [#26145]) ([tuya docs]) (beta fix)
|
||||
- Reload config entry when entity enabled in entity registry, remove entity if disabled. ([@balloob] - [#26120]) (beta fix)
|
||||
- CoolMaster: Change auto to heat_cool ([@OnFreund] - [#26144]) ([coolmaster docs]) (breaking change) (beta fix)
|
||||
- Bump androidtv to 0.0.24 ([@JeffLIrion] - [#26158]) ([androidtv docs]) (beta fix)
|
||||
- fix issue setting scan_interval ([@chaoranxie] - [#26165]) ([google_maps docs]) (beta fix)
|
||||
- Fix possible KeyError in SimpliSafe ([@bachya] - [#26190]) ([simplisafe docs]) (beta fix)
|
||||
- Update pyheos to 0.6.0 ([@andrewsayre] - [#26191]) ([heos docs]) (beta fix)
|
||||
- bump quirks version ([@dmulcahey] - [#26198]) ([zha docs]) (beta fix)
|
||||
- luci device-tracker dependency fix ([@flowolf] - [#26215]) ([luci docs]) (beta fix)
|
||||
- deCONZ normalizes cover values to follow zigbee spec ([@Kane610] - [#26240]) ([deconz docs]) (beta fix)
|
||||
- SMA beta fix #26225 ([@kellerza] - [#26244]) ([sma docs]) (beta fix)
|
||||
|
||||
## All changes
|
||||
|
||||
- script/test: fix tox env ([@scop] - [#25620])
|
||||
- Move mypy settings to setup.cfg ([@scop] - [#25611])
|
||||
- Add support for HomeKit CO2 sensors ([@tleegaard] - [#25603]) ([homekit_controller docs])
|
||||
- Fix test_install_existing_package ([@elupus] - [#25627])
|
||||
- Blacken top level *.py ([@scop] - [#25621])
|
||||
- Huawei LTE sensor unique id improvements ([@scop] - [#25609]) ([huawei_lte docs])
|
||||
- Add some debugging to azure mypy job ([@scop] - [#25632])
|
||||
- Add each fronius sensor as own template ([@nielstron] - [#25608]) ([fronius docs])
|
||||
- Add Plugwise component ([@CoMPaTech] - [#25533]) ([plugwise docs]) (new-integration)
|
||||
- Fix velbus codeowner ([@Cereal2nd] - [#25649]) ([velbus docs])
|
||||
- ZHA code cleanup. ([@Adminiuga] - [#25644]) ([zha docs])
|
||||
- Add ELECTRICITY_IMPORTED_TOTAL obis to dsmr ([@johnnychicago] - [#25655]) ([dsmr docs])
|
||||
- isort ZHA imports. ([@Adminiuga] - [#25660]) ([zha docs])
|
||||
- Azure mypy related tweaks ([@scop] - [#25663])
|
||||
- Spelling fixes ([@scop] - [#25666])
|
||||
- Azure ci templates ([@pvizeli] - [#25688])
|
||||
- Upgrade pydocstyle to 4.0.0, do not run in tox ([@scop] - [#25667]) ([filter docs]) ([islamic_prayer_times docs]) ([lw12wifi docs]) ([wunderground docs])
|
||||
- Plugwise haanna 0.10.1 ([@CoMPaTech] - [#25693]) ([plugwise docs])
|
||||
- Bump geniushub client, handle dead devices, handle raise_for_status ([@zxdavb] - [#25687]) ([geniushub docs])
|
||||
- Refactor ZHA Zigbee Cluster report configuration ([@Adminiuga] - [#25589]) ([zha docs])
|
||||
- Make myself the codeowner for androidtv ([@JeffLIrion] - [#25697]) ([androidtv docs])
|
||||
- Add usb_path to Z-Wave network_status websocket response ([@cgarwood] - [#25617]) ([zwave docs])
|
||||
- PS4 Merge async_setup_platform into async_setup_entry ([@ktnrg45] - [#25689]) ([ps4 docs])
|
||||
- Zwave Climate: Fan state attribute missing (#25287) ([@jaminh] - [#25573]) ([zwave docs])
|
||||
- fix unique id in cluster channels ([@dmulcahey] - [#25707]) ([zha docs]) (breaking change)
|
||||
- don't mark devices unavailable without ping try ([@dmulcahey] - [#25710]) ([zha docs])
|
||||
- stagger device init to avoid flooding network ([@dmulcahey] - [#25709]) ([zha docs])
|
||||
- Bump androidtv to 0.0.21; add 'state_detection_rules' config parameter ([@JeffLIrion] - [#25647]) ([androidtv docs])
|
||||
- Refactor ZHA Zigbee channel registry. ([@Adminiuga] - [#25716]) ([zha docs])
|
||||
- Add zigate support to zha ([@doudz] - [#25552]) ([zha docs])
|
||||
- Add ring switch platform ([@rossdargan] - [#25612]) ([ring docs]) (new-platform)
|
||||
- Add ring light platform ([@rossdargan] - [#25733]) ([ring docs]) (new-platform)
|
||||
- Use more decorators for ZHA Core registries. ([@Adminiuga] - [#25737]) ([zha docs])
|
||||
- Implement "Aux Heat" support for Zwave Climate ([@eyager1] - [#25694]) ([zwave docs])
|
||||
- Add test case to identify missing MQTT configuration abbreviations ([@emontnemery] - [#25616]) ([mqtt docs])
|
||||
- Manufacturer specific channel for SmartThings. ([@Adminiuga] - [#25739]) ([zha docs])
|
||||
- Deprecates usps integration (ADR-0004) ([@frenck] - [#25743]) ([usps docs]) (breaking change)
|
||||
- Deprecates sytadin integration (ADR-0004) ([@frenck] - [#25742]) ([sytadin docs]) (breaking change)
|
||||
- Deprecates ups integration (ADR-0004) ([@frenck] - [#25746]) ([ups docs]) (breaking change)
|
||||
- Deprecates fedex integration (ADR-0004) ([@frenck] - [#25745]) ([fedex docs]) (breaking change)
|
||||
- Deprecates srp_energy integration (ADR-0004) ([@frenck] - [#25754]) ([srp_energy docs]) (breaking change)
|
||||
- Updater component is always available and shows on/off depending on whether an update is available or not ([@Santobert] - [#25418]) ([updater docs]) (breaking change)
|
||||
- Integration requirement check refactor ([@elupus] - [#25626])
|
||||
- Add Mikrotik hub and rework device tracker ([@slackr31337] - [#25664]) ([mikrotik docs]) (breaking change)
|
||||
- Deprecates linksys_ap integration (ADR-0004) ([@frenck] - [#25804]) ([linksys_ap docs]) (breaking change)
|
||||
- Fix Broadlink MP1 unavailable error ([@miroslawkrol] - [#25806]) ([broadlink docs])
|
||||
- Add arcus trigonometry functions to templates ([@tomilehto] - [#25510])
|
||||
- Add error handling to !include command in yaml ([@thomasloven] - [#25801])
|
||||
- Webhook for Traccar ([@escoand] - [#24762]) ([traccar docs])
|
||||
- Refactor ZHA device initialized logic ([@dmulcahey] - [#25796]) ([zha docs])
|
||||
- Fix 64-bit modbus sensor register reads ([@tomilehto] - [#25672]) ([modbus docs])
|
||||
- GeoNet NZ Quakes feed integration ([@exxamalte] - [#25736]) ([geonetnz_quakes docs]) (new-integration)
|
||||
- Fix device re-connect when API connection lost ([@slackr31337] - [#25842])
|
||||
- Prometheus metrics naming based on device_class and unit_of_measurement ([@perosb] - [#24103]) ([prometheus docs]) (breaking change)
|
||||
- Websocket call for rendering jinja2 templates subscription ([@thomasloven] - [#25614]) ([websocket_api docs])
|
||||
- Bump androidtv to 0.0.22 ([@JeffLIrion] - [#25848]) ([androidtv docs])
|
||||
- Move Kodi services from 'media_player' domain to 'kodi' ([@JeffLIrion] - [#25753]) ([kodi docs]) (breaking change)
|
||||
- Update sensor.py ([@MatsNl] - [#25825]) ([statistics docs])
|
||||
- Add pip-wheel-metadata in .gitignore ([@oncleben31] - [#25832])
|
||||
- Fix configuration field name ([@skarcha] - [#25840]) ([plex docs])
|
||||
- Allow components with empty list config (i.e. person) in packages ([@kellerza] - [#25827])
|
||||
- Make reproduce state use platform instead of rely on function ([@balloob] - [#25856]) ([climate docs]) ([group docs]) ([media_player docs])
|
||||
- Type check various base components ([@scop] - [#25878])
|
||||
- Fix script/translations_develop launch + clean some unused error i18n ([@Quentame] - [#25459]) ([arcam_fmj docs]) ([heos docs]) ([tellduslive docs]) ([twentemilieu docs]) ([upnp docs]) ([vesync docs]) ([zha docs])
|
||||
- Tado AIR_CONDITIONING module was not working propertly ([@ejaviga] - [#25677]) ([tado docs])
|
||||
- First pass fixing tests that raise exceptions caught by asyncio.gather ([@balloob] - [#25860]) ([demo docs]) ([vacuum docs])
|
||||
- Add reproduce state support to input_boolean ([@balloob] - [#25858]) ([input_boolean docs])
|
||||
- eq3bt: handle zero (closed valve) as a valid mode. fixes #25333 ([@rytilahti] - [#25905]) ([eq3btsmart docs])
|
||||
- Update syncthru library to fix issue ([@nielstron] - [#25924]) ([syncthru docs])
|
||||
- Bump version of library aio_geojson_geonetnz_quakes to v0.9 ([@exxamalte] - [#25946]) ([geonetnz_quakes docs])
|
||||
- Add OTGW domestic hot water enable option as service ([@tcoenraad] - [#25849]) ([opentherm_gw docs])
|
||||
- Bump androidtv to 0.0.23 ([@JeffLIrion] - [#25950])
|
||||
- Use canonical pre-commit black URL ([@scop] - [#25948])
|
||||
- Update homekit_controller import style ([@Jc2k] - [#25940]) ([homekit_controller docs])
|
||||
- Handle more Life360 errors in config flow & bump package to 4.1.1 ([@pnbruckner] - [#25930]) ([life360 docs])
|
||||
- Improve Sonos error handling on slow networks ([@amelchio] - [#25902]) ([sonos docs])
|
||||
- Bump simplisafe-python to 4.3.0 ([@bachya] - [#25955]) ([simplisafe docs])
|
||||
- Bump aioambient to 0.3.2 ([@bachya] - [#25956]) ([ambient_station docs])
|
||||
- Expose Lutron RA2 occupancy sensors ([@achatham] - [#25854]) ([lutron docs]) (new-platform)
|
||||
- Add volumio shuffle support ([@zewelor] - [#25871]) ([volumio docs])
|
||||
- Fix Tile Errors ([@paraselene] - [#25866]) ([tile docs])
|
||||
- Complete some incomplete type hints in helpers ([@scop] - [#25953])
|
||||
- Remove uvloop from default install and warn about stream+shell_command ([@balloob] - [#25929]) ([stream docs])
|
||||
- Tweaks to options flow ([@balloob] - [#25969]) ([config docs])
|
||||
- Remove zwave.update_config service call ([@kpine] - [#25959]) ([zwave docs]) (breaking change)
|
||||
- edp_redy: remove component ([@abmantis] - [#25971]) (breaking change)
|
||||
- Add netgear_lte.disconnect_lte service ([@amelchio] - [#25967]) ([netgear_lte docs])
|
||||
- Add broadlink switch retry time option ([@zhumuht] - [#25873]) ([broadlink docs])
|
||||
- Fix ecobee preset and add climate mode back ([@balloob] - [#25970]) ([ecobee docs])
|
||||
- Update pyvera to 0.3.4 ([@KptnKMan] - [#25986]) ([vera docs])
|
||||
- Upgrade youtube_dl to 2019.08.13 ([@fabaff] - [#25987]) ([media_extractor docs])
|
||||
- Upgrade Mastodon.py to 1.4.6 ([@fabaff] - [#25989]) ([mastodon docs])
|
||||
- Upgrade pytz to >=2019.02 ([@fabaff] - [#25991])
|
||||
- Upgrade sqlalchemy to 1.3.7 ([@fabaff] - [#25997]) ([recorder docs]) ([sql docs])
|
||||
- Upgrade restrictedpython to 4.0 ([@fabaff] - [#25993]) ([python_script docs])
|
||||
- Upgrade shodan to 1.15.0 ([@fabaff] - [#25990]) ([shodan docs])
|
||||
- Guard against unavailable climate entities ([@balloob] - [#25978]) ([alexa docs])
|
||||
- Ensure sun conditions are using the right date ([@emontnemery] - [#23664])
|
||||
- Upgrade numpy to 1.17.0 ([@fabaff] - [#25998]) ([iqvia docs]) ([opencv docs]) ([tensorflow docs]) ([trend docs])
|
||||
- Upgrade python-slugify to 3.0.3 ([@fabaff] - [#25995])
|
||||
- Upgrade importlib-metadata to 0.19 ([@fabaff] - [#26003])
|
||||
- Upgrade voluptuous to 0.11.7 ([@fabaff] - [#26007])
|
||||
- Upgrade pyyaml to 5.1.2 ([@fabaff] - [#25994])
|
||||
- Upgrade pillow to 6.1.0 ([@fabaff] - [#26005]) ([proxy docs]) ([qrcode docs]) ([tensorflow docs])
|
||||
- Fix bmw_connected_drive and eq3btsmart components by updating their dependencies ([@OliverRepo] - [#26012]) ([bmw_connected_drive docs]) ([eq3btsmart docs])
|
||||
- Upgrade luftdaten to 0.6.3 ([@fabaff] - [#26009]) ([luftdaten docs])
|
||||
- Upgrade pysnmp to 4.4.11 ([@fabaff] - [#26010]) ([snmp docs])
|
||||
- Upgrade beautifulsoup4 to 4.8.0 ([@fabaff] - [#26006]) ([linksys_ap docs]) ([scrape docs]) ([sytadin docs])
|
||||
- Allow entities to indicate they should be disabled by default ([@balloob] - [#26011])
|
||||
- Hue tweak registered device type + discovery exception ([@balloob] - [#25977]) ([hue docs])
|
||||
- Fix config entry has options check ([@balloob] - [#25976]) ([config docs])
|
||||
- Update KNX services.yaml ([@farmio] - [#26014])
|
||||
- Entity registry api update disable ([@balloob] - [#26015]) ([config docs])
|
||||
- Upgrade voluptuous-serialize to 2.2.0 ([@fabaff] - [#26008])
|
||||
- Fix unnecessary db entries for metro_france ([@oncleben31] - [#25957]) ([meteo_france docs])
|
||||
- Tone down huawei_lte logging ([@scop] - [#26020]) ([huawei_lte docs])
|
||||
- Don't force a query to the main lutron repeater on update ([@thecynic] - [#25939]) ([lutron docs])
|
||||
- Upgrade pre-commit to 1.18.2 ([@scop] - [#26029])
|
||||
- Update hole to 0.5.0 ([@fabaff] - [#26022]) ([pi_hole docs])
|
||||
- Fix background crash in sisyphus integration ([@jkeljo] - [#26032]) ([sisyphus docs])
|
||||
- Skip homekit_controller polls when system is overloaded and still trying to process the previous one ([@Jc2k] - [#25968]) ([homekit_controller docs])
|
||||
- Run flake8 on pre-commit ([@scop] - [#26028])
|
||||
- Upgrade sisyphus-control to 2.2.1 ([@jkeljo] - [#26033]) ([sisyphus docs])
|
||||
- Upgrade Dialogflow to work with V2 API ([@jshridha] - [#25975]) ([dialogflow docs])
|
||||
- Updates to Environment Canada components ([@michaeldavie] - [#25973]) ([environment_canada docs])
|
||||
- Add system options to config entries ([@Kane610] - [#25926])
|
||||
- Remove the ruter integration ([@ludeeus] - [#26041]) (breaking change)
|
||||
- Add support of new Xiaomi Aqara Curtain models ([@syssi] - [#25942]) ([xiaomi_aqara docs])
|
||||
- Fritz device tracker: set 'scanning' log to debug ([@ThaSiouL] - [#26043]) ([fritz docs])
|
||||
- Fix Mikrotik ARP ping ([@slackr31337] - [#25965]) ([mikrotik docs])
|
||||
- Make sure config flows extend ConfigFlow base class ([@balloob] - [#26051]) ([ipma docs]) ([met docs]) ([smhi docs])
|
||||
- Revert "Fix bmw_connected_drive and eq3btsmart components by updating their dependencies (#26012)" ([@pvizeli] - [#26065]) ([bmw_connected_drive docs]) ([eq3btsmart docs])
|
||||
- Bump nabucasa-cloud to 0.17 ([@pvizeli] - [#26066]) ([cloud docs])
|
||||
- fix alarm webhooks ([@fredrike] - [#26062]) ([point docs])
|
||||
- Add Keba charging station/wallbox as component ([@dannerph] - [#24484]) ([keba docs]) (new-integration)
|
||||
- Add packages version to Tensoflow for wheels packages ([@pvizeli] - [#26068]) ([tensorflow docs])
|
||||
- Remove reference to typing.Deque (added in Python 3.6.1) ([@jkeljo] - [#26030]) ([camera docs])
|
||||
- huawei_lte: support out of range values in default sensor formatter ([@flebourse] - [#26052]) ([huawei_lte docs])
|
||||
- SMA simplify config ([@kellerza] - [#25880]) ([sma docs])
|
||||
- Add config entry options support to deCONZ ([@Kane610] - [#26049]) ([deconz docs])
|
||||
- pysma library update 0.3.4 ([@kellerza] - [#26075]) ([sma docs])
|
||||
- Save config entry after updating system options ([@balloob] - [#26077]) ([config docs])
|
||||
- Convert progress API to WS ([@balloob] - [#26082]) ([config docs])
|
||||
- Add Minio component ([@tkislan] - [#23567]) ([minio docs]) (new-integration)
|
||||
- Add path option to SABnzbd component ([@cj-thornton] - [#25908]) ([sabnzbd docs])
|
||||
- Add strings for traccar config flow ([@balloob] - [#26089]) ([traccar docs])
|
||||
- Update pyrainbird to version 0.2.1 to fix zone number ([@konikvranik] - [#26064]) ([rainbird docs])
|
||||
- Update pylacrosse library to version 0.4.0 ([@legacycode] - [#26088]) ([lacrosse docs])
|
||||
- Docker ADR ([@pvizeli] - [#26085])
|
||||
- Bump geniushub client ([@zxdavb] - [#26084]) ([geniushub docs])
|
||||
- Use init_subclass for Config Entries ([@balloob] - [#26059]) ([hue docs]) ([met docs])
|
||||
- Sonos playlists play media ([@ahertz] - [#26054]) ([sonos docs]) (breaking change)
|
||||
- Remove the googlehome integration ([@ludeeus] - [#26035]) (breaking change)
|
||||
- Test with 3.6.0 in Travis ([@scop] - [#26039])
|
||||
- add id to state attributes ([@sander76] - [#26086]) ([homematicip_cloud docs])
|
||||
- Fix open-ui cli arg ([@balloob] - [#26091])
|
||||
- [bugfix] Exception if vendor's servers are currently unavailable ([@WoLpH] - [#26093]) ([evohome docs])
|
||||
- Bump up zha dependencies. ([@Adminiuga] - [#26097]) ([zha docs])
|
||||
- Update bimmer_connected to 0.6.0 ([@gerard33] - [#26098]) ([bmw_connected_drive docs])
|
||||
- Add support for warning attributes to Homematic IP Cloud ([@SukramJ] - [#26103]) ([homematicip_cloud docs])
|
||||
- check if a light supports brightness ([@croghostrider] - [#26055]) ([emulated_hue docs])
|
||||
- bump quirks ([@dmulcahey] - [#26106]) ([zha docs])
|
||||
- Upgrade ruamel_yaml to 0.15.100 ([@BKPepe] - [#26095])
|
||||
- Upgrade pydocstyle to 4.0.1 ([@scop] - [#26111])
|
||||
- Upgrade pytest to 5.1.1 ([@scop] - [#26112])
|
||||
- Remove coveralls test dependency ([@scop] - [#26110])
|
||||
- Check and fix test suite leaving files behind ([@scop] - [#25981])
|
||||
- Update PyEssent ([@TheLastProject] - [#26115]) ([essent docs])
|
||||
- remove ATTR_ID for groups ([@SukramJ] - [#26114]) ([homematicip_cloud docs])
|
||||
- Update eternalegypt to 0.0.10 ([@amelchio] - [#26117]) ([netgear_lte docs])
|
||||
- UniFi config entry options ([@Kane610] - [#26113]) ([unifi docs])
|
||||
- Template binary sensor attributes ([@gadgetchnnel] - [#22664]) ([template docs])
|
||||
- Add descriptive fields to script config ([@JeffLIrion] - [#26056]) ([script docs])
|
||||
- Fix tests leaving files behind ([@balloob] - [#26121])
|
||||
- Statistics sensors repect given name ([@frenck] - [#26119]) ([statistics docs]) (breaking change)
|
||||
- Update azure-pipelines-release.yml for Azure Pipelines ([@pvizeli] - [#26128])
|
||||
- Load user-provided descriptions for python_scripts ([@JeffLIrion] - [#26069]) ([python_script docs]) (beta fix)
|
||||
- Splitt device_state_attributes between device and group for Homematic IP Cloud ([@SukramJ] - [#26137]) ([homematicip_cloud docs]) (beta fix)
|
||||
- Nissanleaf login fix ([@filcole] - [#26139]) ([nissan_leaf docs]) (breaking change) (beta fix)
|
||||
- Log warning if disabled entities receive updates. ([@balloob] - [#26143]) (beta fix)
|
||||
- Fix tuya switch state ([@PaulAnnekov] - [#26145]) ([tuya docs]) (beta fix)
|
||||
- Reload config entry when entity enabled in entity registry, remove entity if disabled. ([@balloob] - [#26120]) (beta fix)
|
||||
- CoolMaster: Change auto to heat_cool ([@OnFreund] - [#26144]) ([coolmaster docs]) (breaking change) (beta fix)
|
||||
- Bump androidtv to 0.0.24 ([@JeffLIrion] - [#26158]) ([androidtv docs]) (beta fix)
|
||||
- fix issue setting scan_interval ([@chaoranxie] - [#26165]) ([google_maps docs]) (beta fix)
|
||||
- Fix possible KeyError in SimpliSafe ([@bachya] - [#26190]) ([simplisafe docs]) (beta fix)
|
||||
- Update pyheos to 0.6.0 ([@andrewsayre] - [#26191]) ([heos docs]) (beta fix)
|
||||
- bump quirks version ([@dmulcahey] - [#26198]) ([zha docs]) (beta fix)
|
||||
- Nightly builds ([@pvizeli] - [#26204])
|
||||
- luci device-tracker dependency fix ([@flowolf] - [#26215]) ([luci docs]) (beta fix)
|
||||
- deCONZ normalizes cover values to follow zigbee spec ([@Kane610] - [#26240]) ([deconz docs]) (beta fix)
|
||||
- SMA beta fix #26225 ([@kellerza] - [#26244]) ([sma docs]) (beta fix)
|
||||
|
||||
[#22664]: https://github.com/home-assistant/home-assistant/pull/22664
|
||||
[#23567]: https://github.com/home-assistant/home-assistant/pull/23567
|
||||
[#23664]: https://github.com/home-assistant/home-assistant/pull/23664
|
||||
[#24103]: https://github.com/home-assistant/home-assistant/pull/24103
|
||||
[#24484]: https://github.com/home-assistant/home-assistant/pull/24484
|
||||
[#24762]: https://github.com/home-assistant/home-assistant/pull/24762
|
||||
[#25418]: https://github.com/home-assistant/home-assistant/pull/25418
|
||||
[#25459]: https://github.com/home-assistant/home-assistant/pull/25459
|
||||
[#25510]: https://github.com/home-assistant/home-assistant/pull/25510
|
||||
[#25533]: https://github.com/home-assistant/home-assistant/pull/25533
|
||||
[#25552]: https://github.com/home-assistant/home-assistant/pull/25552
|
||||
[#25573]: https://github.com/home-assistant/home-assistant/pull/25573
|
||||
[#25589]: https://github.com/home-assistant/home-assistant/pull/25589
|
||||
[#25603]: https://github.com/home-assistant/home-assistant/pull/25603
|
||||
[#25608]: https://github.com/home-assistant/home-assistant/pull/25608
|
||||
[#25609]: https://github.com/home-assistant/home-assistant/pull/25609
|
||||
[#25611]: https://github.com/home-assistant/home-assistant/pull/25611
|
||||
[#25612]: https://github.com/home-assistant/home-assistant/pull/25612
|
||||
[#25614]: https://github.com/home-assistant/home-assistant/pull/25614
|
||||
[#25616]: https://github.com/home-assistant/home-assistant/pull/25616
|
||||
[#25617]: https://github.com/home-assistant/home-assistant/pull/25617
|
||||
[#25620]: https://github.com/home-assistant/home-assistant/pull/25620
|
||||
[#25621]: https://github.com/home-assistant/home-assistant/pull/25621
|
||||
[#25626]: https://github.com/home-assistant/home-assistant/pull/25626
|
||||
[#25627]: https://github.com/home-assistant/home-assistant/pull/25627
|
||||
[#25632]: https://github.com/home-assistant/home-assistant/pull/25632
|
||||
[#25644]: https://github.com/home-assistant/home-assistant/pull/25644
|
||||
[#25647]: https://github.com/home-assistant/home-assistant/pull/25647
|
||||
[#25649]: https://github.com/home-assistant/home-assistant/pull/25649
|
||||
[#25655]: https://github.com/home-assistant/home-assistant/pull/25655
|
||||
[#25660]: https://github.com/home-assistant/home-assistant/pull/25660
|
||||
[#25663]: https://github.com/home-assistant/home-assistant/pull/25663
|
||||
[#25664]: https://github.com/home-assistant/home-assistant/pull/25664
|
||||
[#25666]: https://github.com/home-assistant/home-assistant/pull/25666
|
||||
[#25667]: https://github.com/home-assistant/home-assistant/pull/25667
|
||||
[#25672]: https://github.com/home-assistant/home-assistant/pull/25672
|
||||
[#25677]: https://github.com/home-assistant/home-assistant/pull/25677
|
||||
[#25687]: https://github.com/home-assistant/home-assistant/pull/25687
|
||||
[#25688]: https://github.com/home-assistant/home-assistant/pull/25688
|
||||
[#25689]: https://github.com/home-assistant/home-assistant/pull/25689
|
||||
[#25693]: https://github.com/home-assistant/home-assistant/pull/25693
|
||||
[#25694]: https://github.com/home-assistant/home-assistant/pull/25694
|
||||
[#25697]: https://github.com/home-assistant/home-assistant/pull/25697
|
||||
[#25707]: https://github.com/home-assistant/home-assistant/pull/25707
|
||||
[#25709]: https://github.com/home-assistant/home-assistant/pull/25709
|
||||
[#25710]: https://github.com/home-assistant/home-assistant/pull/25710
|
||||
[#25716]: https://github.com/home-assistant/home-assistant/pull/25716
|
||||
[#25733]: https://github.com/home-assistant/home-assistant/pull/25733
|
||||
[#25736]: https://github.com/home-assistant/home-assistant/pull/25736
|
||||
[#25737]: https://github.com/home-assistant/home-assistant/pull/25737
|
||||
[#25739]: https://github.com/home-assistant/home-assistant/pull/25739
|
||||
[#25742]: https://github.com/home-assistant/home-assistant/pull/25742
|
||||
[#25743]: https://github.com/home-assistant/home-assistant/pull/25743
|
||||
[#25745]: https://github.com/home-assistant/home-assistant/pull/25745
|
||||
[#25746]: https://github.com/home-assistant/home-assistant/pull/25746
|
||||
[#25753]: https://github.com/home-assistant/home-assistant/pull/25753
|
||||
[#25754]: https://github.com/home-assistant/home-assistant/pull/25754
|
||||
[#25796]: https://github.com/home-assistant/home-assistant/pull/25796
|
||||
[#25801]: https://github.com/home-assistant/home-assistant/pull/25801
|
||||
[#25804]: https://github.com/home-assistant/home-assistant/pull/25804
|
||||
[#25806]: https://github.com/home-assistant/home-assistant/pull/25806
|
||||
[#25825]: https://github.com/home-assistant/home-assistant/pull/25825
|
||||
[#25827]: https://github.com/home-assistant/home-assistant/pull/25827
|
||||
[#25832]: https://github.com/home-assistant/home-assistant/pull/25832
|
||||
[#25840]: https://github.com/home-assistant/home-assistant/pull/25840
|
||||
[#25842]: https://github.com/home-assistant/home-assistant/pull/25842
|
||||
[#25848]: https://github.com/home-assistant/home-assistant/pull/25848
|
||||
[#25849]: https://github.com/home-assistant/home-assistant/pull/25849
|
||||
[#25854]: https://github.com/home-assistant/home-assistant/pull/25854
|
||||
[#25856]: https://github.com/home-assistant/home-assistant/pull/25856
|
||||
[#25858]: https://github.com/home-assistant/home-assistant/pull/25858
|
||||
[#25860]: https://github.com/home-assistant/home-assistant/pull/25860
|
||||
[#25866]: https://github.com/home-assistant/home-assistant/pull/25866
|
||||
[#25871]: https://github.com/home-assistant/home-assistant/pull/25871
|
||||
[#25873]: https://github.com/home-assistant/home-assistant/pull/25873
|
||||
[#25878]: https://github.com/home-assistant/home-assistant/pull/25878
|
||||
[#25880]: https://github.com/home-assistant/home-assistant/pull/25880
|
||||
[#25902]: https://github.com/home-assistant/home-assistant/pull/25902
|
||||
[#25905]: https://github.com/home-assistant/home-assistant/pull/25905
|
||||
[#25908]: https://github.com/home-assistant/home-assistant/pull/25908
|
||||
[#25924]: https://github.com/home-assistant/home-assistant/pull/25924
|
||||
[#25926]: https://github.com/home-assistant/home-assistant/pull/25926
|
||||
[#25929]: https://github.com/home-assistant/home-assistant/pull/25929
|
||||
[#25930]: https://github.com/home-assistant/home-assistant/pull/25930
|
||||
[#25939]: https://github.com/home-assistant/home-assistant/pull/25939
|
||||
[#25940]: https://github.com/home-assistant/home-assistant/pull/25940
|
||||
[#25942]: https://github.com/home-assistant/home-assistant/pull/25942
|
||||
[#25946]: https://github.com/home-assistant/home-assistant/pull/25946
|
||||
[#25948]: https://github.com/home-assistant/home-assistant/pull/25948
|
||||
[#25950]: https://github.com/home-assistant/home-assistant/pull/25950
|
||||
[#25953]: https://github.com/home-assistant/home-assistant/pull/25953
|
||||
[#25955]: https://github.com/home-assistant/home-assistant/pull/25955
|
||||
[#25956]: https://github.com/home-assistant/home-assistant/pull/25956
|
||||
[#25957]: https://github.com/home-assistant/home-assistant/pull/25957
|
||||
[#25959]: https://github.com/home-assistant/home-assistant/pull/25959
|
||||
[#25965]: https://github.com/home-assistant/home-assistant/pull/25965
|
||||
[#25967]: https://github.com/home-assistant/home-assistant/pull/25967
|
||||
[#25968]: https://github.com/home-assistant/home-assistant/pull/25968
|
||||
[#25969]: https://github.com/home-assistant/home-assistant/pull/25969
|
||||
[#25970]: https://github.com/home-assistant/home-assistant/pull/25970
|
||||
[#25971]: https://github.com/home-assistant/home-assistant/pull/25971
|
||||
[#25973]: https://github.com/home-assistant/home-assistant/pull/25973
|
||||
[#25975]: https://github.com/home-assistant/home-assistant/pull/25975
|
||||
[#25976]: https://github.com/home-assistant/home-assistant/pull/25976
|
||||
[#25977]: https://github.com/home-assistant/home-assistant/pull/25977
|
||||
[#25978]: https://github.com/home-assistant/home-assistant/pull/25978
|
||||
[#25981]: https://github.com/home-assistant/home-assistant/pull/25981
|
||||
[#25986]: https://github.com/home-assistant/home-assistant/pull/25986
|
||||
[#25987]: https://github.com/home-assistant/home-assistant/pull/25987
|
||||
[#25989]: https://github.com/home-assistant/home-assistant/pull/25989
|
||||
[#25990]: https://github.com/home-assistant/home-assistant/pull/25990
|
||||
[#25991]: https://github.com/home-assistant/home-assistant/pull/25991
|
||||
[#25993]: https://github.com/home-assistant/home-assistant/pull/25993
|
||||
[#25994]: https://github.com/home-assistant/home-assistant/pull/25994
|
||||
[#25995]: https://github.com/home-assistant/home-assistant/pull/25995
|
||||
[#25997]: https://github.com/home-assistant/home-assistant/pull/25997
|
||||
[#25998]: https://github.com/home-assistant/home-assistant/pull/25998
|
||||
[#26003]: https://github.com/home-assistant/home-assistant/pull/26003
|
||||
[#26005]: https://github.com/home-assistant/home-assistant/pull/26005
|
||||
[#26006]: https://github.com/home-assistant/home-assistant/pull/26006
|
||||
[#26007]: https://github.com/home-assistant/home-assistant/pull/26007
|
||||
[#26008]: https://github.com/home-assistant/home-assistant/pull/26008
|
||||
[#26009]: https://github.com/home-assistant/home-assistant/pull/26009
|
||||
[#26010]: https://github.com/home-assistant/home-assistant/pull/26010
|
||||
[#26011]: https://github.com/home-assistant/home-assistant/pull/26011
|
||||
[#26012]: https://github.com/home-assistant/home-assistant/pull/26012
|
||||
[#26014]: https://github.com/home-assistant/home-assistant/pull/26014
|
||||
[#26015]: https://github.com/home-assistant/home-assistant/pull/26015
|
||||
[#26020]: https://github.com/home-assistant/home-assistant/pull/26020
|
||||
[#26022]: https://github.com/home-assistant/home-assistant/pull/26022
|
||||
[#26028]: https://github.com/home-assistant/home-assistant/pull/26028
|
||||
[#26029]: https://github.com/home-assistant/home-assistant/pull/26029
|
||||
[#26030]: https://github.com/home-assistant/home-assistant/pull/26030
|
||||
[#26032]: https://github.com/home-assistant/home-assistant/pull/26032
|
||||
[#26033]: https://github.com/home-assistant/home-assistant/pull/26033
|
||||
[#26035]: https://github.com/home-assistant/home-assistant/pull/26035
|
||||
[#26039]: https://github.com/home-assistant/home-assistant/pull/26039
|
||||
[#26041]: https://github.com/home-assistant/home-assistant/pull/26041
|
||||
[#26043]: https://github.com/home-assistant/home-assistant/pull/26043
|
||||
[#26049]: https://github.com/home-assistant/home-assistant/pull/26049
|
||||
[#26051]: https://github.com/home-assistant/home-assistant/pull/26051
|
||||
[#26052]: https://github.com/home-assistant/home-assistant/pull/26052
|
||||
[#26054]: https://github.com/home-assistant/home-assistant/pull/26054
|
||||
[#26055]: https://github.com/home-assistant/home-assistant/pull/26055
|
||||
[#26056]: https://github.com/home-assistant/home-assistant/pull/26056
|
||||
[#26059]: https://github.com/home-assistant/home-assistant/pull/26059
|
||||
[#26062]: https://github.com/home-assistant/home-assistant/pull/26062
|
||||
[#26064]: https://github.com/home-assistant/home-assistant/pull/26064
|
||||
[#26065]: https://github.com/home-assistant/home-assistant/pull/26065
|
||||
[#26066]: https://github.com/home-assistant/home-assistant/pull/26066
|
||||
[#26068]: https://github.com/home-assistant/home-assistant/pull/26068
|
||||
[#26069]: https://github.com/home-assistant/home-assistant/pull/26069
|
||||
[#26075]: https://github.com/home-assistant/home-assistant/pull/26075
|
||||
[#26077]: https://github.com/home-assistant/home-assistant/pull/26077
|
||||
[#26082]: https://github.com/home-assistant/home-assistant/pull/26082
|
||||
[#26084]: https://github.com/home-assistant/home-assistant/pull/26084
|
||||
[#26085]: https://github.com/home-assistant/home-assistant/pull/26085
|
||||
[#26086]: https://github.com/home-assistant/home-assistant/pull/26086
|
||||
[#26088]: https://github.com/home-assistant/home-assistant/pull/26088
|
||||
[#26089]: https://github.com/home-assistant/home-assistant/pull/26089
|
||||
[#26091]: https://github.com/home-assistant/home-assistant/pull/26091
|
||||
[#26093]: https://github.com/home-assistant/home-assistant/pull/26093
|
||||
[#26095]: https://github.com/home-assistant/home-assistant/pull/26095
|
||||
[#26097]: https://github.com/home-assistant/home-assistant/pull/26097
|
||||
[#26098]: https://github.com/home-assistant/home-assistant/pull/26098
|
||||
[#26103]: https://github.com/home-assistant/home-assistant/pull/26103
|
||||
[#26106]: https://github.com/home-assistant/home-assistant/pull/26106
|
||||
[#26110]: https://github.com/home-assistant/home-assistant/pull/26110
|
||||
[#26111]: https://github.com/home-assistant/home-assistant/pull/26111
|
||||
[#26112]: https://github.com/home-assistant/home-assistant/pull/26112
|
||||
[#26113]: https://github.com/home-assistant/home-assistant/pull/26113
|
||||
[#26114]: https://github.com/home-assistant/home-assistant/pull/26114
|
||||
[#26115]: https://github.com/home-assistant/home-assistant/pull/26115
|
||||
[#26117]: https://github.com/home-assistant/home-assistant/pull/26117
|
||||
[#26119]: https://github.com/home-assistant/home-assistant/pull/26119
|
||||
[#26120]: https://github.com/home-assistant/home-assistant/pull/26120
|
||||
[#26121]: https://github.com/home-assistant/home-assistant/pull/26121
|
||||
[#26128]: https://github.com/home-assistant/home-assistant/pull/26128
|
||||
[#26137]: https://github.com/home-assistant/home-assistant/pull/26137
|
||||
[#26139]: https://github.com/home-assistant/home-assistant/pull/26139
|
||||
[#26143]: https://github.com/home-assistant/home-assistant/pull/26143
|
||||
[#26144]: https://github.com/home-assistant/home-assistant/pull/26144
|
||||
[#26145]: https://github.com/home-assistant/home-assistant/pull/26145
|
||||
[#26158]: https://github.com/home-assistant/home-assistant/pull/26158
|
||||
[#26165]: https://github.com/home-assistant/home-assistant/pull/26165
|
||||
[#26190]: https://github.com/home-assistant/home-assistant/pull/26190
|
||||
[#26191]: https://github.com/home-assistant/home-assistant/pull/26191
|
||||
[#26198]: https://github.com/home-assistant/home-assistant/pull/26198
|
||||
[#26204]: https://github.com/home-assistant/home-assistant/pull/26204
|
||||
[#26215]: https://github.com/home-assistant/home-assistant/pull/26215
|
||||
[#26240]: https://github.com/home-assistant/home-assistant/pull/26240
|
||||
[#26244]: https://github.com/home-assistant/home-assistant/pull/26244
|
||||
[@Adminiuga]: https://github.com/Adminiuga
|
||||
[@BKPepe]: https://github.com/BKPepe
|
||||
[@Cereal2nd]: https://github.com/Cereal2nd
|
||||
[@CoMPaTech]: https://github.com/CoMPaTech
|
||||
[@Jc2k]: https://github.com/Jc2k
|
||||
[@JeffLIrion]: https://github.com/JeffLIrion
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@KptnKMan]: https://github.com/KptnKMan
|
||||
[@MatsNl]: https://github.com/MatsNl
|
||||
[@OliverRepo]: https://github.com/OliverRepo
|
||||
[@OnFreund]: https://github.com/OnFreund
|
||||
[@PaulAnnekov]: https://github.com/PaulAnnekov
|
||||
[@Quentame]: https://github.com/Quentame
|
||||
[@Santobert]: https://github.com/Santobert
|
||||
[@SukramJ]: https://github.com/SukramJ
|
||||
[@ThaSiouL]: https://github.com/ThaSiouL
|
||||
[@TheLastProject]: https://github.com/TheLastProject
|
||||
[@WoLpH]: https://github.com/WoLpH
|
||||
[@abmantis]: https://github.com/abmantis
|
||||
[@achatham]: https://github.com/achatham
|
||||
[@ahertz]: https://github.com/ahertz
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andrewsayre]: https://github.com/andrewsayre
|
||||
[@bachya]: https://github.com/bachya
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@cgarwood]: https://github.com/cgarwood
|
||||
[@chaoranxie]: https://github.com/chaoranxie
|
||||
[@cj-thornton]: https://github.com/cj-thornton
|
||||
[@croghostrider]: https://github.com/croghostrider
|
||||
[@dannerph]: https://github.com/dannerph
|
||||
[@dmulcahey]: https://github.com/dmulcahey
|
||||
[@doudz]: https://github.com/doudz
|
||||
[@ejaviga]: https://github.com/ejaviga
|
||||
[@elupus]: https://github.com/elupus
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[@escoand]: https://github.com/escoand
|
||||
[@exxamalte]: https://github.com/exxamalte
|
||||
[@eyager1]: https://github.com/eyager1
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@farmio]: https://github.com/farmio
|
||||
[@filcole]: https://github.com/filcole
|
||||
[@flebourse]: https://github.com/flebourse
|
||||
[@flowolf]: https://github.com/flowolf
|
||||
[@fredrike]: https://github.com/fredrike
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@gadgetchnnel]: https://github.com/gadgetchnnel
|
||||
[@gerard33]: https://github.com/gerard33
|
||||
[@jaminh]: https://github.com/jaminh
|
||||
[@jkeljo]: https://github.com/jkeljo
|
||||
[@johnnychicago]: https://github.com/johnnychicago
|
||||
[@jshridha]: https://github.com/jshridha
|
||||
[@kellerza]: https://github.com/kellerza
|
||||
[@konikvranik]: https://github.com/konikvranik
|
||||
[@kpine]: https://github.com/kpine
|
||||
[@ktnrg45]: https://github.com/ktnrg45
|
||||
[@legacycode]: https://github.com/legacycode
|
||||
[@ludeeus]: https://github.com/ludeeus
|
||||
[@michaeldavie]: https://github.com/michaeldavie
|
||||
[@miroslawkrol]: https://github.com/miroslawkrol
|
||||
[@nielstron]: https://github.com/nielstron
|
||||
[@oncleben31]: https://github.com/oncleben31
|
||||
[@paraselene]: https://github.com/paraselene
|
||||
[@perosb]: https://github.com/perosb
|
||||
[@pnbruckner]: https://github.com/pnbruckner
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@rossdargan]: https://github.com/rossdargan
|
||||
[@rytilahti]: https://github.com/rytilahti
|
||||
[@sander76]: https://github.com/sander76
|
||||
[@scop]: https://github.com/scop
|
||||
[@skarcha]: https://github.com/skarcha
|
||||
[@slackr31337]: https://github.com/slackr31337
|
||||
[@syssi]: https://github.com/syssi
|
||||
[@tcoenraad]: https://github.com/tcoenraad
|
||||
[@thecynic]: https://github.com/thecynic
|
||||
[@thomasloven]: https://github.com/thomasloven
|
||||
[@tkislan]: https://github.com/tkislan
|
||||
[@tleegaard]: https://github.com/tleegaard
|
||||
[@tomilehto]: https://github.com/tomilehto
|
||||
[@zewelor]: https://github.com/zewelor
|
||||
[@zhumuht]: https://github.com/zhumuht
|
||||
[@zxdavb]: https://github.com/zxdavb
|
||||
[alexa docs]: /components/alexa/
|
||||
[ambient_station docs]: /components/ambient_station/
|
||||
[androidtv docs]: /components/androidtv/
|
||||
[arcam_fmj docs]: /components/arcam_fmj/
|
||||
[bmw_connected_drive docs]: /components/bmw_connected_drive/
|
||||
[broadlink docs]: /components/broadlink/
|
||||
[camera docs]: /components/camera/
|
||||
[climate docs]: /components/climate/
|
||||
[cloud docs]: /components/cloud/
|
||||
[config docs]: /components/config/
|
||||
[coolmaster docs]: /components/coolmaster/
|
||||
[deconz docs]: /components/deconz/
|
||||
[demo docs]: /components/demo/
|
||||
[dialogflow docs]: /components/dialogflow/
|
||||
[dsmr docs]: /components/dsmr/
|
||||
[ecobee docs]: /components/ecobee/
|
||||
[edp_redy docs]: /components/edp_redy/
|
||||
[emulated_hue docs]: /components/emulated_hue/
|
||||
[environment_canada docs]: /components/environment_canada/
|
||||
[eq3btsmart docs]: /components/eq3btsmart/
|
||||
[essent docs]: /components/essent/
|
||||
[evohome docs]: /components/evohome/
|
||||
[fedex docs]: /components/fedex/
|
||||
[filter docs]: /components/filter/
|
||||
[fritz docs]: /components/fritz/
|
||||
[fronius docs]: /components/fronius/
|
||||
[geniushub docs]: /components/geniushub/
|
||||
[geonetnz_quakes docs]: /components/geonetnz_quakes/
|
||||
[google_maps docs]: /components/google_maps/
|
||||
[googlehome docs]: /components/googlehome/
|
||||
[group docs]: /components/group/
|
||||
[heos docs]: /components/heos/
|
||||
[homekit_controller docs]: /components/homekit_controller/
|
||||
[homematicip_cloud docs]: /components/homematicip_cloud/
|
||||
[huawei_lte docs]: /components/huawei_lte/
|
||||
[hue docs]: /components/hue/
|
||||
[input_boolean docs]: /components/input_boolean/
|
||||
[ipma docs]: /components/ipma/
|
||||
[iqvia docs]: /components/iqvia/
|
||||
[islamic_prayer_times docs]: /components/islamic_prayer_times/
|
||||
[keba docs]: /components/keba/
|
||||
[kodi docs]: /components/kodi/
|
||||
[lacrosse docs]: /components/lacrosse/
|
||||
[life360 docs]: /components/life360/
|
||||
[linksys_ap docs]: /components/linksys_ap/
|
||||
[luci docs]: /components/luci/
|
||||
[luftdaten docs]: /components/luftdaten/
|
||||
[lutron docs]: /components/lutron/
|
||||
[lw12wifi docs]: /components/lw12wifi/
|
||||
[mastodon docs]: /components/mastodon/
|
||||
[media_extractor docs]: /components/media_extractor/
|
||||
[media_player docs]: /components/media_player/
|
||||
[met docs]: /components/met/
|
||||
[meteo_france docs]: /components/meteo_france/
|
||||
[mikrotik docs]: /components/mikrotik/
|
||||
[minio docs]: /components/minio/
|
||||
[modbus docs]: /components/modbus/
|
||||
[mqtt docs]: /components/mqtt/
|
||||
[netgear_lte docs]: /components/netgear_lte/
|
||||
[nissan_leaf docs]: /components/nissan_leaf/
|
||||
[opencv docs]: /components/opencv/
|
||||
[opentherm_gw docs]: /components/opentherm_gw/
|
||||
[pi_hole docs]: /components/pi_hole/
|
||||
[plex docs]: /components/plex/
|
||||
[plugwise docs]: /components/plugwise/
|
||||
[point docs]: /components/point/
|
||||
[prometheus docs]: /components/prometheus/
|
||||
[proxy docs]: /components/proxy/
|
||||
[ps4 docs]: /components/ps4/
|
||||
[python_script docs]: /components/python_script/
|
||||
[qrcode docs]: /components/qrcode/
|
||||
[rainbird docs]: /components/rainbird/
|
||||
[recorder docs]: /components/recorder/
|
||||
[ring docs]: /components/ring/
|
||||
[ruter docs]: /components/ruter/
|
||||
[sabnzbd docs]: /components/sabnzbd/
|
||||
[scrape docs]: /components/scrape/
|
||||
[script docs]: /components/script/
|
||||
[shodan docs]: /components/shodan/
|
||||
[simplisafe docs]: /components/simplisafe/
|
||||
[sisyphus docs]: /components/sisyphus/
|
||||
[sma docs]: /components/sma/
|
||||
[smhi docs]: /components/smhi/
|
||||
[snmp docs]: /components/snmp/
|
||||
[sonos docs]: /components/sonos/
|
||||
[sql docs]: /components/sql/
|
||||
[srp_energy docs]: /components/srp_energy/
|
||||
[statistics docs]: /components/statistics/
|
||||
[stream docs]: /components/stream/
|
||||
[syncthru docs]: /components/syncthru/
|
||||
[sytadin docs]: /components/sytadin/
|
||||
[tado docs]: /components/tado/
|
||||
[tellduslive docs]: /components/tellduslive/
|
||||
[template docs]: /components/template/
|
||||
[tensorflow docs]: /components/tensorflow/
|
||||
[tile docs]: /components/tile/
|
||||
[traccar docs]: /components/traccar/
|
||||
[trend docs]: /components/trend/
|
||||
[tuya docs]: /components/tuya/
|
||||
[twentemilieu docs]: /components/twentemilieu/
|
||||
[unifi docs]: /components/unifi/
|
||||
[updater docs]: /components/updater/
|
||||
[upnp docs]: /components/upnp/
|
||||
[ups docs]: /components/ups/
|
||||
[usps docs]: /components/usps/
|
||||
[vacuum docs]: /components/vacuum/
|
||||
[velbus docs]: /components/velbus/
|
||||
[vera docs]: /components/vera/
|
||||
[vesync docs]: /components/vesync/
|
||||
[volumio docs]: /components/volumio/
|
||||
[websocket_api docs]: /components/websocket_api/
|
||||
[wunderground docs]: /components/wunderground/
|
||||
[xiaomi_aqara docs]: /components/xiaomi_aqara/
|
||||
[zha docs]: /components/zha/
|
||||
[zwave docs]: /components/zwave/
|
BIN
source/images/blog/2019-08-0.98/batcave.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
source/images/blog/2019-08-0.98/components.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
source/images/blog/2019-08-0.98/options_flow.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
source/images/blog/2019-08-0.98/system_options.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
source/images/screenshots/geonetnz-quakes-feed-map.png
Normal file
After Width: | Height: | Size: 171 KiB |
Before Width: | Height: | Size: 8.1 KiB |
BIN
source/images/supported_brands/geonet-nz.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 24 KiB |
BIN
source/images/supported_brands/keba.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
source/images/supported_brands/minio.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
source/images/supported_brands/plugwise.png
Normal file
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 6.8 KiB |