mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-24 01:37:23 +00:00
Merge branch 'rc' into current
This commit is contained in:
commit
869f3918c5
@ -138,9 +138,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 88
|
||||
current_patch_version: 2
|
||||
date_released: 2019-02-27
|
||||
current_minor_version: 89
|
||||
current_patch_version: 0
|
||||
date_released: 2019-03-06
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -40,7 +40,7 @@ To enable ADS, add the following lines to your `configuration.yaml` file:
|
||||
# Example configuration.yaml entry
|
||||
ads:
|
||||
device: '127.0.0.1.1.1'
|
||||
port: 48898
|
||||
port: 801
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -137,7 +137,7 @@ name:
|
||||
|
||||
## {% linkable_title Sensor %}
|
||||
|
||||
The `ads` sensor platform allows reading the value of a numeric variable on your ADS device. The variable can be of type *INT*, *UINT* or *BYTE*.
|
||||
The `ads` sensor platform allows reading the value of a numeric variable on your ADS device. The variable can be of type *INT*, *UINT*, *BYTE*, *DINT* or *UDINT*.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](/components/ads/) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
@ -158,7 +158,7 @@ adsvar:
|
||||
type: string
|
||||
adstype:
|
||||
required: false
|
||||
description: The datatype of the ADS variable, possible values are int, uint, byte.
|
||||
description: The datatype of the ADS variable, possible values are int, uint, byte, dint, udint.
|
||||
default: int
|
||||
type: string
|
||||
name:
|
||||
@ -197,4 +197,4 @@ name:
|
||||
required: false
|
||||
description: An identifier for the switch in the frontend.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
{% endconfiguration %}
|
||||
|
@ -92,6 +92,11 @@ verify_ssl:
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
timeout:
|
||||
description: Defines max time to wait data from the endpoint.
|
||||
required: false
|
||||
type: positive integer
|
||||
default: 10
|
||||
authentication:
|
||||
description: "Type of the HTTP authentication. `basic` or `digest`."
|
||||
required: false
|
||||
|
76
source/_components/binary_sensor.tod.markdown
Normal file
76
source/_components/binary_sensor.tod.markdown
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Times of the Day Binary Sensor"
|
||||
description: "Instructions on how to integrate Times of the Day binary sensors within Home Assistant."
|
||||
date: 2019-01-14 23:35
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.89
|
||||
ha_iot_class: "Local Push"
|
||||
logo: home-assistant.png
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The `tod` platform supports binary sensors which get their values by checking if the current time is within defined time ranges.
|
||||
|
||||
The time ranges can be provided as absolute local time or using the `sunrise` or `sunset` keyword calculated based on the sun position for location. The location must be provided in the configuration.
|
||||
|
||||
In addition for sun position based ranges, the negative or positive offset can be configured.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
Here is an example of adding a sensor to the `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: tod
|
||||
name: Early Morning
|
||||
after: sunrise
|
||||
after_offset: '-02:00'
|
||||
before: '07:00'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Name of the sensor.
|
||||
required: true
|
||||
type: string
|
||||
before:
|
||||
description: The absolute local time value or sun event for beginning of the time range.
|
||||
required: true
|
||||
type: string or time
|
||||
before_offset:
|
||||
description: The time offset of the beginning time range.
|
||||
required: false
|
||||
type: time
|
||||
after:
|
||||
description: The absolute local time value or sun event for ending of the time range.
|
||||
required: true
|
||||
type: string or time
|
||||
after_offset:
|
||||
description: The time offset of the beginning time range.
|
||||
type: time
|
||||
required: false
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Considerations %}
|
||||
|
||||
The primary purpose of this sensor is to use a simple time range definition instead of creating a complex template with references to `sun.sun` component attributes.
|
||||
|
||||
The sensor state is ON when this condition `after` + `after_offset` <= `current time` < `before` + `before_offset`.
|
||||
|
||||
If `after` time is later than `before` then the next day is considered, i.e.:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: tod
|
||||
name: Night
|
||||
after: sunset
|
||||
before: sunrise
|
||||
```
|
||||
|
||||
In the above example, the next day `sunrise` is calculated as a time range end.
|
@ -23,9 +23,15 @@ The display style of each entity can be modified in the [customize section](/get
|
||||
The way these sensors are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for covers:
|
||||
|
||||
- **None**: Generic cover. This is the default and doesn't need to be set.
|
||||
- **damper**: Ventilation damper controller.
|
||||
- **garage**: Garage door controller.
|
||||
- **window**: Window controller.
|
||||
- **awning**: Control of an awning, such as an exterior retractable window, door, or patio cover.
|
||||
- **blind**: Control of blinds, which are linked slats that expand or collapse to cover an opening or may be tilted to partially covering an opening, such as window blinds.
|
||||
- **curtain**: Control of curtains or drapes, which is often fabric hung above a window or door that can be drawn open.
|
||||
- **damper**: Control of a mechanical damper that reduces airflow, sound, or light.
|
||||
- **door**: Control of a door or gate that provides access to an area.
|
||||
- **garage**: Control of a garage door that provides access to a garage.
|
||||
- **shade**: Control of shades, which are a continuous plane of material or connected cells that expanded or collapsed over an opening, such as window shades.
|
||||
- **shutter**: Control of shutters, which are linked slats that swing out/in to covering an opening or may be tilted to partially cover an opening, such as indoor or exterior window shutters.
|
||||
- **window**: Control of a physical window that opens and closes or may tilt.
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
|
@ -19,8 +19,10 @@ ha_category:
|
||||
ha_release: "0.61"
|
||||
ha_iot_class: "Local Push"
|
||||
ha_qa_scale: platinum
|
||||
ha_config_flow: true
|
||||
redirect_from:
|
||||
- /components/binary_sensor.deconz/
|
||||
- /components/climate.deconz/
|
||||
- /components/cover.deconz/
|
||||
- /components/light.deconz/
|
||||
- /components/scene.deconz/
|
||||
@ -34,12 +36,13 @@ redirect_from:
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Binary Sensor](/components/deconz/#binary-sensor)
|
||||
- [Cover](/components/deconz/#cover)
|
||||
- [Light](/components/deconz/#light)
|
||||
- [Scene](/components/deconz/#scene)
|
||||
- [Sensor](/components/deconz/#sensor)
|
||||
- [Switch](/components/deconz/#switch)
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
- [Climate](#climate)
|
||||
- [Cover](#cover)
|
||||
- [Light](#light)
|
||||
- [Scene](#scene)
|
||||
- [Sensor](#sensor)
|
||||
- [Switch](#switch)
|
||||
|
||||
## {% linkable_title Recommended way of running deCONZ %}
|
||||
|
||||
@ -324,6 +327,21 @@ The `entity_id` name will be `binary_sensor.device_name`, where `device_name` is
|
||||
- Xiaomi Motion Sensor
|
||||
- Xiaomi Smart Home Aqara Human Body Sensor
|
||||
|
||||
## {% linkable_title Climate %}
|
||||
|
||||
See the [deCONZ main component](/components/deconz/) for configuration instructions.
|
||||
|
||||
Climate currently represent thermostats.
|
||||
|
||||
Note that devices in the climate platform identify as sensors, so there is a manually curated list that defines which "sensors" are climate devices.
|
||||
|
||||
The `entity_id` name will be `climate.device_name`, where `device_name` is defined in deCONZ.
|
||||
|
||||
#### {% linkable_title Verified supported climate devices %}
|
||||
|
||||
- Bitron Thermostat 902010/32
|
||||
- Eurotronic SPZB0001
|
||||
|
||||
## {% linkable_title Cover %}
|
||||
|
||||
Covers are devices like ventilation dampers or smart window covers.
|
||||
|
@ -19,7 +19,7 @@ The `google_maps` platform allows you to detect presence using the unofficial AP
|
||||
|
||||
You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s). You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing).
|
||||
|
||||
This platform will create a file named `.google_maps_location_sharing.cookies` where it caches your login session.
|
||||
This platform will create a file named `.google_maps_location_sharing.cookies` extended with the slugified username where it caches your login session.
|
||||
|
||||
<p class='note warning'>
|
||||
Since this platform is using an unofficial API with the help of [locationsharinglib](https://github.com/costastf/locationsharinglib), Google seems to block access to your data the first time you've logged in with this platform.
|
||||
|
@ -60,4 +60,17 @@ verify_ssl:
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
monitored_conditions:
|
||||
description: Additional traccar computed attributes or device-related attributes to include in the scan.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
The parameter `monitored_conditions` allows you to track non standard attributes from the traccar platform and use them in your Home Assistant. For example if you need to monitor the state of the non standard attribute `alarm` and a custom computed attribute `mycomputedattribute` just fill the configuration with:
|
||||
|
||||
```yaml
|
||||
device_tracker:
|
||||
- platform: traccar
|
||||
...
|
||||
monitored_conditions: ['alarm', 'mycomputedattribute']
|
||||
```
|
||||
|
44
source/_components/device_tracker.ubee.markdown
Normal file
44
source/_components/device_tracker.ubee.markdown
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ubee Router"
|
||||
description: "Instructions on how to integrate Ubee routers into Home Assistant."
|
||||
date: 2018-12-26 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ubee.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.89
|
||||
---
|
||||
|
||||
This platform offers presence detection by looking at connected devices to a [Ubee Router](http://www.ubeeinteractive.com/products).
|
||||
|
||||
To use a Ubee router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: ubee
|
||||
host: ROUTER_IP_ADDRESS
|
||||
username: YOUR_ADMIN_USERNAME
|
||||
password: YOUR_ADMIN_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of your router, e.g., `192.168.1.1`.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The username of a user with administrative privileges, usually `admin`.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for your given admin account.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
By default, Home Assistant pulls information about connected devices from Ubee router every 5 seconds.
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions on how to configure the people to be tracked.
|
@ -6,6 +6,7 @@ date: 2018-12-16 14:20
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
featured: true
|
||||
footer: true
|
||||
logo: esphome.png
|
||||
ha_category: DIY
|
||||
|
@ -59,6 +59,11 @@ devices:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
track_devices:
|
||||
description: Setting to tell the component to track nearby devices.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Device types %}
|
||||
|
@ -8,17 +8,23 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: iperf3.png
|
||||
ha_category: System Monitor
|
||||
ha_category:
|
||||
- System Monitor
|
||||
- Sensor
|
||||
featured: false
|
||||
ha_release: 0.71
|
||||
ha_iot_class: "Local Polling"
|
||||
redirect_from:
|
||||
- /components/sensor.iperf3/
|
||||
---
|
||||
|
||||
The `iperf3` sensor component allows you to measure network bandwidth performance against a private or public Iperf3 server.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
Enabling this component will automatically create the Iperf3 Sensors for the monitored conditions (below).
|
||||
|
||||
By default, it will run every hour. The user can change the update frequency in the config by defining the minute, hour, and day for a iperf3 test to run.
|
||||
By default, it will run every hour. The user can change the update frequency in the config by defining the `scan_interval` for a iperf3 test to run.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To add the `iperf3` sensor to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -28,26 +34,48 @@ Once per hour, on the hour (default):
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: iperf3
|
||||
host: iperf.he.net
|
||||
monitored_conditions:
|
||||
- download
|
||||
- upload
|
||||
hosts:
|
||||
- host: iperf.he.net
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
monitored_conditions:
|
||||
description: Sensors to display in the frontend.
|
||||
required: true
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
download:
|
||||
description: Download speed (Mbit/s)
|
||||
upload:
|
||||
description: Upload speed (Mbit/s)
|
||||
hosts:
|
||||
description: A list of Iperf3 servers to perform the test against.
|
||||
required: true
|
||||
type: list
|
||||
scan_interval:
|
||||
description: "Minimum time interval between updates. Supported formats: `scan_interval: 'HH:MM:SS'`, `scan_interval: 'HH:MM'` and Time period dictionary (see example below)."
|
||||
required: false
|
||||
default: 60 minutes
|
||||
type: time
|
||||
manual:
|
||||
description: >
|
||||
`true` or `false` to turn manual mode on or off. Manual mode will disable scheduled tests.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
Configuration variables (host):
|
||||
{% configuration %}
|
||||
host:
|
||||
description: Specify the Iperf3 test to perform the test against.
|
||||
description: Server name/ip address running Iperf3 to test against.
|
||||
required: true
|
||||
type: string
|
||||
port:
|
||||
description: Port that Iperf3 is running on.
|
||||
required: false
|
||||
default: 5201
|
||||
type: integer
|
||||
duration:
|
||||
description: Specify the test duration in seconds. Default is 10 and the valid range is from 5 to 10.
|
||||
required: false
|
||||
@ -62,13 +90,20 @@ sensor:
|
||||
required: false
|
||||
default: tcp
|
||||
type: string
|
||||
scan_interval:
|
||||
description: Specify the frequency in seconds which the test will be perfomed. Default value is 1 hour.
|
||||
required: false
|
||||
default: 3600
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
#### {% linkable_title Time period dictionary example %}
|
||||
|
||||
```yaml
|
||||
scan_interval:
|
||||
# At least one of these must be specified:
|
||||
days: 0
|
||||
hours: 0
|
||||
minutes: 3
|
||||
seconds: 30
|
||||
milliseconds: 0
|
||||
```
|
||||
|
||||
You can find a list of public Iperf3 servers [here](https://iperf.fr/iperf-servers.php). You can also start your own Iperf3 server using the [mlabbe/iperf3's](https://hub.docker.com/r/mlabbe/iperf3/) docker image or just refer to your `iperf3` command's man page.
|
||||
|
||||
The frequency when the test will be automatically triggered can be adjusted by setting the value `scan_interval` in seconds.
|
||||
@ -77,10 +112,12 @@ Parallel streams can help in some situations. As TCP attempts to be fair and con
|
||||
|
||||
You can use the service `sensor.iperf3_update` to trigger a manual speed test for all sensors. Iperf3 has its own service call that allow to perform a speed test on a particular entity.
|
||||
|
||||
### {% linkable_title Service `sensor.iperf3_update` %}
|
||||
### {% linkable_title Service %}
|
||||
|
||||
Once loaded, the `iperf3` component will expose a service (`iperf3.speedtest`) that can be called to run a speed test on demand. This can be useful if you have enabled manual mode.
|
||||
|
||||
| Service data attribute | Description |
|
||||
| `entity_id` | String that point at `entity_id`s of the Iperf3 sensor. Else targets all.
|
||||
| `host` | String that point at a configured `host` from configuration.yaml. Otherwise, tests will be run against all configured hosts.
|
||||
|
||||
|
||||
## {% linkable_title Notes %}
|
@ -10,6 +10,7 @@ footer: true
|
||||
logo: lcn.png
|
||||
ha_category:
|
||||
- Hub
|
||||
- Cover
|
||||
- Light
|
||||
- Switch
|
||||
ha_release: 0.85
|
||||
@ -17,6 +18,7 @@ ha_iot_class: "Local Push"
|
||||
redirect_from:
|
||||
- /components/light.lcn/
|
||||
- /components/switch.lcn/
|
||||
- /components/cover.lcn/
|
||||
---
|
||||
|
||||
The `lcn` integration for Home Assistant allows you to connect to [LCN](http://www.lcn.eu) hardware devices.
|
||||
@ -26,6 +28,7 @@ With this setup sending and receiving commands to and from LCN modules is possib
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Cover](#cover)
|
||||
- [Light](#light)
|
||||
- [Switch](#switch)
|
||||
|
||||
@ -43,14 +46,19 @@ lcn:
|
||||
port: 4114
|
||||
username: lcn
|
||||
password: lcn
|
||||
|
||||
|
||||
covers:
|
||||
- name: Living room cover
|
||||
address: myhome.s0.m7
|
||||
motor: motor1
|
||||
|
||||
lights:
|
||||
- name: Bedroom light
|
||||
address: myhome.s0.m7
|
||||
output: output1
|
||||
dimmable: true
|
||||
transition: 5
|
||||
|
||||
|
||||
switches:
|
||||
- name: Sprinkler switch
|
||||
address: myhome.s0.m7
|
||||
@ -95,6 +103,24 @@ connections:
|
||||
default: steps50
|
||||
type: string
|
||||
|
||||
covers:
|
||||
description: List of your covers.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
name:
|
||||
description: Name of the cover.
|
||||
required: true
|
||||
type: string
|
||||
address:
|
||||
description: "[Address](/components/lcn#lcn-addresses) of the module/group."
|
||||
required: true
|
||||
type: string
|
||||
motor:
|
||||
description: "Motor port ([MOTOR_PORT](/components/lcn#ports))."
|
||||
required: true
|
||||
type: string
|
||||
|
||||
lights:
|
||||
description: List of your lights.
|
||||
required: true
|
||||
@ -184,6 +210,20 @@ The platforms and service calls use several predefined constants as parameters.
|
||||
| -------- | ------ |
|
||||
| OUTPUT_PORT | `output1`, `output2`, `output3`, `output4` |
|
||||
| RELAY_PORT | `relay1`, `relay2`, `relay3`, `relay4`, `relay5`, `relay6`, `relay7`, `relay8` |
|
||||
| MOTOR_PORT | `motor1`, `motor2`, `motor3`, `motor4` |
|
||||
|
||||
The [MOTOR_PORT](/components/lcn#ports) values specify which hardware relay configuration will be used:
|
||||
|
||||
| Motor | Relay on/off | Relay up/down |
|
||||
| :------: | :----------: | :-----------: |
|
||||
| `motor1` | `relay1` | `relay2` |
|
||||
| `motor2` | `relay3` | `relay4` |
|
||||
| `motor3` | `relay5` | `relay6` |
|
||||
| `motor4` | `relay7` | `relay8` |
|
||||
|
||||
## {% linkable_title Cover %}
|
||||
|
||||
The `lcn` cover platform allows the control of [LCN](http://www.lcn.eu) relays which have been configured as motor controllers.
|
||||
|
||||
## {% linkable_title Light %}
|
||||
|
||||
@ -197,4 +237,4 @@ The `lcn` light platform allows the control of the following [LCN](http://www.lc
|
||||
The `lcn` switch platform allows the control of the following [LCN](http://www.lcn.eu) ports:
|
||||
|
||||
- Output ports
|
||||
- Relays
|
||||
- Relays
|
||||
|
@ -160,6 +160,7 @@ Start flow with specified transitions
|
||||
|---------------------------|----------|---------------------------------------------------------------------------------------------|
|
||||
| `entity_id` | no | Only act on a specific lights. |
|
||||
| `count` | yes | The number of times to run this flow (0 to run forever). |
|
||||
| `action` | yes | The action to take after the flow stops. Can be 'recover', 'stay', 'off'. Default 'recover' |
|
||||
| `transitions` | no | Array of transitions. See [examples below](#custom-effects). |
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
@ -198,11 +199,11 @@ light:
|
||||
|
||||
### {% linkable_title Custom effects %}
|
||||
|
||||
This example shows how you can add your custom effects in your configuration.
|
||||
This example shows how you can add your custom effects in your configuration. To turn on the effect you can use [light.turn_on](/components/light/#service-lightturn_on) service.
|
||||
|
||||
Possible transitions are `RGBTransition`, `HSVTransition`, `TemperatureTransition`, `SleepTransition`.
|
||||
|
||||
where the array values are as per the following:
|
||||
Where the array values are as per the following:
|
||||
- RGBTransition: [red, green, blue, duration, brightness] with red / green / blue being an integer between 0 and 255, duration being in milliseconds (minimum of 50) and final brightness to transition to 0-100 (%)
|
||||
- HSVTransition: [hue, saturation, duration, brightness] with hue being an integer between 0 and 359, saturation 0 -100, duration in milliseconds (minimum 50) and final brightness 0-100 (%)
|
||||
- TemperatureTransition: [temp, duration, brightness] with temp being the final color temperature between 1700 and 6500, duration in milliseconds (minimum 50) and final brightness to transition to 0-100 (%)
|
||||
|
@ -42,12 +42,11 @@ media_player:
|
||||
host: 192.168.0.222
|
||||
adbkey: "/config/android/adbkey"
|
||||
|
||||
# a device for which getting the current app (source) and the running apps (sources) cause issues
|
||||
# use an ADB server for sending ADB commands instead of the Python ADB implementation
|
||||
- platform: firetv
|
||||
name: Fire TV 3
|
||||
host: 192.168.0.123
|
||||
get_source: false
|
||||
get_sources: false
|
||||
adb_server_ip: 127.0.0.1
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -69,11 +68,15 @@ adbkey:
|
||||
description: The path to your `adbkey` file. Note that the file `adbkey.pub` must be in the same directory.
|
||||
required: false
|
||||
type: string
|
||||
get_source:
|
||||
description: Whether or not to retrieve the current app as the source.
|
||||
adb_server_ip:
|
||||
description: The IP address of the ADB server.
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
type: string
|
||||
adb_server_port:
|
||||
description: The port for the ADB server.
|
||||
required: false
|
||||
default: 5037
|
||||
type: port
|
||||
get_sources:
|
||||
description: Whether or not to retrieve the running apps as the list of sources.
|
||||
required: false
|
||||
@ -81,6 +84,13 @@ get_sources:
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title ADB Setup %}
|
||||
|
||||
This component works by sending ADB commands to your Fire TV device. There are two ways to accomplish this:
|
||||
|
||||
1. Using the `adb` Python package. If your device requires ADB authentication, you will need to follow the instructions in the "ADB Authentication (for Fire TV devices with recent software)" section below. Once you have an authenticated key, this approach does not require any additional setup or addons. However, users with newer devices may find that the ADB connection is unstable. If setting the `get_sources` configuration option to `false` does not help, they should use the next option.
|
||||
2. Using an ADB server. For Hass.io users, you can install the [Android Debug Bridge](https://github.com/hassio-addons/addon-adb/blob/v0.1.0/README.md) addon. With this approach, Home Assistant will send the ADB commands to the server, which will then send them to the Fire TV device and report back to Home Assistant. To use this option, add the `adb_server_ip` option to your configuration. If you are running the server on the same machine as Home Assistant, you can use `127.0.0.1` for this value.
|
||||
|
||||
### {% linkable_title ADB Authentication (for Fire TV devices with recent software) %}
|
||||
|
||||
If you get a "Device authentication required, no keys available" error when trying to set up Fire TV, then you'll need to create an adbkey and add its path to your configuration. Follow the instructions on this page to connect to your Fire TV from your computer: [Connecting to Fire TV Through adb](https://developer.amazon.com/zh/docs/fire-tv/connecting-adb-to-device.html).
|
||||
|
129
source/_components/meteo_france.markdown
Normal file
129
source/_components/meteo_france.markdown
Normal file
@ -0,0 +1,129 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Météo-France"
|
||||
description: "Instructions on how to integrate Météo-France within Home Assistant."
|
||||
date: 2018-10-18 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: meteo-france.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.89
|
||||
ha_iot_class: "Cloud Polling"
|
||||
ha_category:
|
||||
- Sensor
|
||||
- Weather
|
||||
ha_iot_class: "Local Push"
|
||||
redirect_from:
|
||||
- /components/sensor.meteo_france/
|
||||
- /components/weather.meteo_france/
|
||||
---
|
||||
|
||||
The `meteo_france` component uses the [Météo-France](http://www.meteofrance.com/) web service as a source for meteorological data for your location. The location is based on the `city` configured in your `configuration.yaml` file.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Sensor
|
||||
- Weather
|
||||
|
||||
It displays the current weather along with a 4 days forecast and can create sensors based on the `monitored_conditions` set in your `configuration.yaml` file.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To add Météo-France to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
meteo_france:
|
||||
- city: '76000'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
city:
|
||||
description: Name of the city ([see below](#about-city-configuration)).
|
||||
required: true
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: The conditions types to monitor.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
temperature:
|
||||
description: The current temperature.
|
||||
weather:
|
||||
description: A human-readable text summary of the current conditions.
|
||||
wind_speed:
|
||||
description: The wind speed.
|
||||
uv:
|
||||
description: The current UV index.
|
||||
next_rain:
|
||||
description: Time to the next rain if happening for the next hour ([see note below](#about-next_rain-condition-sensor)).
|
||||
freeze_chance:
|
||||
description: Probability of temperature below 0°C for the day.
|
||||
rain_chance:
|
||||
description: Probability of rain for the day.
|
||||
snow_chance:
|
||||
description: Probability of snow for the day.
|
||||
thunder_chance:
|
||||
description: Probability of thunderstorm for the day.
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title About `city` configuration %}
|
||||
|
||||
This component use the Météo-France search API to get the first city from the results returned.
|
||||
|
||||
It works well with french postal code, city name, etc. In case your expected result doesn't come first, you can set a more specified query like `<city name>, <postal_code>`.
|
||||
|
||||
It also works with international city, with mixed results. You may have to find the correct city query.
|
||||
For example `Montreal, Canada` will return a city in Ardèche, France, whereas `Montreal, america` works
|
||||
|
||||
[http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique](http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique)
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for Montreal, Canada
|
||||
meteo_france:
|
||||
- city: 'montreal,amerique'
|
||||
```
|
||||
|
||||
### {% linkable_title About `next_rain` condition sensor %}
|
||||
|
||||
<p class='note warning'>
|
||||
The 1 hour rain forecast is supported for more than 75 % of metropolitan France.<br/>
|
||||
You can check if your city is covered on the [Météo-France website](http://www.meteofrance.com/previsions-meteo-france/previsions-pluie).
|
||||
</p>
|
||||
|
||||
The `next_rain` sensor value is the time to next rain, from 0 to 55 minutes.
|
||||
If no rain is forecasted for the next hour, value will be "No rain".
|
||||
|
||||
Attributes also give the forecast for the next hour in 5 minutes intervals.
|
||||
Possible value for each intervals attributes are:
|
||||
|
||||
- 1 No rain
|
||||
- 2 Light rain
|
||||
- 3 Moderate rain
|
||||
- 4 Heavy rain
|
||||
|
||||
### {% linkable_title Complete example %}
|
||||
|
||||
This is an example for 3 cities forecast with different monitored conditions:
|
||||
|
||||
```yaml
|
||||
# Complete example configuration.yaml entry
|
||||
meteo_france:
|
||||
- city: 'Rouen'
|
||||
monitored_conditions:
|
||||
- rain_chance
|
||||
- freeze_chance
|
||||
- thunder_chance
|
||||
- snow_chance
|
||||
- weather
|
||||
- next_rain
|
||||
- wind_speed
|
||||
- temperature
|
||||
- uv
|
||||
- city: 'Oslo, norvege'
|
||||
monitored_conditions:
|
||||
- temperature
|
||||
- city: '51100'
|
||||
```
|
20
source/_components/mobile_app.markdown
Normal file
20
source/_components/mobile_app.markdown
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Mobile App"
|
||||
description: "The Mobile App component allows a generic platform for integrating with mobile apps."
|
||||
date: 2019-03-06 01:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: "Other"
|
||||
ha_release: 0.89
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The Mobile App component allows Home Assistant mobile apps to easily integrate with Home Assistant.
|
||||
|
||||
If you are planning to use a mobile application that integrates with Home Assistant, we recommend that you keep this component enabled.
|
||||
|
||||
If you are a mobile app developer, see the [developer documentation](https://developers.home-assistant.io/docs/en/app_integration_index.html) for instructions on how to build your app on top of the mobile app component.
|
@ -9,7 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: mysensors.png
|
||||
ha_category: DIY
|
||||
featured: true
|
||||
featured: false
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
|
@ -42,7 +42,7 @@ password:
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note'>
|
||||
After the update to firmware 4.0 (which adds cleaning maps) there is also support for displaying the maps of the Botvac D3 Connected and Botvac D5 Connected robots. More information on how to update can be found [here](https://support.neatorobotics.com/hc/en-us/articles/115004320694-Software-Update-4-0-for-Neato-Botvac-Connected-D3-D5-).
|
||||
After the update to firmware 4.0 (which adds cleaning maps) there is also support for displaying the maps of the Botvac D3 Connected and Botvac D5 Connected robots. More information on how to update can be found [here](https://support.neatorobotics.com/hc/en-us/articles/115004320694-Software-Update-4-0-for-Neato-Botvac-Connected-D3-D5-).
|
||||
</p>
|
||||
|
||||
## {% linkable_title Vacuum %}
|
||||
@ -54,7 +54,7 @@ The status will contain attributes on the robots last clean session.
|
||||
If you notice the robot stops responding to commands check the state to see if the robot is "unavailable". If you see "unavailable" first try to restart the vacuum and wait about 5 minutes to see if it is no longer "unavailable". If you are still having issues check the Neato app and make sure your robot is connected and working. If it is not then follow the steps in the app to reset your robot and give it the same name as before then restart Home Assistant.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Configuration %}
|
||||
### {% linkable_title Services %}
|
||||
|
||||
Currently supported services are:
|
||||
|
||||
@ -65,6 +65,30 @@ Currently supported services are:
|
||||
- `locate`
|
||||
- `spot_clean`
|
||||
|
||||
And a specific Platform Service:
|
||||
|
||||
- `vacuum.neato_custom_cleaning`
|
||||
|
||||
### {% linkable_title Platform Services %}
|
||||
|
||||
#### {% linkable_title Service `vacuum.neato_custom_cleaning` %}
|
||||
|
||||
Starts a custom cleaning of your house. You can set the various options like in the mobile application (mode, map usage, navigation mode, zone).
|
||||
|
||||
<p class='note'>
|
||||
Not all Botvac models support all the attributes. Only the Neato Botvac D7 supports the `zone` attribute.
|
||||
Some information about the capabilities might be found on the [Neato Developer Portal](https://developers.neatorobotics.com/api/robot-remote-protocol/housecleaning).
|
||||
</p>
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `entity_id` | no | Only act on a specific robot |
|
||||
| `mode` | yes | Set the cleaning mode: 1 for eco and 2 for turbo. Defaults to turbo if not set. |
|
||||
| `navigation` | yes | Set the navigation mode: 1 for normal, 2 for extra care, 3 for deep. Defaults to normal if not set. |
|
||||
| `category` | yes | Whether to use a persistent map or not for cleaning (i.e. No go lines): 2 for no map, 4 for map. Default to using map if not set (and fallback to no map if no map is found). |
|
||||
| `zone` | yes | Only supported on the Botvac D7. Name of the zone to clean. Defaults to no zone i.e. complete house cleanup. |
|
||||
|
||||
|
||||
## {% linkable_title Camera %}
|
||||
|
||||
The `neato` camera platform allows you to view the latest cleaning map of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
|
||||
@ -73,4 +97,4 @@ The `neato` camera platform allows you to view the latest cleaning map of your [
|
||||
|
||||
The `neato` switch platform allows you to enable or disable the schedule of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
|
||||
|
||||
To add `neato` switch, camera and vacuum to your installation, follow instructions above.
|
||||
To add `neato` switch, camera and vacuum to your installation, follow instructions above.
|
||||
|
@ -46,8 +46,13 @@ password:
|
||||
discovery:
|
||||
description: Whether to discover Netatmo devices. Set it to False, if you want to choose which Netatmo device you want to add.
|
||||
required: false
|
||||
type: string
|
||||
type: boolean
|
||||
default: true
|
||||
webhooks:
|
||||
description: Enable webhooks for instant events of the Welcome and Presence cameras.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Get API and Secret Key %}
|
||||
@ -69,3 +74,58 @@ That's it. You can copy and paste your new `client id` and `client secret` in yo
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/netatmo_api.png' />
|
||||
</p>
|
||||
|
||||
### {% linkable_title Webhooks %}
|
||||
|
||||
The Welcome and Presence cameras can send instant events to Home Assistant by using webhooks. There are different types of events, each with slightly different data attached. To enable the webhooks add `webhooks: true` to your configuration. It is also required to have your camera enabled in Home Assistant. You can do this either by manually setting up the [platform](https://www.home-assistant.io/components/camera.netatmo/) or by enabeling [discovery](https://www.home-assistant.io/components/netatmo/#discovery).
|
||||
|
||||
To be able to receive events from Netatmo, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](https://www.home-assistant.io/addons/duckdns/)) and you need to have the base_url configured for the HTTP component ([docs](https://www.home-assistant.io/components/http/#base_url)).
|
||||
|
||||
Events coming in from Netatmo will be available as events in Home Assistant and are fired as netatmo_*, along with their data. You can use this event to trigger automations.
|
||||
|
||||
#### {% linkable_title Events %}
|
||||
|
||||
The following events are available:
|
||||
|
||||
- netatmo_person (Welcome)
|
||||
- netatmo_movement (Welcome & Presence)
|
||||
- netatmo_human (Presence)
|
||||
- netatmo_animal (Presence)
|
||||
- netatmo_vehicle (Presence)
|
||||
- netatmo_other (Welcome & Presence)
|
||||
|
||||
All events (except `netatmo_other`) contain the following attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| event_type | Type of event. E.G. `movement`.
|
||||
| home_name | Name of the home the camera belongs to.
|
||||
| camera_id | MAC address of the camera.
|
||||
| message | Message describing what has been seen by the camera.
|
||||
|
||||
The Presence camera additionally has these attributes:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| snapshot_url | URL to a picture of the full frame of the event.
|
||||
| vignette_url | URL to a picture cropped down to the area of interest.
|
||||
|
||||
The Welcome camera additionally has these attributes for `netatmo_person` events:
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| id | ID of the person that has been seen.
|
||||
| name | Name of the person that has been seen.
|
||||
| is_known | Boolean value if the person is known.
|
||||
| face_url | URL to a picture of the person.
|
||||
|
||||
The `netatmo_other` event passes all the webhook data through for all webhook events that don't match any of the above. Set the [level of logging](https://www.home-assistant.io/components/logger/) for the `netatmo` component to `debug` to view the data in the Home Assistant logs.
|
||||
|
||||
### {% linkable_title Services (only for webhooks) %}
|
||||
|
||||
There are two services to manually add and drop the webhooks. This might be useful if your webhook has been banned and you want to readd the webhook without restarting Home Assistant.
|
||||
|
||||
| Service | Description |
|
||||
| ------- | ----------- |
|
||||
| addwebhook | Subscribe to webhooks. By default the automatically generated URL will be used. But you can pass `{"url": "https://yourdomain.com/yourwebhook/"}` as service data to the service call if you want to use a manually created [webhook trigger](https://www.home-assistant.io/docs/automation/trigger/#webhook-trigger). In this case you have to manually process the data that is sent by Netatmo.
|
||||
| dropwebhook | Unsubscribe existing webhooks.
|
142
source/_components/nissan_leaf.markdown
Normal file
142
source/_components/nissan_leaf.markdown
Normal file
@ -0,0 +1,142 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Nissan Leaf"
|
||||
description: "Instructions for how to integrate Nissan Leaf(s) into Home Assistant."
|
||||
date: 2019-01-05 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: nissan.png
|
||||
ha_category: Car
|
||||
ha_release: 0.89
|
||||
ha_iot_class: "Cloud Polling"
|
||||
redirect_from:
|
||||
- /components/binary_sensor.nissan_leaf/
|
||||
- /components/sensor.nissan_leaf/
|
||||
- /components/switch.nissan_leaf/
|
||||
---
|
||||
|
||||
The `nissan_leaf` component offers integration with the [NissanConnect EV](http://youplus.nissan.co.uk/GB/en/YouPlus/ConnectedServices.html) cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers:
|
||||
|
||||
* sensors for the battery status, range and charging status
|
||||
* a switch to start and stop the climate control
|
||||
* a 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.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use Nissan Leaf in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
nissan_leaf:
|
||||
username: "YOUR_USERNAME"
|
||||
password: "YOUR_PASSWORD"
|
||||
region: "YOUR_REGION"
|
||||
```
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The username associated with your NissanConnect EV account. Enclose in quotes.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for your given NissanConnect EV account. Enclose in quotes.
|
||||
required: true
|
||||
type: string
|
||||
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 aquired and exposed via a device tracker. If you have a pre-2014 24 kWh Leaf then you will have Carwings and this should be set to false.
|
||||
required: false
|
||||
type: boolean
|
||||
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
|
||||
default: 1 hour
|
||||
type: time
|
||||
update_interval_charging:
|
||||
description: The interval in minutes between updates if charging.
|
||||
required: false
|
||||
default: 15
|
||||
type: time
|
||||
update_interval_climate:
|
||||
description: The interval in minutes between updates if climate control on.
|
||||
required: false
|
||||
default: 5
|
||||
type: time
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Full configuration sample %}
|
||||
|
||||
A more advanced example for setting the update interval:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
nissan_leaf:
|
||||
username: "YOUR_USERNAME"
|
||||
password: "YOUR_PASSWORD"
|
||||
region: "YOUR_REGION"
|
||||
nissan_connect: true
|
||||
update_interval:
|
||||
hours: 1
|
||||
update_interval_charging:
|
||||
minutes: 15
|
||||
update_interval_climate:
|
||||
minutes: 5
|
||||
force_miles: true
|
||||
```
|
||||
|
||||
## {% linkable_title 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.
|
||||
|
||||
```yaml
|
||||
- service: nissan_leaf.start_charge
|
||||
data:
|
||||
vin: '1HGBH41JXMN109186' # replace
|
||||
```
|
||||
|
||||
## {% linkable_title Updating on-demand using Automation %}
|
||||
|
||||
You can also use the `nissan_leaf.update` service to request an on-demand update. To update almost exclusively via the service set the `update_interval` to a high value in the component configuration. The service requests the VIN number as described above.
|
||||
|
||||
```yaml
|
||||
- id: update_when_driver_not_home
|
||||
alias: 'Update when driver not home'
|
||||
initial_state: on
|
||||
trigger:
|
||||
- platform: time_pattern
|
||||
minutes: '/30'
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: device_tracker.drivername # replace
|
||||
state: 'not_home'
|
||||
action:
|
||||
- service: nissan_leaf.update
|
||||
data:
|
||||
vin: '1HGBH41JXMN109186' # replace
|
||||
```
|
||||
|
||||
## {% linkable_title Hints %}
|
||||
|
||||
* The update interval has a minimum of two minutes.
|
||||
* Requesting updates uses a small amount of power from the 12 V battery. The 12 V battery charges from the main traction battery when the car is not plugged in. If the car is left plugged in for a long time, or if the main traction battery is very low then the 12 V battery may gradually discharge. A low update interval may cause the 12 V battery to become flat. When the 12 V battery is flat the car will not start. _Do not set the update interval too low. Use at your own risk._
|
||||
* This component communicates with the Nissan Servers which then communicate with the car. The communication between the car and the Nissan Servers is very slow, and takes up to five minutes to get information from the car, therefore the default polling interval is set to one hour to not overwhelm the connection.
|
||||
* Responses from the Nissan servers are received separately for the battery/range, climate control and location. The `updated_on` attribute will show the last time the data was retrieved from the server. There are separate attributes for when the `next_update` is scheduled, and to indicate if `update_in_progress`. The `nissan_leaf.update` service will reset the `next_update` attribute.
|
||||
* The Nissan APIs do not allow charging to be stopped remotely.
|
||||
* The Nissan servers have a history of being unstable, therefore please confirm that the official Nissan Leaf app/website is working correctly before reporting bugs.
|
||||
|
||||
Please report bugs using the following logger configuration.
|
||||
|
||||
```yaml
|
||||
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
|
||||
```
|
61
source/_components/owlet.markdown
Normal file
61
source/_components/owlet.markdown
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Owlet"
|
||||
description: "Instructions on how to integrate Owlet baby monitor into Home Assistant."
|
||||
date: 2019-01-19
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: owlet.svg
|
||||
ha_category:
|
||||
- Health
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
ha_release: "0.89"
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
[Owlet Care](https://owletcare.com/) baby monitors check your baby's oxygen level and heart rate while sleeping.
|
||||
|
||||
Configuring this component will enable tracking of heart rate, oxygen level, motion and base station connection status. Battery status is available as an attribute on oxygen and heart rate sensors.
|
||||
|
||||
This component enables the following platforms automatically:
|
||||
|
||||
#### {% linkable_title Binary Sensors %}
|
||||
|
||||
- Base Station Status
|
||||
- Motion
|
||||
|
||||
#### {% linkable_title Sensors %}
|
||||
|
||||
- Heart rate
|
||||
- Oxygen level
|
||||
|
||||
### {% linkable_title Configuration %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
owlet:
|
||||
username: OWLET_USER
|
||||
password: OWLET_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: Your Owlet account user ID.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Your Owlet account password.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Custom name for your Owlet device.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='warning'>
|
||||
The intended purpose of this component is to enable data logging and automations such as battery status updates and charging reminders. This component should not replace the Owlet app nor should it be used for life-critical notifications.
|
||||
</p>
|
@ -13,7 +13,27 @@ ha_qa_scale: internal
|
||||
ha_release: 0.88
|
||||
---
|
||||
|
||||
The `person` component allows to connect device tracker entities to one or more person entities. The last state update of a connected device tracker will set the state of the person. For example if you connect your router and your OwnTracks device as trackers to your person, the last state update from either the router or your OwnTracks device will set the state of your person.
|
||||
The person component allows to connect device tracker entities to one or more person entities. The state updates of a connected device trackers will set the state of the person. When multiple device tracers used, the state of berson will be determined next way:
|
||||
|
||||
1. If there are stationary sources (which type is not 'gps') presenting status 'home', than latest of this sources will be taken.
|
||||
2. If there are sources of type 'gps', than latest of this sources will be taken.
|
||||
3. Otherwise will be taken latest source with status 'not_home'.
|
||||
|
||||
Lets say for example, that you have 3 trackers: 'tracker_gps', 'tracker_router' and 'tracker_ble'.
|
||||
|
||||
1. You're at home, all 3 devices shows status 'home' - status of your Person entity will be 'home' with source 'tracker_router' or 'tracker_ble', whatever was latest.
|
||||
2. You're going out. 'tracker_gps' shows status 'not_home', but other two trackers show status 'home' according to their setting 'consider_home'. You are still considered to be at home.
|
||||
3. After some time both stationary trackers show status 'not_home'. Now your Person entity has status 'not_home' with source 'tracker_gps'.
|
||||
4. While you are outside your home, your Home Assistant was suddenly restarted. Until 'tracker_gps' receives update, your status will be determined by stationary tracker, which gets latest update after restart. Obviously the status will be 'not_home'.
|
||||
5. Than you're going into area marked as 'zone1', 'tracker_gps' is getting update, and now your status is 'zone1' with source 'tracker_gps'.
|
||||
6. You've returned home, and your mobile device has connected to router, but GPS update yet didn't occur. Your status will be 'home' with source 'tracker_router'.
|
||||
7. After GPS update occurs, your status still be 'home' with source 'tracker_router' or 'tracker_ble', whatever updates later.
|
||||
|
||||
TL;DR: When you're at home, your position is determined firstly by stationary trackers (if any) and then by GPS. When you're outside your home, your position is determined firstly by GPS and then by stationary trackers.
|
||||
|
||||
|
||||
**Hint**: When you use multiple device trackers together, especially stationary and GPS trackers, it's advisable to set `consider_home`for stationary trackers as low as possible.
|
||||
|
||||
|
||||
You can manage persons via the UI from the person page inside the configuration panel or via `YAML`.
|
||||
|
||||
|
@ -10,26 +10,29 @@ footer: true
|
||||
logo: minut.svg
|
||||
ha_category:
|
||||
- Hub
|
||||
- Alarm
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
featured: false
|
||||
ha_release: "0.83"
|
||||
ha_config_flow: true
|
||||
ha_iot_class: "Cloud Polling"
|
||||
ha_qa_scale: silver
|
||||
ha_qa_scale: gold
|
||||
redirect_from:
|
||||
- /components/binary_sensor.point/
|
||||
- /components/sensor.point/
|
||||
---
|
||||
|
||||
The Point component is the main component to integrate the [Minut Point](https://minut.com/). To connect Point, you will have to [sign up for a developer account](https://minut.com/community/developers/) and get a `client_id` and `client_secret` using the `callback url` as `base_url` + `/api/minut`, e.g., `http://localhost:8123/api/minut`. The `client_id` and `client_secret` should be used as below.
|
||||
The Point hub enables integration with the [Minut Point](https://minut.com/). To connect with Point, you will have to [sign up for a developer account](https://minut.com/community/developers/) and get a `client_id` and `client_secret` with the `callback url` configured as your Home Assistant `base_url` + `/api/minut`, e.g. `http://localhost:8123/api/minut`. The `client_id` and `client_secret` should be used as below.
|
||||
|
||||
Once Home Assistant is started, a configurator will pop up asking you to Authenticate your Point account via a link. When you follow the link and click on **Accept** you will be redirected to the `callback url` and the Point integration will be automatically configured and you can go back to the original dialog and press **Submit**.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Alarm](#alarm)
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
- [Sensor](#sensor)
|
||||
|
||||
Once Home Assistant is started, a configurator will pop up asking you to Authenticate your Point account via a link when you follow the link and have clicked on **Accept** you will be redirected to the `callback url` and the Point integration will be automatically configured and you can go back to the original dialog and press **Submit**.
|
||||
|
||||
### {% linkable_title Configuration %}
|
||||
|
||||
```yaml
|
||||
@ -50,9 +53,23 @@ client_secret:
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
# {% linkable_title Device types %}
|
||||
|
||||
The integration supports the following device types within Home Assistant:
|
||||
- [Alarm](#alarm)
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
- [Sensor](#sensor)
|
||||
|
||||
<p class='note'>
|
||||
The Point is just active occasionally so the sensors are only updated every hour or so.
|
||||
The events sent from the Point is sent as a webhook back to Home Assistant with `event_type` as `point_webhook_received`, please consider the documentation for the [IFTT](/components/ifttt/) component on how to write automations for webhooks.
|
||||
The Point is just active occasionally so the [Sensors](#sensor) are only updated every hour or so. The [Binary Sensors](#binary-sensor) are however updated via [Cloud Push](https://www.home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things/#cloud-pushing-new-state), making the changes close to instant.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Alarm %}
|
||||
|
||||
Each home configured in the Point mobile application will show up as a separate alarm control panel. The panels allow **arming** and **disarming** of the Point home alarm system.
|
||||
|
||||
<p class="note">
|
||||
The Point only supports a Arm/Disarm action, so there is no difference between `Arm Home` and `Arm Away`.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Binary Sensor %}
|
||||
@ -69,14 +86,57 @@ Each Point exposes the following binary sensors:
|
||||
- **moisture**: `On` means moisture detected (wet), `Off` means no moisture (dry)
|
||||
- **motion**: `On` means motion detected, `Off` means no motion (clear)
|
||||
- **sound**: `On` means sound detected, `Off` means no sound (clear)
|
||||
- **tamper**: `On` means the point was removed or attached
|
||||
- **tamper**: `On` means the point was removed or attached, `Off` means normal
|
||||
|
||||
For installation instructions, see [the Point component](#configuration).
|
||||
|
||||
<p class='note'>
|
||||
The events sent from the Point is also sent as a webhook back to Home Assistant with `event_type` as `point_webhook_received`, please consider the documentation for the [IFTT](/components/ifttt/) component on how to write automations for webhooks.
|
||||
<p class="note">
|
||||
The binary sensors **battery**, **button_press** and **tamper** are switched `On` for a breif moment and are then switched back to `Off`.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Automation example %}
|
||||
|
||||
The following example show how to implement an automation for the **button_press** binary sensor.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml Automation entry
|
||||
automation:
|
||||
alias: Point button press
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.point_button_press # Change this accordingly
|
||||
to: 'on'
|
||||
action:
|
||||
- service: persistent_notification.create
|
||||
data:
|
||||
title: Point button press
|
||||
message: Point button was pressed.
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title Webhook events %}
|
||||
|
||||
The events shown as [binary sensors](#binary-sensor) are sent to Home Assistant as webhooks with the `event_type` set to `point_webhook_received`. Below is an example of how to use such a webhook do note the `trigger.event.data.event.device_id` which translates to the id of the Point device that sent the event.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml Automation entry
|
||||
automation:
|
||||
alias: Point button press (webhook)
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: point_webhook_received
|
||||
event_data: {}
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{{ trigger.event.data.event.type == 'short_button_press' }}"
|
||||
action:
|
||||
- service: persistent_notification.create
|
||||
data_template:
|
||||
title: Point button press (webhook)
|
||||
message: "Button press on Point {{ trigger.event.data.event.device_id }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## {% linkable_title Sensor %}
|
||||
|
||||
Each Point exposes the following sensors:
|
||||
@ -84,10 +144,4 @@ Each Point exposes the following sensors:
|
||||
- **temperature**: Temperature in °C.
|
||||
- **humidity**: Percentage of humidity in the air.
|
||||
- **pressure**: Pressure in hPa.
|
||||
- **sound_level**: Sound level in dBa.
|
||||
|
||||
For installation instructions, see [the Point component](#configuration).
|
||||
|
||||
<p class='note'>
|
||||
The Point is just active occasionally so the sensors are only updated every hour or so.
|
||||
</p>
|
||||
- **sound_level**: Sound level in dBA
|
||||
|
117
source/_components/ps4.markdown
Normal file
117
source/_components/ps4.markdown
Normal file
@ -0,0 +1,117 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Sony PlayStation 4"
|
||||
description: "Instructions on how to integrate a Sony PlayStation 4 into Home Assistant."
|
||||
date: 2019-02-12 01:08
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ps4.png
|
||||
ha_category: Media Player
|
||||
ha_release: 0.89
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `ps4` component allows you to control a
|
||||
[Sony PlayStation 4 console](https://www.playstation.com/en-us/explore/ps4/).
|
||||
|
||||
- This component supports controlling a single PlayStation 4 for your instance. Additional consoles may be supported in a future release.
|
||||
|
||||
## {% linkable_title Requirements %}
|
||||
|
||||
- Android or iOS device
|
||||
- PS4 Second Screen App for [Android](https://play.google.com/store/apps/details?id=com.playstation.mobile2ndscreen&hl=en_US) or [iOS](https://itunes.apple.com/us/app/ps4-second-screen/id1201372796?mt=8) installed on device.
|
||||
|
||||
## {% linkable_title Set up %}
|
||||
|
||||
1. Download the Second Screen App and make sure that you can find and control your PlayStation 4 normally.
|
||||
|
||||
<p class='note'>
|
||||
Read the section "Granting Port Access" below before continuing.
|
||||
</p>
|
||||
|
||||
2. Navigate to `Configuration -> Integrations` and select `Configure` for `PlayStation 4`.
|
||||
|
||||
3. Follow instructions displayed to generate user credentials. You will know this step is completed when a form with fields appears.
|
||||
|
||||
4. Pair Home Assistant to your PlayStation 4 by filling in the fields.
|
||||
- **Note:** To find your correct region refer to the section [Regions](#regions)
|
||||
|
||||
## {% linkable_title Granting Port Access %}
|
||||
|
||||
The PlayStation 4 component requires the use of privileged ports to work correctly, specifically UDP port 987 and TCP port 997. Depending on your OS of your Home Assistant instance you may need to allow usage of privileged ports manually.
|
||||
Home Assistant installed on a Debian-type OS for example, such as *Debian*, *Hassbian*, *Rassbian*, and *Armbian* may require configuration.
|
||||
|
||||
<p class='note warning'>
|
||||
Do not run your <b>Home Assistant</b> instance itself as <b>root</b> or with <b>root/sudo privileges</b> to accomplish this. This would create a security risk for your host system.
|
||||
</p>
|
||||
|
||||
There are varying methods to perform this, dependent on your OS that is running Home Assistant. Specifically, your *Python Interpreter* which runs your Home Assistant instance needs access to the mentioned ports.
|
||||
|
||||
<p class='note'>
|
||||
If your Home Assistant device is running <b>Hass.io</b> on <b>HassOS</b>, it does not require additional configuration.
|
||||
</p>
|
||||
|
||||
- Example for Debian:
|
||||
`sudo setcap 'cap_net_bind_service=+ep' /usr/bin/python3.5`
|
||||
Replace "/usr/bin/python3.5" with your path to Python that is running Home Assistant.
|
||||
|
||||
### {% linkable_title Docker %}
|
||||
|
||||
When running Home Assistant using Docker, make sure that the Home Assistant container is discoverable by the PS4. This can be achieved by ensuring that the Home Assistant container uses the `host` network driver (by passing `--net=host` to the container when creating, or adding `network_mode: "host"` to your compose file when using `docker-compose`).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
<p class='note'>
|
||||
The PlayStation 4 component does not use entries from `configuration.yaml`. You must configure this component by using `Integrations`
|
||||
</p>
|
||||
|
||||
## {% linkable_title Regions %}
|
||||
|
||||
Some titles will have different SKUs in the PlayStation Store database depending on your region. You must select your specific region in the setup in order to retrieve the cover art for such titles correctly. If you do not know your [region](https://www.gamerbraves.com/ps4-games-region-codes-explained/), reference the table below:
|
||||
|
||||
| Region ID | Locales |
|
||||
| ----------- | ---------------------------------------------- |
|
||||
| R1 | Bermuda, Canada, United States |
|
||||
| | and U.S. territories |
|
||||
| R2 | The Middle East, Western Europe, |
|
||||
| | Central Europe, Egypt, |
|
||||
| | French overseas territories, Greenland, |
|
||||
| | Japan, Lesotho, South Africa and Swaziland |
|
||||
| R3 | Southeast Asia, Hong Kong, Macau, |
|
||||
| | South Korea and Taiwan |
|
||||
| R4 | Australasia, Central America, |
|
||||
| | the Caribbean, Mexico, Oceania, South America |
|
||||
| R5 | The rest of Africa, Former Soviet Union, |
|
||||
| | the Indian subcontinent, Mongolia, North Korea |
|
||||
|
||||
<p class='note'>
|
||||
Region 6: Mainland China, is not supported as there is no English database available.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
### {% linkable_title Service `send_command` %}
|
||||
|
||||
Emulate button press on PlayStation 4. This emulates the commands available for the PS4 Second Screen App. This is not to be confused with DualShock 4 controller buttons.
|
||||
|
||||
| Service data attribute | Optional | Example | Description |
|
||||
| ---------------------- | -------- | ---------------------------- | ------------------------------------- |
|
||||
| `entity_id` | No | `media_player.playstation_4` | The entity id for your PlayStation 4. |
|
||||
| `command` | No | `ps` | The command you want to send. |
|
||||
|
||||
#### {% linkable_title Available Commands %}
|
||||
|
||||
Full list of supported commands.
|
||||
|
||||
| Command | Button Emulated |
|
||||
| -------- | ---------------- |
|
||||
| `ps` | PS (PlayStation) |
|
||||
| `option` | Option |
|
||||
| `enter` | Enter |
|
||||
| `back` | Back |
|
||||
| `up` | Swipe Up |
|
||||
| `down` | Swipe Down |
|
||||
| `left` | Swipe Left |
|
||||
| `right` | Swipe Right |
|
@ -32,6 +32,8 @@ sensor:
|
||||
token: YOUR_TOKEN
|
||||
```
|
||||
|
||||
The monitored conditions can create a sensor which displays the amount of records currently in your collection and/or wantlist, and an option to pick a random record from your collection.
|
||||
|
||||
{% configuration %}
|
||||
token:
|
||||
description: The Discogs API token to use as identification to get your collection.
|
||||
@ -41,4 +43,15 @@ name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: A list of sensor to include.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
collection:
|
||||
description: Shows the amount of records in the user's collection.
|
||||
wantlist:
|
||||
description: Shows the amount of records in the user's wantlist.
|
||||
random_record:
|
||||
description: Proposes a random record from the collection to play.
|
||||
{% endconfiguration %}
|
||||
|
@ -125,6 +125,8 @@ resources:
|
||||
description: The number of threads.
|
||||
process_sleeping:
|
||||
description: The number of sleeping processes.
|
||||
cpu_use_percent:
|
||||
description: The used CPU in percent.
|
||||
cpu_temp:
|
||||
description: The CPU temperature (may not be available on all platforms).
|
||||
docker_active:
|
||||
|
@ -139,7 +139,7 @@ sensor:
|
||||
|
||||
## {% linkable_title Updating sensors on-demand using Automation %}
|
||||
|
||||
You can also use the `sensor.google_travel_sensor_update` service to update the sensor on-demand. For example, if you want to update `sensor.morning_commute` every 2 minutes on weekday mornings, you can use the following automation:
|
||||
You can also use the `homeassistant.update` service to update the sensor on-demand. For example, if you want to update `sensor.morning_commute` every 2 minutes on weekday mornings, you can use the following automation:
|
||||
|
||||
```yaml
|
||||
- id: update_morning_commute_sensor
|
||||
@ -160,7 +160,7 @@ You can also use the `sensor.google_travel_sensor_update` service to update the
|
||||
- thu
|
||||
- fri
|
||||
action:
|
||||
- service: sensor.google_travel_sensor_update
|
||||
- service: homeassistant.update
|
||||
data:
|
||||
entity_id: sensor.morning_commute
|
||||
```
|
||||
|
@ -1,85 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Météo-France Sensor"
|
||||
description: "Show 1hr rain forecast from Météo-France."
|
||||
date: 2018-10-18 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: meteo-france.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.82
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `meteo_france` platform uses the [Météo-France](http://www.meteofrance.com/) web service as a source for meteorological data for your location. The location is based on the `postal_code` configured in your `configuration.yaml` file.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To add Météo-France to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: meteo_france
|
||||
postal_code: '76000'
|
||||
monitored_conditions:
|
||||
- temperature
|
||||
- weather
|
||||
- wind_speed
|
||||
- uv
|
||||
- next_rain
|
||||
- freeze_chance
|
||||
- rain_chance
|
||||
- snow_chance
|
||||
- thunder_chance
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
postal_code:
|
||||
description: Postal code of the city.
|
||||
required: true
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: The conditions types to monitor.
|
||||
required: true
|
||||
type: list
|
||||
keys:
|
||||
temperature:
|
||||
description: The current temperature.
|
||||
weather:
|
||||
description: A human-readable text summary of the current conditions.
|
||||
wind_speed:
|
||||
description: The wind speed.
|
||||
uv:
|
||||
description: The current UV index.
|
||||
next_rain:
|
||||
description: Time to the next rain if happening for the next hour. (see note below)
|
||||
freeze_chance:
|
||||
description: Probability of temperature below 0°C for the day.
|
||||
rain_chance:
|
||||
description: Probability of rain for the day.
|
||||
snow_chance:
|
||||
description: Probability of snow for the day.
|
||||
thunder_chance:
|
||||
description: Probability of thunderstorm for the day.
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
### {% linkable_title About `next_rain` condition sensor %}
|
||||
|
||||
<p class='note warning'>
|
||||
The 1 hour rain forecast is supported for more than 75% of metropolitan France.<br/>
|
||||
You can check if your city is covered on the [Météo-France website](http://www.meteofrance.com/previsions-meteo-france/previsions-pluie)
|
||||
</p>
|
||||
|
||||
The `next_rain` sensor value is the time to next rain, from 0 to 55min.
|
||||
If no rain is forecasted for the next hour, value will be "No rain".
|
||||
|
||||
Attributes also give the forecast for the next hour in 5min intervals.
|
||||
Possible value for each intervals attributes are :
|
||||
- 1 No rain
|
||||
- 2 Light rain
|
||||
- 3 Moderate rain
|
||||
- 4 Heavy rain
|
@ -65,6 +65,8 @@ modules:
|
||||
description: Noise level in dB.
|
||||
humidity:
|
||||
description: "Humidity in %."
|
||||
health_idx:
|
||||
description: "Air health as one of the values Healthy, Fine, Fair, Poor, Unhealthy."
|
||||
rain:
|
||||
description: Estimated rainfall for today in mm.
|
||||
sum_rain_1:
|
||||
|
@ -26,6 +26,7 @@ sensor:
|
||||
station_from: "STATION_1"
|
||||
station_to: "STATION_2"
|
||||
station_live: "STATION_1"
|
||||
exclude_vias: true
|
||||
```
|
||||
|
||||
The stations can only be provided by their standard names and not ids. The list of stations can be checked on the NMBS/SCNB website but for most accurate results check them on the [iRail API page](https://api.irail.be/stations/) which this component uses internally.
|
||||
@ -43,9 +44,19 @@ station_live:
|
||||
description: Setting this will create another sensor to monitor the liveboard in a station.
|
||||
required: false
|
||||
type: string
|
||||
exclude_vias:
|
||||
description: Setting this will not show connections for which you have to transfer to another station.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: "`NMBS`, `NMBS Live` for the liveboard sensor when set."
|
||||
show_on_map:
|
||||
description: Show the station on the map.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
59
source/_components/sensor.reddit.markdown
Normal file
59
source/_components/sensor.reddit.markdown
Normal file
@ -0,0 +1,59 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Reddit Sensor"
|
||||
description: "How to integrate the Reddit sensor into Home Assistant."
|
||||
date: 2018-02-21 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: reddit.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.89
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The Reddit sensor integrates data from [Reddit](https://reddit.com/) to monitor your favorite subreddits.
|
||||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
To set up this sensor, you will need to generate a `client_id` and `client_secret` for the user account you will use to connect. Follow the first steps in [this wiki](https://github.com/reddit-archive/reddit/wiki/OAuth2-Quick-Start-Example).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable this platform, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
- platform: reddit
|
||||
username: !secret reddit_username
|
||||
password: !secret reddit_password
|
||||
client_id: !secret reddit_client_id
|
||||
client_secret: !secret reddit_client_secret
|
||||
subreddits:
|
||||
- news
|
||||
- worldnews
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: Your Reddit account username.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Your Reddit account password.
|
||||
required: true
|
||||
type: string
|
||||
client_id:
|
||||
description: Your Reddit account client_id generated from the wiki above.
|
||||
required: true
|
||||
type: string
|
||||
client_secret:
|
||||
description: Your Reddit account client_secret generated from the wiki above.
|
||||
required: true
|
||||
type: string
|
||||
subreddits:
|
||||
description: List of subreddits you want to get data on.
|
||||
required: true
|
||||
type: list
|
||||
{% endconfiguration %}
|
@ -70,7 +70,12 @@ verify_ssl:
|
||||
description: Verify the SSL certificate of the endpoint.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
default: True
|
||||
timeout:
|
||||
description: Defines max time to wait data from the endpoint.
|
||||
required: false
|
||||
type: positive integer
|
||||
default: 10
|
||||
unit_of_measurement:
|
||||
description: Defines the units of measurement of the sensor, if any.
|
||||
required: false
|
||||
|
@ -36,6 +36,10 @@ house_number:
|
||||
description: Your house number.
|
||||
required: true
|
||||
type: string
|
||||
house_number_suffix:
|
||||
description: A suffix for your house number.
|
||||
required: false
|
||||
type: string
|
||||
name:
|
||||
description: Let you overwrite the name of the device in the frontend.
|
||||
required: false
|
||||
@ -68,6 +72,7 @@ sensor:
|
||||
- platform: rova
|
||||
zip_code: ZIP_CODE
|
||||
house_number: HOUSE_NUMBER
|
||||
house_number_suffix: HOUSE_NUMBER_SUFFIX
|
||||
name: Rova
|
||||
monitored_conditions:
|
||||
- bio
|
||||
@ -99,3 +104,7 @@ automation:
|
||||
message: 'Reminder: put out biowaste bin'
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
<p class='note warning'>
|
||||
This component is not affiliated with Rova and retrieves data from the endpoints of their website. Use at your own risk.
|
||||
</p>
|
||||
|
@ -38,6 +38,11 @@ attribute:
|
||||
description: Get value of an attribute on the selected tag.
|
||||
required: false
|
||||
type: string
|
||||
index:
|
||||
description: Defines which of the elements returned by the CSS selector to use.
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
name:
|
||||
description: Name of the sensor.
|
||||
required: false
|
||||
|
@ -32,11 +32,11 @@ sensor:
|
||||
|
||||
{% configuration %}
|
||||
origin:
|
||||
description: Enter the starting address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter the entity id of a sensor, device_tracker or zone, which provides this information in its state.
|
||||
description: Enter the starting address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter the entity id of a sensor, device_tracker, person, or zone, which provides this information in its state.
|
||||
required: true
|
||||
type: string
|
||||
destination:
|
||||
description: Enter the destination address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter the entity id of a sensor, device_tracker or zone, which provides this information in its state.
|
||||
description: Enter the destination address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter the entity id of a sensor, device_tracker, person, or zone, which provides this information in its state.
|
||||
required: true
|
||||
type: string
|
||||
region:
|
||||
|
@ -13,10 +13,12 @@ ha_category:
|
||||
- Hub
|
||||
- Binary Sensor
|
||||
- Climate
|
||||
- Cover
|
||||
- Fan
|
||||
- Light
|
||||
- Lock
|
||||
- Sensor
|
||||
- Scene
|
||||
- Switch
|
||||
ha_release: "0.87"
|
||||
ha_iot_class: "Cloud Push"
|
||||
@ -25,6 +27,8 @@ redirect_from:
|
||||
- /components/binary_sensor.smartthings/
|
||||
- /components/smartthings.climate/
|
||||
- /components/climate.smartthings/
|
||||
- /components/smartthings.cover/
|
||||
- /components/cover.smartthings/
|
||||
- /components/smartthings.fan/
|
||||
- /components/fan.smartthings/
|
||||
- /components/smartthings.light/
|
||||
@ -33,6 +37,8 @@ redirect_from:
|
||||
- /components/lock.smartthings/
|
||||
- /components/smartthings.sensor/
|
||||
- /components/sensor.smartthings/
|
||||
- /components/smartthings.scene/
|
||||
- /components/scene.smartthings/
|
||||
- /components/smartthings.switch/
|
||||
- /components/switch.smartthings/
|
||||
---
|
||||
@ -125,10 +131,12 @@ Event data payloads are logged at the debug level, see [debugging](#debugging) f
|
||||
SmartThings represents devices as a set of [capabilities](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html) and the SmartThings component maps those to entity platforms in Home Assistant. A single device may be represented by one or more platforms.
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
- [Climate](#climate)
|
||||
- [Cover](#cover)
|
||||
- [Fan](#fan)
|
||||
- [Light](#light)
|
||||
- [Lock](#lock)
|
||||
- [Sensor](#sensor)
|
||||
- [Sensor](#sensor)
|
||||
- [Scene](#scene)
|
||||
- [Switch](#switch)
|
||||
|
||||
Support for additional platforms will be added in the future.
|
||||
@ -163,6 +171,18 @@ The SmartThings Climate platform lets you control devices that have thermostat-r
|
||||
| [`thermostatFanMode`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Thermostat-Fan-Mode) | `fan mode`
|
||||
| [`relativeHumidityMeasurement`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Relative-Humidity-Measurement) | `humidity` (state attribute)
|
||||
|
||||
### {% linkable_title Cover %}
|
||||
|
||||
The SmartThings Cover platform lets you control devices that have open/close related capabilities. For a device to be represented by the cover platform, it must have one of the capabilities from "set a" below.
|
||||
|
||||
| Capability |Cover Features
|
||||
|-------------------------------------|--------------------------------------------|
|
||||
| [`doorControl`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Door-Control) (set a) | `open` and `close`
|
||||
| [`garageDoorControl`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Garage-Door-Control) (seb a) | `open` and `close`
|
||||
| [`windowShade`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Window-Shade) (set a) | `open` and `close`
|
||||
| [`switchLevel`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch-Level) | `position`
|
||||
| [`battery`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Battery) | `battery_level` (state attribute)
|
||||
|
||||
### {% linkable_title Fan %}
|
||||
|
||||
The SmartThings Fan platform lets you control devices that have fan-related capabilities. For a SmartThings device to be represented by the fan platform, it must have one or more of the capabilities below in addition to the [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) capability.
|
||||
@ -203,14 +223,12 @@ The SmartThings Sensor platform lets your view devices that have sensor-related
|
||||
| [`carbonMonoxideDetector`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Carbon-Monoxide-Detector) | `carbonMonoxide`
|
||||
| [`carbonMonoxideMeasurement`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Carbon-Monoxide-Measurement) | `carbonMonoxideLevel`
|
||||
| [`dishwasherOperatingState`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Dishwasher-Operating-State) | `machineState`, `dishwasherJobState` and `completionTime`
|
||||
| [`doorControl`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Door-Control) | `door`
|
||||
| [`dryerMode`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Dryer-Mode) | `dryerMode`
|
||||
| [`dryerOperatingState`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Dryer-Operating-State) | `machineState`, `dryerJobState` and `completionTime`
|
||||
| [`dustSensor`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Dust-Sensor) | `fineDustLevel` and `dustLevel`
|
||||
| [`energyMeter`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Energy-Meter) | `energy`
|
||||
| [`equivalentCarbonDioxideMeasurement`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Equivalent-Carbon-Dioxide-Measurement) | `equivalentCarbonDioxideMeasurement`
|
||||
| [`formaldehydeMeasurement`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Formaldehyde-Measurement) | `formaldehydeLevel`
|
||||
| [`garageDoorControl`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Garage-Door-Control) | `door`
|
||||
| [`illuminanceMeasurement`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Illuminance-Measurement) | `illuminance`
|
||||
| [`infraredLevel`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Infrared-Level) | `infraredLevel`
|
||||
| [`lock`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Lock) | `lock`
|
||||
@ -244,11 +262,20 @@ The SmartThings Sensor platform lets your view devices that have sensor-related
|
||||
| [`voltageMeasurement`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Voltage-Measurement) | `voltage`
|
||||
| [`washerMode`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Washer-Mode) | `washerMode`
|
||||
| [`washerOperatingState`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Washer-Operating-State) | `machineState`, `washerJobState` and `completionTime`
|
||||
| [`windowShade`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Window-Shade) | `windowShade`
|
||||
|
||||
### {% linkable_title Scene %}
|
||||
|
||||
The SmartThings Scene platform lets you activate scenes defined in SmartThings with a scene entity representing each SmartThings scenes within the location.
|
||||
|
||||
### {% linkable_title Switch %}
|
||||
|
||||
The SmartThings Switch platform lets you control devices that have the [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) capability that are not already represented by a more specific platform.
|
||||
The SmartThings Switch platform lets you control devices that have the [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) capability that are not already represented by a more specific platform. The following optional capabilities will provide energy and power utilization information:
|
||||
|
||||
| Capability |Switch Features
|
||||
|-------------------------------------|--------------------------------------------|
|
||||
| [`energyMeter`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Energy-Meter) | energy consumption (`today_energy_kwh` state attribute)
|
||||
| [`powerMeter`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Power-Meter) | power consumption (`current_power_w` state attribute)
|
||||
|
||||
|
||||
## {% linkable_title Troubleshooting %}
|
||||
|
||||
|
@ -23,82 +23,151 @@ If you don't have the discovery component enabled, you can configure the Sonos c
|
||||
|
||||
Sonos makes various services available to allow configuring groups. They are currently registered under the media player component.
|
||||
|
||||
### {% linkable_title Service `sonos_snapshot` %}
|
||||
### {% linkable_title Service `media_player.sonos_snapshot` %}
|
||||
|
||||
Take a snapshot of what is currently playing on one or more speakers. This service, and the following one, are useful if you want to play a doorbell or notification sound and resume playback afterwards. If no `entity_id` is provided, all speakers are snapshotted.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`s of coordinator speakers.
|
||||
| `with_group` | yes | Should be also snapshot the group state of the speaker.
|
||||
<p class='note'>
|
||||
The queue is not snapshotted and must be left untouched until the restore. Using `media_player.play_media` is safe and can be used to play a notification sound, including [TTS](/components/tts/) announcements.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Service `sonos_restore` %}
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
description: The speakers to snapshot.
|
||||
required: false
|
||||
type: entity_id
|
||||
with_group:
|
||||
description: Should we also snapshot the group layout and the state of other speakers in the group.
|
||||
required: false
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_restore` %}
|
||||
|
||||
Restore a previously taken snapshot of one or more speakers. If no `entity_id` is provided, all speakers are restored.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`s of coordinator speakers.
|
||||
| `with_group` | yes | Should be also restore the group state of the speaker. Only if was snapshot with group.
|
||||
<p class='note'>
|
||||
The playing queue is not snapshotted. Using `media_player.sonos_restore` on a speaker that has replaced its queue will restore the playing position, but in the new queue!
|
||||
</p>
|
||||
|
||||
### {% linkable_title Service `sonos_join` %}
|
||||
<p class='note'>
|
||||
A cloud queue cannot be restarted. This includes queues started from within Spotify and queues controlled by Amazon Alexa.
|
||||
</p>
|
||||
|
||||
Do group players together under a single coordinator. That will make a new group or join to exists group.
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
description: The speakers that should have their snapshot restored.
|
||||
required: false
|
||||
type: entity_id
|
||||
with_group:
|
||||
description: Should we also restore the group layout and the state of other speakers in the group.
|
||||
required: false
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `master` | no | A single `entity_id` that will become/hold the coordinator speaker.
|
||||
| `entity_id` | no | String or list of a single `entity_id` that will group to master speaker.
|
||||
### {% linkable_title Service `media_player.sonos_join` %}
|
||||
|
||||
### {% linkable_title Service `sonos_unjoin` %}
|
||||
Group players together under a single coordinator. This will make a new group or join to an existing group.
|
||||
|
||||
Remove one or more speakers from a group of speakers. If no `entity_id` is provided, all speakers are unjoined.
|
||||
{% configuration %}
|
||||
master:
|
||||
description: A single `entity_id` that will become/stay the coordinator speaker.
|
||||
required: true
|
||||
type: entity_id
|
||||
entity_id:
|
||||
description: The speakers to join to the master.
|
||||
required: false
|
||||
type: entity_id
|
||||
{% endconfiguration %}
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of `entity_id`s that will be separated from their coordinator speaker.
|
||||
### {% linkable_title Service `media_player.sonos_unjoin` %}
|
||||
|
||||
### {% linkable_title Service `sonos_set_sleep_timer` %}
|
||||
Remove one or more speakers from their group of speakers. If no `entity_id` is provided, all speakers are unjoined.
|
||||
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
description: The speakers to separate from their coordinator speaker.
|
||||
required: false
|
||||
type: entity_id
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_set_sleep_timer` %}
|
||||
|
||||
Sets a timer that will turn off a speaker by tapering the volume down to 0 after a certain amount of time. Protip: If you set the sleep_time value to 0, then the speaker will immediately start tapering the volume down.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of `entity_id`s that will have their timers set. Must be a coordinator speaker.
|
||||
| `sleep_time` | no | Integer number of seconds that the speaker should wait until it starts tapering. Cannot exceed 86399 (one day).
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
description: The speakers that will have their timers set.
|
||||
required: true
|
||||
type: entity_id
|
||||
sleep_time:
|
||||
description: Number of seconds that the speaker should wait until it starts tapering. Cannot exceed 86399 (one day).
|
||||
required: true
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Service `sonos_clear_sleep_timer` %}
|
||||
### {% linkable_title Service `media_player.sonos_clear_sleep_timer` %}
|
||||
|
||||
Clear the sleep timer on a speaker, if one is set.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of `entity_id`s that will have their timers cleared. Must be a coordinator speaker.
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
description: The speakers that will have their timers cleared.
|
||||
required: true
|
||||
type: entity_id
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Service `sonos_update_alarm` %}
|
||||
### {% linkable_title Service `media_player.sonos_update_alarm` %}
|
||||
|
||||
Update an existing Sonos alarm.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of `entity_id`s that will have their timers cleared. Must be a coordinator speaker.
|
||||
| `alarm_id` | no | Integer that is used in Sonos to refer to your alarm.
|
||||
| `time` | yes | Time to set the alarm.
|
||||
| `volume` | yes | Float for volume level.
|
||||
| `enabled` | yes | Boolean for whether or not to enable this alarm.
|
||||
| `include_linked_zones` | yes | Boolean that defines if the alarm also plays on grouped players.
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
description: The speaker that will have its alarm updated.
|
||||
required: true
|
||||
type: entity_id
|
||||
alarm_id:
|
||||
description: Integer that is used in Sonos to refer to your alarm.
|
||||
required: true
|
||||
type: integer
|
||||
time:
|
||||
description: Time to set the alarm.
|
||||
required: no
|
||||
type: time
|
||||
volume:
|
||||
description: Float for volume level (0.0-1.0).
|
||||
required: no
|
||||
type: float
|
||||
enabled:
|
||||
description: Boolean for whether or not to enable this alarm.
|
||||
required: no
|
||||
type: boolean
|
||||
include_linked_zones:
|
||||
description: Boolean that defines if the alarm also plays on grouped players.
|
||||
required: no
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Service `sonos_set_option` %}
|
||||
### {% linkable_title Service `media_player.sonos_set_option` %}
|
||||
|
||||
Set Sonos speaker options.
|
||||
|
||||
Night Sound and Speech Enhancement modes are only supported on Sonos PLAYBAR and PLAYBASE speakers when playing from the TV source. Other speaker types will ignore these options.
|
||||
Night Sound and Speech Enhancement modes are only supported when playing from the TV source of products like Sonos Playbar and Sonos Beam. Other speaker types will ignore these options.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of `entity_id`s that will have their options set.
|
||||
| `night_sound` | yes | Boolean to control Night Sound mode.
|
||||
| `speech_enhance` | yes | Boolean to control Speech Enhancement mode.
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
description: The speakers that will have their options set.
|
||||
required: true
|
||||
type: entity_id
|
||||
night_sound:
|
||||
description: Boolean to control Night Sound mode.
|
||||
required: no
|
||||
type: boolean
|
||||
speech_enhance:
|
||||
description: Boolean to control Speech Enhancement mode.
|
||||
required: no
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Advanced use %}
|
||||
|
||||
@ -133,9 +202,3 @@ sonos:
|
||||
- 192.0.2.26
|
||||
- 192.0.2.27
|
||||
```
|
||||
|
||||
## {% linkable_title Additional information %}
|
||||
|
||||
This component is using the [SoCo](https://github.com/SoCo/SoCo) project.
|
||||
|
||||
To be able to support the Sonos components and features it is mandatory to have TCP port 1400 opened. This port is used to receive events about changes on the Sonos network. For more details please see the [SoCo documentation](https://github.com/SoCo/SoCo) and source code of the SoCo project.
|
||||
|
22
source/_components/switch.danfoss_air.markdown
Normal file
22
source/_components/switch.danfoss_air.markdown
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Danfoss Air Switch"
|
||||
description: "Instructions for how to setup Danfoss Air switches within Home Assistant."
|
||||
date: 2019-02-13 13:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: danfoss_air.png
|
||||
ha_category: Switch
|
||||
ha_release: 0.89
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
To get your Danfoss Air sensors working with Home Assistant, follow the instructions for the general [Danfoss Air component](/components/danfoss_air/).
|
||||
</p>
|
||||
|
||||
|
||||
The following switches.
|
||||
* **Boost:** Switch to manually activate boost.
|
39
source/_components/switch.sony_projector.markdown
Normal file
39
source/_components/switch.sony_projector.markdown
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Sony Projector Switch"
|
||||
description: "Instructions on how to integrate Sony Projector switches into Home Assistant."
|
||||
date: 2019-01-01 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: sony.png
|
||||
ha_category: Multimedia
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.89
|
||||
---
|
||||
|
||||
The `sony_projector` switch platform allows you to control the state of SDCP compatible network-connected projectors from [Sony](http://www.sony.com).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your Sony Projector in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
switch:
|
||||
- platform: sony_projector
|
||||
host: "192.168.1.47"
|
||||
name: "Projector"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The hostname or IP address of the projector.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: The name to use when displaying this switch.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
@ -8,10 +8,10 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category:
|
||||
- Hub
|
||||
- Climate
|
||||
- Binary Sensor
|
||||
- Energy
|
||||
- Sensor
|
||||
- Switch
|
||||
ha_release: 0.56
|
||||
logo: toon.png
|
||||
ha_iot_class: "Cloud Polling"
|
||||
@ -21,52 +21,52 @@ redirect_from:
|
||||
- /components/switch.toon/
|
||||
---
|
||||
|
||||
The `toon` component platform can be used to control your Toon thermostat. This component adds a climate device for your Toon thermostat and sensors for power and gas consumption. The component also auto-detects any smart plugs, solar panels and smoke detectors connected to Toon and adds sensors and switches for them.
|
||||
The `toon` component platform can be used to control your Toon thermostat. This component adds a climate device for your Toon thermostat, sensors for power and gas consumption, sensors for solar production and several binary sensors for things like boiler burner on/off, hot tap water and boiler health status.
|
||||
|
||||
For the `toon` component to work, you'll need an active Toon subscription with Eneco and a Toon API developer account.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Binary Sensor
|
||||
- [Climate](#climate)
|
||||
- Sensor
|
||||
- Switch
|
||||
|
||||
For the `toon` component to work, you'll need an active Toon subscription with Eneco. The component uses your Mijn Eneco credentials to control your thermostat through the [toonopafstand](https://toonopafstand.eneco.nl) domain.
|
||||
## {% linkable_title Setting up a developer account %}
|
||||
|
||||
In order to be able to use this component, you'll need to sign up for a free Toon API developer account.
|
||||
|
||||
1. Visit the [Toon API developers website](https://developer.toon.eu/), and [sign in](https://developer.toon.eu/user/login). [Create an account](https://developer.toon.eu/user/register) if you don’t have one already.
|
||||
2. Open the "[My Apps](https://developer.toon.eu/user/me/apps)" page and click on "Add a new App" button on the top right.
|
||||
3. The "Add App" page shows a form with two fields:
|
||||
- **App Name**: Can be anything you like, for example, "Home Assistant" will just do.
|
||||
- **Callback URL**: Fill in `localhost` in this field.
|
||||
4. Click on "Create App" to complete the creation process.
|
||||
5. Open the "[My Apps](https://developer.toon.eu/user/me/apps)" page again and click on the app that you've just created.
|
||||
6. You need the codes now shown: "Consumer Key" and "Consumer Secret".
|
||||
7. Add the Toon component to your `configuration.yaml` and restart Home Assistant. Then, go to `Configuration > Integrations` and select `CONFIGURE` next to Toon and follow the setup instructions.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your Toon thermostat in your installation, add the following to your `configuration.yaml` file:
|
||||
To use your Toon in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
toon:
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
client_id: YOUR_CONSUMER_KEY
|
||||
client_secret: YOUR_CONSUMER_SECRET
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: Username for Mijn Eneco.
|
||||
client_id:
|
||||
description: Toon API Consumer Key.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Password for Mijn Eneco.
|
||||
client_secret:
|
||||
description: Toon API Consumer Secret.
|
||||
required: true
|
||||
type: string
|
||||
gas:
|
||||
description: With this option you can choose whether you want to measure gas consumption.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
solar:
|
||||
description: With this option you can choose whether you want to measure electricity production.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
Toon is a smart thermostat delivered by the Eneco power company in The Netherlands. It can measure energy consumption (power and gas), but also the amount of energy generated in case solar panels are connected to it. Toon also acts as a z-wave hub for supported devices like the wall plug and the smoke detector. This component uses the [toonlib library](https://github.com/costastf/toonlib) by Costas Tyfoxylos that connects to the unofficial API on [https://toonopafstand.eneco.nl](https://toonopafstand.eneco.nl).
|
||||
|
||||
The current version of this component supports setting any of the four built-in programs and setting the temperature manually. It polls the Toon API at 30 second intervals so the status is relatively fresh without overloading the API.
|
||||
|
||||
## {% linkable_title Climate %}
|
||||
|
||||
The `toon` climate platform allows you to interact with your Toon thermostat. For compatibility reasons, the states in Home Assistant are different from the states displayed on your Toon device and are mapped as follows:
|
||||
@ -77,3 +77,7 @@ The `toon` climate platform allows you to interact with your Toon thermostat. Fo
|
||||
| Heat | Thuis |
|
||||
| Eco | Weg |
|
||||
| Cool | Slapen |
|
||||
|
||||
It also supports setting the temperature manually.
|
||||
|
||||
The Toon API is polled at a 30-second interval, so the status is relatively fresh without overloading the API.
|
||||
|
133
source/_components/tplink.markdown
Normal file
133
source/_components/tplink.markdown
Normal file
@ -0,0 +1,133 @@
|
||||
---
|
||||
layout: page
|
||||
title: "TP-Link Smart Home Devices"
|
||||
description: "Instructions on integrating TP-Link Smart Home Devices to Home Assistant."
|
||||
date: 2018-09-12 13:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: tp-link.png
|
||||
ha_category: Hub
|
||||
featured: false
|
||||
ha_release: 0.89
|
||||
ha_iot_class: "Local Polling"
|
||||
redirect_from:
|
||||
- /components/switch.tplink/
|
||||
- /components/light.tplink/
|
||||
---
|
||||
|
||||
The `tplink` component allows you to control your [TP-Link Smart Home Devices](https://www.tp-link.com/kasa-smart/) such as smart plugs and smart bulbs.
|
||||
|
||||
In order to activate the support, you will have to enable the integration inside the config panel.
|
||||
The supported devices in your network are automatically discovered, but if you want to control devices residing in other networks you will need to configure them manually as shown below.
|
||||
|
||||
## {% linkable_title Supported Devices %}
|
||||
|
||||
This component supports devices that are controllable with the [KASA app](https://www.tp-link.com/us/kasa-smart/kasa.html).
|
||||
The following devices are known to work with this component.
|
||||
|
||||
### {% linkable_title Plugs %}
|
||||
|
||||
- HS100
|
||||
- HS103
|
||||
- HS105
|
||||
- HS110
|
||||
|
||||
### {% linkable_title Wall Switches %}
|
||||
|
||||
- HS200
|
||||
- HS210
|
||||
- HS220 (acts as a light)
|
||||
|
||||
### {% linkable_title Bulbs %}
|
||||
|
||||
- LB100
|
||||
- LB110
|
||||
- LB120
|
||||
- LB130
|
||||
- LB230
|
||||
- KL110
|
||||
- KL120
|
||||
- KL130
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml
|
||||
tplink:
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
discovery:
|
||||
description: Whether to do automatic discovery of devices.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
light:
|
||||
description: List of light devices.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
host:
|
||||
description: Hostname or IP address of the device.
|
||||
required: true
|
||||
type: string
|
||||
switch:
|
||||
description: List of switch devices.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
host:
|
||||
description: Hostname or IP address of the device.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Manual configuration example %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry with manually specified addresses
|
||||
tplink:
|
||||
discovery: false
|
||||
light:
|
||||
- host: 192.168.200.1
|
||||
- host: 192.168.200.2
|
||||
switch:
|
||||
- host: 192.168.200.3
|
||||
- host: 192.168.200.4
|
||||
```
|
||||
|
||||
## {% linkable_title Extracting Energy Sensor data %}
|
||||
|
||||
In order to get the power consumption readings from supported devices, you'll have to create a [template sensor](/components/switch.template/).
|
||||
In the example below, change all of the `my_tp_switch`'s to match your device's entity ID.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
my_tp_switch_amps:
|
||||
friendly_name_template: "{{ states.switch.my_tp_switch.name}} Current"
|
||||
value_template: '{{ states.switch.my_tp_switch.attributes["current_a"] | float }}'
|
||||
unit_of_measurement: 'A'
|
||||
my_tp_switch_watts:
|
||||
friendly_name_template: "{{ states.switch.my_tp_switch.name}} Current Consumption"
|
||||
value_template: '{{ states.switch.my_tp_switch.attributes["current_power_w"] | float }}'
|
||||
unit_of_measurement: 'W'
|
||||
my_tp_switch_total_kwh:
|
||||
friendly_name_template: "{{ states.switch.my_tp_switch.name}} Total Consumption"
|
||||
value_template: '{{ states.switch.my_tp_switch.attributes["total_energy_kwh"] | float }}'
|
||||
unit_of_measurement: 'kWh'
|
||||
my_tp_switch_volts:
|
||||
friendly_name_template: "{{ states.switch.my_tp_switch.name}} Voltage"
|
||||
value_template: '{{ states.switch.my_tp_switch.attributes["voltage"] | float }}'
|
||||
unit_of_measurement: 'V'
|
||||
my_tp_switch_today_kwh:
|
||||
friendly_name_template: "{{ states.switch.my_tp_switch.name}} Today's Consumption"
|
||||
value_template: '{{ states.switch.my_tp_switch.attributes["today_energy_kwh"] | float }}'
|
||||
unit_of_measurement: 'kWh'
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -50,6 +50,11 @@ offset:
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
net_consumption:
|
||||
description: Set this to True if you would like to treat the source as a net meter. This will allow your counter to go both positive and negative.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
tariffs:
|
||||
description: List of tariffs supported by the utility meter.
|
||||
required: false
|
||||
|
@ -25,6 +25,7 @@ Currently supported services are:
|
||||
- `clean_spot`
|
||||
- `set_fan_speed`
|
||||
- remote control of your robot.
|
||||
- `xiaomi_clean_zone`
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -64,6 +65,7 @@ In addition to all of the services provided by the `vacuum` component (`start`,
|
||||
- `xiaomi_remote_control_stop`
|
||||
- `xiaomi_remote_control_move`
|
||||
- `xiaomi_remote_control_move_step`
|
||||
- `xiaomi_clean_zone`
|
||||
|
||||
### {% linkable_title Service `vacuum.xiaomi_remote_control_start` %}
|
||||
|
||||
@ -103,6 +105,73 @@ Enter remote control mode, make one move, stop, and exit remote control mode.
|
||||
| `rotation` | no | Rotation: between -179 degrees and 179 degrees |
|
||||
| `duration` | no | The number of milliseconds that the robot should move for |
|
||||
|
||||
### {% linkable_title Service `vacuum.xiaomi_clean_zone` %}
|
||||
|
||||
Start the cleaning operation in the areas selected for the number of repeats indicated.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|-------------------------------------------------------|
|
||||
| `entity_id` | yes | Only act on specific robot; default targets all |
|
||||
| `zone` | no | List of zones. Each zone is an array of 4 integer value. Example: [[23510,25311,25110,26361]] |
|
||||
| `repeats` | no | Number of cleaning repeats for each zone between 1 and 3. |
|
||||
|
||||
Example of `vacuum.xiaomi_clean_zone` use:
|
||||
|
||||
Inline array:
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Test vacuum zone3
|
||||
trigger:
|
||||
- event: start
|
||||
platform: homeassistant
|
||||
condition: []
|
||||
action:
|
||||
- service: vacuum.xiaomi_clean_zone
|
||||
data_template:
|
||||
entity_id: vacuum.xiaomi_vacuum
|
||||
repeats_template: '{{states.input_number.vacuum_passes.state|int}}'
|
||||
zone: [[30914,26007,35514,28807], [20232,22496,26032,26496]]
|
||||
```
|
||||
Array with inline zone:
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Test vacuum zone3
|
||||
trigger:
|
||||
- event: start
|
||||
platform: homeassistant
|
||||
condition: []
|
||||
action:
|
||||
- service: vacuum.xiaomi_clean_zone
|
||||
data_template:
|
||||
entity_id: vacuum.xiaomi_vacuum
|
||||
repeats_template: '{{states.input_number.vacuum_passes.state|int}}'
|
||||
zone:
|
||||
- [30914,26007,35514,28807]
|
||||
- [20232,22496,26032,26496]
|
||||
```
|
||||
Array mode:
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Test vacuum zone3
|
||||
trigger:
|
||||
- event: start
|
||||
platform: homeassistant
|
||||
condition: []
|
||||
action:
|
||||
- service: vacuum.xiaomi_clean_zone
|
||||
data:
|
||||
entity_id: vacuum.xiaomi_vacuum
|
||||
repeats: 1
|
||||
zone:
|
||||
- - 30914
|
||||
- 26007
|
||||
- 35514
|
||||
- 28807
|
||||
- - 20232
|
||||
- 22496
|
||||
- 26032
|
||||
- 26496
|
||||
```
|
||||
## {% linkable_title Attributes %}
|
||||
|
||||
In addition to [all of the attributes provided by the `vacuum` component](/components/vacuum/#attributes),
|
||||
@ -293,22 +362,19 @@ Software Required:
|
||||
- [Mi-Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/)
|
||||
- [Android Backup Extractor](https://sourceforge.net/projects/adbextractor/)
|
||||
- [SQLite Browser](https://sqlitebrowser.org/)
|
||||
|
||||
Steps to take:
|
||||
|
||||
1. Install an old Version of MiHome (e.g. Mi-Home version 5.0.30) on your Android-Device.
|
||||
2. Open MiHome, log-in and add your devices.
|
||||
3. Enable USB-Debugging on your Android.
|
||||
4. Create a backup from your MiHome App, by using adb:
|
||||
```bash
|
||||
adb backup com.xiaomi.smarthome
|
||||
```
|
||||
Now the backup App opens on you Android-Device. You don't need to set a password, just click save.
|
||||
5. Extract the backup-file with android-backup-extractor:
|
||||
```bash
|
||||
java -jar abe.jar unpack backup.ab backup.tar
|
||||
```
|
||||
After that, extract the file with WinRAR, 7-Zip (or similar).
|
||||
6. Go to `\apps\com.xiaomi.smarthome\db`.
|
||||
7. Open `miio2.db` with the SQLite Browser.
|
||||
8. You can find your device tokens in `devicerecord` table.
|
||||
1. Install an old Version of MiHome (e.g. Mi-Home version 5.0.30) on your Android-Device
|
||||
2. Open MiHome, log-in and add your devices
|
||||
3. Enable USB-Debugging on your Android
|
||||
4. Create a backup from your MiHome App, by using adb
|
||||
```bash
|
||||
adb backup com.xiaomi.smarthome
|
||||
```
|
||||
Now the backup App opens on you Android-Device. You don't need to set a password, just click save.
|
||||
5. Extract the backup-file with android-backup-extractor
|
||||
```bash
|
||||
java -jar abe.jar unpack backup.ab backup.tar
|
||||
```
|
||||
After that, you kann open the file with WinRaR or what ever you like.
|
||||
6. Go to \apps\com.xiaomi.smarthome\db
|
||||
7. Open miio2.db with SQLite Browser
|
||||
8. You can find your device tokens in "devicerecord" table
|
||||
|
@ -20,6 +20,8 @@ redirect_from:
|
||||
|
||||
[Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200.
|
||||
|
||||
At least firmware version > 2.0.0.0 is required on the KLF 200 device. The firmware images may be obtained [here](https://www.velux.com/api/klf200) and may be imported via the webinterface of your KLF 200.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Cover
|
||||
|
@ -39,7 +39,7 @@ name:
|
||||
type: string
|
||||
default: OpenWeatherMap
|
||||
mode:
|
||||
description: "Can specify `hourly` or `daily`. Select `hourly` for a three-hour forecast or `daily` for daily forecast."
|
||||
description: "Can specify `hourly`, `daily` of `freedaily`. Select `hourly` for a three-hour forecast, `daily` for daily forecast or `freedaily` for a five days forecast with the free tier."
|
||||
required: false
|
||||
type: string
|
||||
default: "`hourly`"
|
||||
|
@ -35,6 +35,10 @@ There is currently support for the following device types within Home Assistant:
|
||||
- Switch
|
||||
- Fan
|
||||
|
||||
ZHA exception and deviation handling:
|
||||
|
||||
Zigbee devices that deviate from or do not fully conform to the standard specification set by the [Zigbee Alliance](https://www.zigbee.org) may require the development of custom [ZHA Device Handlers](https://github.com/dmulcahey/zha-device-handlers) (ZHA quirks handler implementation) to for all their functions to work properly with the ZHA component in Home Assistant.
|
||||
|
||||
Known working Zigbee radio modules:
|
||||
|
||||
- EmberZNet based radios using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy)
|
||||
|
@ -63,7 +63,7 @@ The Trusted Networks auth provider defines a range of IP addresses for which no
|
||||
When you log in from one of these networks, you will be asked which user account to use and won't need to enter a password.
|
||||
|
||||
<p class='note info'>
|
||||
The [multi-factor authentication module](/docs/authentication/multi-factor-auth/) will not participate in the login process if you using this auth provider.
|
||||
The [multi-factor authentication module](/docs/authentication/multi-factor-auth/) will not participate in the login process if you are using this auth provider.
|
||||
</p>
|
||||
|
||||
Here is an example in `configuration.yaml` to set up Trusted Networks:
|
||||
@ -71,18 +71,16 @@ Here is an example in `configuration.yaml` to set up Trusted Networks:
|
||||
```yaml
|
||||
homeassistant:
|
||||
auth_providers:
|
||||
- type: trusted_networks
|
||||
|
||||
# Temporary, this will be moved to be part of auth provider config
|
||||
# https://github.com/home-assistant/home-assistant/issues/16149
|
||||
http:
|
||||
trusted_networks:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
- 192.168.0.0/24
|
||||
- fd00::/8
|
||||
- type: trusted_networks
|
||||
trusted_networks:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
- 192.168.0.0/24
|
||||
- fd00::/8
|
||||
```
|
||||
|
||||
If you don't specify any `auth_providers` section in the `configuration.yaml` file then this provider will be set up automatically if `trusted_networks` was configured under `http` section.
|
||||
|
||||
### {% linkable_title Command Line %}
|
||||
|
||||
The Command Line auth provider executes a configurable shell command to perform user authentication. Two environment variables, `username` and `password`, are passed to the command. Access is granted when the command exits successfully (with exit code 0).
|
||||
@ -141,6 +139,8 @@ http:
|
||||
|
||||
Activating this auth provider will also allow you to provide the API password using an authentication header to make requests against the Home Assistant API. This feature will be dropped in the future in favor of long-lived access tokens.
|
||||
|
||||
If you don't specify any `auth_providers` section in the `configuration.yaml` file then this provider will be set up automatically if `api_password` was configured under `http` section.
|
||||
|
||||
<p class='note warning'>
|
||||
[Issue 16441](https://github.com/home-assistant/home-assistant/issues/16441): the legacy API password auth provider, won't be automatically configured if your API password is located in a package. This is because Home Assistant processes the `auth_provider` during the `core` section loading, which is earlier than the `packages` processing.
|
||||
</p>
|
||||
|
@ -134,3 +134,11 @@ When working on Home Assistant, you can easily restart the system and then watch
|
||||
$ sudo systemctl restart home-assistant@YOUR_USER && sudo journalctl -f -u home-assistant@YOUR_USER
|
||||
```
|
||||
|
||||
### {% linkable_title Automatically restarting Home Assistant on failure %}
|
||||
|
||||
If you want to restart the Home Assistant service automatically after a crash, add the following lines to the `[Service]` section of your unit file:
|
||||
|
||||
```
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
```
|
||||
|
@ -37,8 +37,6 @@ sensor:
|
||||
|
||||
switch:
|
||||
- platform: vera
|
||||
- platform: tplink
|
||||
host: IP_ADDRESS
|
||||
```
|
||||
|
||||
## {% linkable_title Style 2: List each device separately %}
|
||||
@ -65,8 +63,7 @@ switch 1:
|
||||
platform: vera
|
||||
|
||||
switch 2:
|
||||
platform: tplink
|
||||
host: IP_ADDRESS
|
||||
platform: vera
|
||||
```
|
||||
|
||||
## {% linkable_title Grouping devices %}
|
||||
|
@ -17,9 +17,7 @@
|
||||
{%- assign imp_url = imp_name | prepend: '/components/' | append: '/' -%}
|
||||
{%- assign parent_name = file_parts[0] -%}
|
||||
{%- assign parent_url = parent_name | prepend: '/components/' | append: '/' -%}
|
||||
{%- assign embedded_url = imp_name | prepend: '/components/' | append: '/' -%}
|
||||
{%- assign embedded_component = components | where: 'url', embedded_url | first -%}
|
||||
{%- assign parent_component = components | where: 'url', parent_url | first -%}
|
||||
{%- assign parent_component = components | where: 'url', imp_url | first -%}
|
||||
{%- else -%}
|
||||
{%- assign is_platform = false -%}
|
||||
{%- assign imp_name = file_parts | first -%}
|
||||
|
@ -397,6 +397,38 @@ style:
|
||||
default: "position: absolute, transform: translate(-50%, -50%)"
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Conditional Element %}
|
||||
|
||||
Much like the Conditional card, this element will let you show its sub-elements based on entity states.
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: conditional
|
||||
type: string
|
||||
conditions:
|
||||
required: true
|
||||
description: List of entity IDs and matching states.
|
||||
type: list
|
||||
keys:
|
||||
entity:
|
||||
required: true
|
||||
description: HA entity ID.
|
||||
type: string
|
||||
state:
|
||||
required: false
|
||||
description: Entity state is equal to this value.*
|
||||
type: string
|
||||
state_not:
|
||||
required: false
|
||||
description: Entity state is unequal to this value.*
|
||||
type: string
|
||||
elements:
|
||||
required: true
|
||||
description: One or more elements of any type to show when conditions are met. See below for an example.
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Custom Elements %}
|
||||
|
||||
{% configuration %}
|
||||
@ -554,3 +586,26 @@ elements:
|
||||
left: 75%
|
||||
width: 5%
|
||||
```
|
||||
|
||||
## {% linkable_title Conditional Example %}
|
||||
|
||||
```yaml
|
||||
type: picture-elements
|
||||
image: /local/House.png
|
||||
elements:
|
||||
# conditionally show TV off button shortcut when dad's away and daughter is home
|
||||
- type: conditional
|
||||
conditions:
|
||||
- entity: sensor.presence_daughter
|
||||
state: 'home'
|
||||
- entity: sensor.presence_dad
|
||||
state: 'not_home'
|
||||
elements:
|
||||
- type: state-icon
|
||||
entity: switch.tv
|
||||
tap_action:
|
||||
action: toggle
|
||||
style:
|
||||
top: 47%
|
||||
left: 42%
|
||||
```
|
||||
|
675
source/_posts/2019-03-13-release-89.markdown
Normal file
675
source/_posts/2019-03-13-release-89.markdown
Normal file
@ -0,0 +1,675 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.89: Nissan Leaf, PlayStation 4, Point alarm control, Owlet baby monitor"
|
||||
description: "Vroom vroom vrooooooooooom."
|
||||
date: 2019-03-06 00:11:03
|
||||
date_formatted: "March 6, 2019"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2019-03-release-89/components.png
|
||||
---
|
||||
|
||||
<a href='/components/#version/0.89'><img src='/images/blog/2019-03-release-89/components.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
It's time for release 0.89. It's another great new release with some cool new features, bug fixes and improvements. The first cool new feature is that yet another car is integrated into Home Assistant: the Nissan Leaf. Both deConz and SmartThings integrations keep expanding to cover more devices.
|
||||
|
||||
This release introduces a new mobile app component. [@robbiet480], who also works on the iOS app, has taken the best parts of the Home Assistant iOS app component and turned it into a standardized API that any mobile app can build upon. This will allow any mobile apps to integrate with Home Assistant with a great user experience. If you are a mobile app developer, please check the updated [app integration docs](https://developers.home-assistant.io/docs/en/app_integration_index.html). We will be fine tuning the API in upcoming releases. Feedback is welcome.
|
||||
|
||||
## {% linkable_title Noteworthy Breaking Changes %}
|
||||
|
||||
__Custom Components file structure change:__ A significant change in how the "under the hood" of Home Assistant works has led to forcing platforms to be resolved based off the component path, if it exists.
|
||||
|
||||
Today, if you want, you can override the Hue light platform, but not the other parts of the Hue integration. If a future update evolves the Hue component, removing or changing internal methods that the custom platform relied upon, the custom platform will start failing ([like this report](https://github.com/home-assistant/home-assistant/issues/17943#issuecomment-462014778)).
|
||||
|
||||
To avoid this, we're going to __no longer allow custom components to be partial overlays__ (just a platform). Instead, if you want to override a built-in platform, __you will need to override the whole component__.
|
||||
|
||||
This is enforced by first resolving the platform as a component, and if it exists, limiting the lookup path to the component path.
|
||||
|
||||
Example: if I look up the hue component, and it is provided by a custom component, then all platform lookups will also be looked up in the custom component dir. The same works the other way around, if a user would only try to override `hue/light.py` but not` hue/__init__.py`, the custom platform will be ignored.
|
||||
|
||||
Paulus has written some detailed information about this change on the developers' blog, if you'd like more information. [The Great Migration by Paulus](https://developers.home-assistant.io/blog/2019/02/19/the-great-migration.html)
|
||||
|
||||
__Existing SmartThings configuration entries will be removed,__ including the SmartApp/Automation from the SmartThings app. Home Assistant will prompt you to configure the integration again or it can be invoked from the integrations page. The configuration process is the same as before. To prepare, have your _personal access token and a mobile device with the SmartThings Classic App handy._ This will not affect the naming of devices or entities and is a __one-time inconvenience.__ The implementation switches over to the SmartApp access token to synchronize subscriptions during setup of the config entry, which cannot be done using the personal access token.
|
||||
|
||||
## {% linkable_title New Platforms %}
|
||||
|
||||
- Météo-France platform for the weather component ([@victorcerutti] - [#18404]) ([sensor.meteo_france docs]) ([weather.meteo_france docs]) (new-platform)
|
||||
- Point alarm control ([@fredrike] - [#20972]) ([point docs]) (new-platform)
|
||||
- Nissan Leaf Integration (Carwings / NissanConnect EV) ([@filcole] - [#19786]) ([device_tracker docs]) ([nissan_leaf docs]) ([binary_sensor.nissan_leaf docs]) ([sensor.nissan_leaf docs]) ([switch.nissan_leaf docs]) (new-platform)
|
||||
- Rewrite of Toon component ([@frenck] - [#21186]) ([toon docs]) (breaking change) (new-platform)
|
||||
- Times of The Day Binary Sensor ([@kstaniek] - [#20068]) ([binary_sensor.tod docs]) (new-platform)
|
||||
- Add switch platform for Danfoss Air and additional sensors. ([@JonasPed] - [#21046]) ([danfoss_air docs]) (new-platform)
|
||||
- Owlet baby monitor component ([@oblogic7] - [#21108]) ([owlet docs]) (new-platform)
|
||||
- deCONZ thermostat support ([@Kane610] - [#20586]) ([deconz docs]) (new-platform)
|
||||
- Added device tracker support for Ubee Router ([@mzdrale] - [#19586]) ([device_tracker docs]) (new-platform)
|
||||
- Add LCN cover platform ([@alengwenus] - [#20288]) ([lcn docs]) ([cover.lcn docs]) (new-platform)
|
||||
- Add initial support for Sony SDCP projector control ([@alistairg] - [#20269]) ([switch.sony_projector docs]) (new-platform)
|
||||
- Add SmartThings Cover platform and add cover device classes ([@andrewsayre] - [#21192]) ([cover docs]) ([smartthings docs]) (breaking change) (new-platform)
|
||||
- Add SmartThings Scene platform ([@andrewsayre] - [#21405]) ([smartthings docs]) (new-platform)
|
||||
- Reddit Sensor ([@ljmerza] - [#21344]) ([sensor.reddit docs]) (new-platform)
|
||||
- mobile_app component ([@robbiet480] - [#21475]) ([mobile_app docs]) (beta fix) (new-platform)
|
||||
- Add component media player.ps4 ([@ktnrg45] - [#21074]) ([ps4 docs])
|
||||
|
||||
## {% linkable_title 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). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
||||
## {% linkable_title 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-->
|
||||
|
||||
## {% linkable_title Breaking Changes %}
|
||||
|
||||
- __HomeMatic component's wireless actors__ are having two RSSI values. The way the component was programmed one of them was being overwritten. With this new change, the __`rssi` attribute of HomeMatic entities has been removed.__ As a replacement the attributes rssi_device and rssi_peer have been added. The attribute of `rssi` will no longer be available, you'll need to __update to `rssi_device`,__ and you can add `rssi_peer` now as well! (fixes #20900) ([@dagobert] - [#20902]) ([homematic docs]) (breaking change)
|
||||
- You can now specifiy an action when calling the __yeelight_start_flow service__ on your yeelights. The __default action will be 'recover'__ if you do not specify something else. This action will be taken after the flow stops. ([@zewelor] - [#21195]) ([light.yeelight docs]) (breaking change)
|
||||
- Custom platforms that override a built-in platform that has a component, should now also include the component in the custom_components/ folder. So if you want to override `hue/light.py` with a custom version, __you will also need to provide/copy over `hue/__init__.py`.__ See details in main section about this change. ([@balloob] - [#21070]) (breaking change)
|
||||
- Automatic discovery of __TP-Link switches, bulbs and dimmers.__ This is a continuation of #15329 and adds support for automatic discovery of TP-Link bulbs, switches, and dimmers based on the new config flow. The integration needs to be enabled either in the __integration configuration or__ alternatively by __adding tplink component__ to the configuration file. As the devices are now configured on the component, this is a __breaking change for light.tplink and switch.tplink.__ ([@rytilahti] - [#18091]) ([tplink docs]) ([light.tplink docs]) ([switch.tplink docs]) (breaking change)
|
||||
- Enhance __SmartThings component__ subscription. See details in main section about this change. ([@andrewsayre] - [#21124]) ([smartthings docs]) (breaking change) (new-feature)
|
||||
- The __iperf3 sensor platform__ has been __separated__ into a component and a sensor to remove the service from the sensor platform. Configuration options have changed, __please review the documentation__ and select the correct options. ([@rohankapoorcom] - [#21138]) ([iperf3 docs]) __([sensor.iperf3 docs])__ (breaking change) (new-platform)
|
||||
- The __`google_travel_time`__ platform no longer has an update service, use __homeassistant.update with the appropriate entity_id(s) instead.__ ([@rohankapoorcom] - [#21153]) ([sensor.google_travel_time docs]) (breaking change)
|
||||
- Add ADB server functionality to __Fire TV.__ This change __removes the `get_source`__ configuration option. ([@JeffLIrion] - [#21221]) ([media_player.firetv docs]) (breaking change)
|
||||
- With the addition of the __SmartThings Cover__ platform, the SmartThings __Sensor platform will no longer represent Door, Garage Door and Window Share attributes.__ Additionally, if the cover device reports battery status, the value will be present as a __state attribute__ (battery_level) and not a discrete sensor. ([@andrewsayre] - [#21192]) ([cover docs]) ([smartthings docs]) (breaking change) (new-platform)
|
||||
- The __Toon component__ was broken some time ago, so now requires a Toon API developer account and __can be configured using the Home Assistant integrations.__ Support for Switches & Smoke detectors has been removed. ([@frenck] - [#21186]) ([toon docs]) (breaking change) (new-platform)
|
||||
- Addition of config for __trusted networks auth provider.__ It is a breaking changes for users who __manually configured__ trusted network auth provider. An invalid config error will be thrown and HA won't be able to fully started. (It is NOT a breaking changes for user who didn't manual configured trusted network auth provider.) ([@awarecan] - [#21111]) (breaking change)
|
||||
- For some __HomeMatic devices the `sabotage` attribute is replaced by `error`.__ The value (if not 0) is a device specific error code. ([@dagobert] - [#21009]) ([homematic docs]) (breaking change)
|
||||
|
||||
## {% linkable_title Beta Fixes %}
|
||||
|
||||
- Add PLATFORM_SCHEMA_BASE to telegram_bot component ([@veleek] - [#21155]) ([telegram_bot docs]) (beta fix)
|
||||
- Add watchdog to Ambient PWS ([@bachya] - [#21507]) ([ambient_station docs]) (beta fix)
|
||||
- Improve new Sonos snapshot/restore ([@amelchio] - [#21509]) ([sonos docs]) (beta fix)
|
||||
- Fix lint ([@balloob] - [#21520]) ([person docs]) ([sensor.airvisual docs]) (beta fix)
|
||||
- Only use a single store instance ([@balloob] - [#21521]) ([frontend docs]) (beta fix)
|
||||
- Allow skip-pip applied to HA core ([@awarecan] - [#21527]) (beta fix)
|
||||
- Updated variable name for readability ([@gorynychzmey] - [#21528]) ([person docs]) (beta fix)
|
||||
- Add missing retain option to mqtt.climate configuration schema ([@emontnemery] - [#21536]) ([mqtt docs]) (beta fix)
|
||||
- Fix warning ([@awarecan] - [#21538]) ([http docs]) (beta fix)
|
||||
- Fix incorrect pyairvisual call ([@bachya] - [#21542]) ([sensor.airvisual docs]) (beta fix)
|
||||
- mobile_app component ([@robbiet480] - [#21475]) ([mobile_app docs]) (beta fix) (new-platform)
|
||||
- Make time trigger data trigger.now local ([@emontnemery] - [#21544]) (beta fix)
|
||||
- Bump zigpy-deconz ([@damarco] - [#21566]) ([zha docs]) (beta fix)
|
||||
- Re-thrown exception occurred in the blocking service call ([@awarecan] - [#21573]) ([websocket_api docs]) (beta fix)
|
||||
- Upgrade PyXiaomiGateway library ([@Danielhiversen] - [#21582]) ([xiaomi_aqara docs]) (beta fix)
|
||||
- Log exception occurred in WS service call command ([@awarecan] - [#21584]) ([websocket_api docs]) (beta fix)
|
||||
- Word the tplink deprecation warning more strongly ([@amelchio] - [#21586]) ([tplink docs]) (beta fix)
|
||||
- Handle when installed app has already been removed ([@andrewsayre] - [#21595]) ([smartthings docs]) (beta fix)
|
||||
- Resolve race condition when HA auth provider is loading ([@awarecan] - [#21619]) (beta fix)
|
||||
- Upgrade pysonos to 0.0.8 ([@amelchio] - [#21624]) ([sonos docs]) (beta fix)
|
||||
- Fix calc next ([@balloob] - [#21630]) (beta fix)
|
||||
- Cast displaytime to int for JSON RPC ([@GGeezes] - [#21649]) ([notify docs]) (beta fix)
|
||||
- :shirt: Corrects unit of measurement symbol for Watt ([@frenck] - [#21654]) ([toon docs]) (beta fix)
|
||||
- Rename Google Assistant evenets ([@balloob] - [#21655]) ([google_assistant docs]) (beta fix)
|
||||
- :ambulance: Fixes Toon doing I/O in coroutines ([@frenck] - [#21657]) ([toon docs]) (beta fix)
|
||||
- Upgrade toonapilib to 3.1.0 ([@frenck] - [#21661]) ([toon docs]) (beta fix)
|
||||
- Avoid recorder thread crashing ([@balloob] - [#21668]) (beta fix)
|
||||
- check we have a tb ([@dgomes] - [#21670]) ([system_log docs]) (beta fix)
|
||||
- Fix ADS race condition ([@carstenschroeder] - [#21677]) ([ads docs]) (beta fix)
|
||||
- resync hass that changes have occured ([@fredrike] - [#21705]) ([tellduslive docs]) (beta fix)
|
||||
- Upgrade toonapilib to 3.2.1 ([@frenck] - [#21706]) ([toon docs]) (beta fix)
|
||||
|
||||
## {% linkable_title All changes %}
|
||||
|
||||
- Météo-France platform for the weather component ([@victorcerutti] - [#18404]) ([sensor.meteo_france docs]) ([weather.meteo_france docs]) (new-platform)
|
||||
- Update file header ([@fabaff] - [#21061])
|
||||
- Climate const.py move ([@elupus] - [#20945])
|
||||
- Update file header ([@fabaff] - [#21067])
|
||||
- Rename CONF_ATTRIBUTION to ATTRIBUTION ([@fabaff] - [#21069])
|
||||
- Bump pyHik library to 0.2.2, improve connections, add sensors ([@mezz64] - [#21086]) ([binary_sensor.hikvision docs])
|
||||
- Meteo france ([@fabaff] - [#21065]) ([meteo_france docs])
|
||||
- Fix "Unable to find entity" at Waze component ([@VirtualL] - [#21087]) ([sensor.waze_travel_time docs])
|
||||
- Point alarm control ([@fredrike] - [#20972]) ([point docs]) (new-platform)
|
||||
- Times of The Day Binary Sensor ([@kstaniek] - [#20068]) ([binary_sensor.tod docs]) (new-platform)
|
||||
- Nissan Leaf Integration (Carwings / NissanConnect EV) ([@filcole] - [#19786]) ([device_tracker docs]) ([nissan_leaf docs]) ([binary_sensor.nissan_leaf docs]) ([sensor.nissan_leaf docs]) ([switch.nissan_leaf docs]) (new-platform)
|
||||
- Add switch platform for Danfoss Air and additional sensors. ([@JonasPed] - [#21046]) ([danfoss_air docs]) (new-platform)
|
||||
- Config Entry migrations ([@andrewsayre] - [#20888])
|
||||
- Refactor http CachingStaticResource ([@awarecan] - [#21062]) ([http docs])
|
||||
- Add index parameter to scrape sensor ([@davidbb] - [#21084]) ([sensor.scrape docs])
|
||||
- Owlet baby monitor component ([@oblogic7] - [#21108]) ([owlet docs]) (new-platform)
|
||||
- Order imports ([@fabaff] - [#21117]) ([owlet docs])
|
||||
- Add Groups to Homematic IP ([@SukramJ] - [#21076]) ([homematicip_cloud docs])
|
||||
- Remove outdated url pattern match support for static file hosting ([@awarecan] - [#21109]) ([http docs])
|
||||
- Upgrade pytest to 4.2.1 ([@scop] - [#21112])
|
||||
- Make Netatmo able to discover both Weather station and Health Coach ([@msvinth] - [#20274])
|
||||
- Add webhook support for Netatmo Cameras ([@danielperna84] - [#20755]) ([netatmo docs])
|
||||
- Logging to find what deCONZ events get created ([@Kane610] - [#20551])
|
||||
- Add traccar scan_interval configuration option ([@lapy] - [#21079]) ([device_tracker docs])
|
||||
- Add component media player.ps4 ([@ktnrg45] - [#21074]) ([ps4 docs])
|
||||
- Add traccar monitored_conditions option ([@lapy] - [#21149]) ([device_tracker docs])
|
||||
- RSSI_PEER and RSSI_DEVICE are different things (fixes #20900) ([@dagobert] - [#20902]) ([homematic docs]) (breaking change)
|
||||
- Upgrade voluptuous-serialize to 2.1.0 ([@fabaff] - [#21166])
|
||||
- Upgrade youtube_dl to 2019.02.18 ([@fabaff] - [#21164]) ([media_extractor docs])
|
||||
- Upgrade sqlalchemy to 1.2.18 ([@fabaff] - [#21162]) ([sensor.sql docs])
|
||||
- Upgrade psutil to 5.5.1 ([@fabaff] - [#21171]) ([sensor.systemmonitor docs])
|
||||
- Fix HomematicIP Cloud fix cover position property ([@mxworm] - [#21154]) ([homematicip_cloud docs])
|
||||
- Clean up upc_connect tests ([@MartinHjelmare] - [#21150])
|
||||
- deCONZ thermostat support ([@Kane610] - [#20586]) ([deconz docs]) (new-platform)
|
||||
- Add context to service call event ([@balloob] - [#21181])
|
||||
- Expose effect_list attribute for turned off lights ([@OleksandrBerchenko] - [#20750])
|
||||
- Philips Hue: Add bridge update prompt ([@starkillerOG] - [#21119]) ([hue docs])
|
||||
- Upgrade crimereports to 1.0.1 ([@fabaff] - [#21187]) ([sensor.crimereports docs])
|
||||
- Netatmo, address comments from #20755 ([@danielperna84] - [#21157]) ([netatmo docs])
|
||||
- Use constants from const.py ([@fabaff] - [#21068]) ([insteon docs]) ([knx docs]) ([raspihats docs]) ([light.rpi_gpio_pwm docs]) ([sensor.etherscan docs]) ([sensor.ripple docs]) ([sensor.sochain docs])
|
||||
- Bump Synology SRM dependency to version 0.0.6 ([@aerialls] - [#21212]) ([device_tracker docs])
|
||||
- Upgrade numpy to 1.16.1 ([@fabaff] - [#21190]) ([binary_sensor.trend docs]) ([image_processing.tensorflow docs]) ([sensor.pollen docs])
|
||||
- Fix Homematic IP Cloud configuration ([@bauerj] - [#21202]) ([homematicip_cloud docs])
|
||||
- Add yeelight flow action support ([@zewelor] - [#21195]) ([light.yeelight docs]) (breaking change)
|
||||
- Fix the build ([@balloob] - [#21229])
|
||||
- Update pyhomematic to 0.1.56 ([@danielperna84] - [#21227]) ([homematic docs])
|
||||
- Add self to integration sensor and utility_meter ([@dgomes] - [#21226])
|
||||
- Add zone and reps for Xiaomi vacuum ([@marcogazzola] - [#19777]) ([vacuum.xiaomi_miio docs])
|
||||
- Bump zigpy ([@damarco] - [#21203]) ([zha docs])
|
||||
- Support OpenWRT 18.06 in luci device tracker ([@fbradyirl] - [#21236]) ([device_tracker docs])
|
||||
- Remove constraint from regex ([@balloob] - [#21239])
|
||||
- Upgrade opensensemap-api to 0.1.4 ([@fabaff] - [#21240]) ([air_quality docs])
|
||||
- Alarm trigger support for Point ([@fredrike] - [#21207]) ([point docs])
|
||||
- Prevent partial custom component overlays ([@balloob] - [#21070]) (breaking change)
|
||||
- Correctly detect devices, which went offline during HA restart ([@OleksandrBerchenko] - [#20933]) ([device_tracker docs])
|
||||
- Update rova component with suffix for house number ([@GidoHakvoort] - [#21182]) ([sensor.rova docs])
|
||||
- Added device tracker support for Ubee Router ([@mzdrale] - [#19586]) ([device_tracker docs]) (new-platform)
|
||||
- account specific cookies file to enable multiple accounts ([@ToSa27] - [#19811]) ([device_tracker docs])
|
||||
- Add support for automatic discovery of TP-Link switches, bulbs and dimmers ([@rytilahti] - [#18091]) ([tplink docs]) ([light.tplink docs]) ([switch.tplink docs]) (breaking change)
|
||||
- Version bump: python-anthemav to v1.1.9 ([@nugget] - [#21273]) ([media_player.anthemav docs])
|
||||
- Do not warn for internally loaded components ([@balloob] - [#21287])
|
||||
- Remove index ([@fabaff] - [#21304])
|
||||
- Adding myself as codeowner for Freebox component ([@SNoof85] - [#21288])
|
||||
- Nissanleaf ([@filcole] - [#21145]) ([nissan_leaf docs]) (new-platform)
|
||||
- Config entry options ([@Kane610] - [#18929]) ([deconz docs])
|
||||
- Enhance SmartThings component subscription ([@andrewsayre] - [#21124]) ([smartthings docs]) (breaking change) (new-feature)
|
||||
- Add more ads plc types ([@philipperequile] - [#19801]) ([ads docs])
|
||||
- Add note to issue template regarding iOS issues ([@robbiet480] - [#21342])
|
||||
- Allow google home component device tracker to be optional ([@dshokouhi] - [#21335]) ([googlehome docs])
|
||||
- Add LCN cover platform ([@alengwenus] - [#20288]) ([lcn docs]) ([cover.lcn docs]) (new-platform)
|
||||
- Add location to Norway airquality ([@Danielhiversen] - [#21347]) ([air_quality docs]) ([weather.met docs])
|
||||
- Updated pyvlx from 0.2.8 to 0.2.9. This version has slightly improved logging ([@Julius2342] - [#21349]) ([velux docs])
|
||||
- Update buienradar.py ([@hmmbob] - [#21351]) ([sensor.buienradar docs])
|
||||
- Fixes the sensor.filter outlier filter (handle step-changes correctly) ([@siberx] - [#21332]) ([sensor.filter docs])
|
||||
- Allows the utility_meter to net meter rather than only allow increases. ([@JBassett] - [#21204]) ([utility_meter docs])
|
||||
- implementing freedaily mode ([@tmechen] - [#21314]) ([weather.openweathermap docs])
|
||||
- Add voltage per phase ([@leeuwte] - [#21319]) ([sensor.dsmr docs])
|
||||
- Add conf_key check for LCN platform load ([@alengwenus] - [#21354]) ([lcn docs])
|
||||
- Update luci device tracker ([@fbradyirl] - [#21321]) ([device_tracker docs])
|
||||
- Support the person component in Prometheus ([@mitchellrj] - [#21363]) ([prometheus docs])
|
||||
- Update Starling Bank Integration to v2 API ([@Dullage] - [#21358]) ([sensor.starlingbank docs])
|
||||
- Split out iperf3 into a component with a sensor platform ([@rohankapoorcom] - [#21138]) ([iperf3 docs]) ([sensor.iperf3 docs]) (breaking change) (new-platform)
|
||||
- Add custom and zone cleaning to Neato Vacuums ([@RomRider] - [#20779]) ([neato docs])
|
||||
- Add initial support for Sony SDCP projector control ([@alistairg] - [#20269]) ([switch.sony_projector docs]) (new-platform)
|
||||
- Check for attribute existence for HS220 support ([@rytilahti] - [#21309]) ([tplink docs])
|
||||
- Generate new Discogs sensors + fix scan interval ([@thibmaek] - [#19443]) ([sensor.discogs docs])
|
||||
- Update panasonic_viera.py ([@Tony763] - [#21365]) ([media_player.panasonic_viera docs])
|
||||
- Handle connection issue for netatmo ([@Danielhiversen] - [#21346]) ([netatmo docs])
|
||||
- Refactoring. Moved LCN constants to const.py ([@alengwenus] - [#21376]) ([lcn docs]) (new-platform)
|
||||
- Clean up owntracks tests ([@MartinHjelmare] - [#21378])
|
||||
- Remove the google travel time update service ([@rohankapoorcom] - [#21153]) ([sensor.google_travel_time docs]) (breaking change)
|
||||
- SmartThings Lock platform state attributes enhancement ([@andrewsayre] - [#21379]) ([smartthings docs]) (new-feature)
|
||||
- Upgrade shodan to 1.11.0 ([@fabaff] - [#21384]) ([sensor.shodan docs])
|
||||
- Update ordering ([@fabaff] - [#21377]) ([modbus docs])
|
||||
- Bump nessclient version to 0.9.10 ([@nickw444] - [#21388]) ([ness_alarm docs])
|
||||
- Handle capitalized HomeKit property names ([@koreth] - [#21382]) ([homekit_controller docs])
|
||||
- Update WazeTravelSensor to 0.9 ([@hmmbob] - [#21130]) ([sensor.waze_travel_time docs])
|
||||
- Clean up geofency test ([@MartinHjelmare] - [#21397])
|
||||
- Clean up locative tests ([@MartinHjelmare] - [#21400])
|
||||
- Add Sonos discovery of multiple households ([@amelchio] - [#21337]) ([sonos docs])
|
||||
- Philips js state ([@elupus] - [#21407]) ([media_player.philips_js docs])
|
||||
- Add ADB server functionality to Fire TV ([@JeffLIrion] - [#21221]) ([media_player.firetv docs]) (breaking change)
|
||||
- Upgrade pytest to 4.3.0 ([@scop] - [#21412])
|
||||
- Upgrade mypy to 0.670 ([@scop] - [#20934])
|
||||
- Update pylinky ([@tiste] - [#21416]) ([sensor.linky docs])
|
||||
- Mark water_heater as significant domain ([@elupus] - [#21390]) ([history docs])
|
||||
- Add power and energy attributes to SmartThings switch ([@andrewsayre] - [#21375]) ([smartthings docs]) (new-feature)
|
||||
- Add SmartThings Cover platform and add cover device classes ([@andrewsayre] - [#21192]) ([cover docs]) ([smartthings docs]) (breaking change) (new-platform)
|
||||
- Add ESPHome User-Defined Services ([@OttoWinter] - [#21409]) ([esphome docs])
|
||||
- Handle GA Disconnect intent ([@balloob] - [#21387]) ([google_assistant docs])
|
||||
- Fix double events on Lutron Pico keypads ([@koreth] - [#21408]) ([lutron docs])
|
||||
- Fix Sonos snapshot/restore ([@amelchio] - [#21411]) ([sonos docs])
|
||||
- Increase travis timeout ([@andrewsayre] - [#21447])
|
||||
- Rewrite of Toon component ([@frenck] - [#21186]) ([toon docs]) (breaking change) (new-platform)
|
||||
- Check if a script requirement is available before install ([@kellerza] - [#20517])
|
||||
- Add timeout option to sensor.rest and binary_sensor.rest. ([@glogiotatidis] - [#20065]) ([binary_sensor.rest docs]) ([sensor.rest docs])
|
||||
- Clean up codeowners file ([@amelchio] - [#21442])
|
||||
- Upgrade flake8 to 3.7.7 ([@scop] - [#21452])
|
||||
- Clean up ZHA post rewrite ([@dmulcahey] - [#21448]) ([zha docs])
|
||||
- Add friendly name to devices in the device registry ([@dmulcahey] - [#21318]) ([config docs])
|
||||
- Fix ESPHome nodes being auto-added without user confirmation ([@OttoWinter] - [#21444]) ([esphome docs])
|
||||
- Fix for Snips platform update that breaks hermes api. ([@ptc] - [#21443]) ([snips docs])
|
||||
- Remove launching a server in a test ([@balloob] - [#21445])
|
||||
- Add SmartThings Scene platform ([@andrewsayre] - [#21405]) ([smartthings docs]) (new-platform)
|
||||
- Adjust GTFS dates when crossing midnight ([@renemarc] - [#20916]) ([sensor.gtfs docs])
|
||||
- Reddit Sensor ([@ljmerza] - [#21344]) ([sensor.reddit docs]) (new-platform)
|
||||
- Add config for trusted networks auth provider ([@awarecan] - [#21111]) (breaking change)
|
||||
- Add HomematicIP HmIP-OC8 module ([@mxworm] - [#21401]) ([homematicip_cloud docs])
|
||||
- Added new econet states ([@w1ll1am23] - [#21420]) ([water_heater docs])
|
||||
- Comment out bluepy libraries from requirements_all.txt ([@Danielhiversen] - [#20856]) ([switch.switchbot docs]) ([switch.switchmate docs])
|
||||
- Update sensor.nmbs to support vias better + show on map ([@thibmaek] - [#20063]) ([sensor.nmbs docs])
|
||||
- Add mitemp bt sensor device class ([@blackray12] - [#20293]) ([sensor.mitemp_bt docs])
|
||||
- Add Somfy IO Garage door ([@dfournie] - [#21320]) ([tahoma docs])
|
||||
- Add person support for Waze Travel Time ([@Petro31] - [#21471]) ([sensor.waze_travel_time docs])
|
||||
- Add cpu_use_percent as a new resource to the Glances sensor. ([@kevintuhumury] - [#21455]) ([sensor.glances docs])
|
||||
- Added a digit for precipitation ([@helto4real] - [#21439]) ([smhi docs])
|
||||
- Upgrade bcrypt to 3.1.6 ([@fabaff] - [#21476])
|
||||
- Upgrade shodan to 1.11.1 ([@fabaff] - [#21478]) ([sensor.shodan docs])
|
||||
- Upgrade astral to 1.10.1 ([@fabaff] - [#21474])
|
||||
- Refactor async_turn_on() for ZHA Light. ([@Adminiuga] - [#21156]) ([zha docs])
|
||||
- Add device_info to enable HA-devices for Homematic IP ([@SukramJ] - [#21241]) ([homematicip_cloud docs])
|
||||
- Fire events when Google Assistant commands come in #15139 ([@Swamp-Ig] - [#20204]) ([google_assistant docs])
|
||||
- pylint 2.3.0 ([@Danielhiversen] - [#21485])
|
||||
- HomeMatic: Add error-attribute ([@dagobert] - [#21009]) ([homematic docs]) (breaking change)
|
||||
- Avoid unnecessary commands in Vizio update function ([@JeffLIrion] - [#20867])
|
||||
- Upgrade pyairvisual to 3.0.1 ([@bachya] - [#21512]) ([sensor.airvisual docs])
|
||||
- Bump simplisafe-python to 3.4.1 ([@bachya] - [#21511]) ([simplisafe docs])
|
||||
- Upgrade aioambient to 0.1.3 ([@bachya] - [#21510]) ([ambient_station docs])
|
||||
- Upgrade tibber lib ([@Danielhiversen] - [#21486]) ([tibber docs])
|
||||
- ness_alarm: Bump nessclient version to 0.9.13 ([@nickw444] - [#21466]) ([ness_alarm docs])
|
||||
- Bump ihc to 2.3.0 ([@msvinth] - [#21494]) ([ihc docs])
|
||||
- Changed source priority for Person ([@gorynychzmey] - [#21479])
|
||||
- Add PLATFORM_SCHEMA_BASE to telegram_bot component ([@veleek] - [#21155]) ([telegram_bot docs]) (beta fix)
|
||||
- Add watchdog to Ambient PWS ([@bachya] - [#21507]) ([ambient_station docs]) (beta fix)
|
||||
- Improve new Sonos snapshot/restore ([@amelchio] - [#21509]) ([sonos docs]) (beta fix)
|
||||
- Fix lint ([@balloob] - [#21520]) ([person docs]) ([sensor.airvisual docs]) (beta fix)
|
||||
- Only use a single store instance ([@balloob] - [#21521]) ([frontend docs]) (beta fix)
|
||||
- Allow skip-pip applied to HA core ([@awarecan] - [#21527]) (beta fix)
|
||||
- Updated variable name for readability ([@gorynychzmey] - [#21528]) ([person docs]) (beta fix)
|
||||
- Add missing retain option to mqtt.climate configuration schema ([@emontnemery] - [#21536]) ([mqtt docs]) (beta fix)
|
||||
- Fix warning ([@awarecan] - [#21538]) ([http docs]) (beta fix)
|
||||
- Fix incorrect pyairvisual call ([@bachya] - [#21542]) ([sensor.airvisual docs]) (beta fix)
|
||||
- mobile_app component ([@robbiet480] - [#21475]) ([mobile_app docs]) (beta fix) (new-platform)
|
||||
- Make time trigger data trigger.now local ([@emontnemery] - [#21544]) (beta fix)
|
||||
- Bump zigpy-deconz ([@damarco] - [#21566]) ([zha docs]) (beta fix)
|
||||
- Re-thrown exception occurred in the blocking service call ([@awarecan] - [#21573]) ([websocket_api docs]) (beta fix)
|
||||
- Upgrade PyXiaomiGateway library ([@Danielhiversen] - [#21582]) ([xiaomi_aqara docs]) (beta fix)
|
||||
- Log exception occurred in WS service call command ([@awarecan] - [#21584]) ([websocket_api docs]) (beta fix)
|
||||
- Word the tplink deprecation warning more strongly ([@amelchio] - [#21586]) ([tplink docs]) (beta fix)
|
||||
- Handle when installed app has already been removed ([@andrewsayre] - [#21595]) ([smartthings docs]) (beta fix)
|
||||
- Resolve race condition when HA auth provider is loading ([@awarecan] - [#21619]) (beta fix)
|
||||
- Upgrade pysonos to 0.0.8 ([@amelchio] - [#21624]) ([sonos docs]) (beta fix)
|
||||
- Fix calc next ([@balloob] - [#21630]) (beta fix)
|
||||
- Cast displaytime to int for JSON RPC ([@GGeezes] - [#21649]) ([notify docs]) (beta fix)
|
||||
- :shirt: Corrects unit of measurement symbol for Watt ([@frenck] - [#21654]) ([toon docs]) (beta fix)
|
||||
- Rename Google Assistant evenets ([@balloob] - [#21655]) ([google_assistant docs]) (beta fix)
|
||||
- :ambulance: Fixes Toon doing I/O in coroutines ([@frenck] - [#21657]) ([toon docs]) (beta fix)
|
||||
- Upgrade toonapilib to 3.1.0 ([@frenck] - [#21661]) ([toon docs]) (beta fix)
|
||||
- Avoid recorder thread crashing ([@balloob] - [#21668]) (beta fix)
|
||||
- check we have a tb ([@dgomes] - [#21670]) ([system_log docs]) (beta fix)
|
||||
- Fix ADS race condition ([@carstenschroeder] - [#21677]) ([ads docs]) (beta fix)
|
||||
- resync hass that changes have occured ([@fredrike] - [#21705]) ([tellduslive docs]) (beta fix)
|
||||
- Upgrade toonapilib to 3.2.1 ([@frenck] - [#21706]) ([toon docs]) (beta fix)
|
||||
|
||||
[#18091]: https://github.com/home-assistant/home-assistant/pull/18091
|
||||
[#18404]: https://github.com/home-assistant/home-assistant/pull/18404
|
||||
[#18929]: https://github.com/home-assistant/home-assistant/pull/18929
|
||||
[#19443]: https://github.com/home-assistant/home-assistant/pull/19443
|
||||
[#19586]: https://github.com/home-assistant/home-assistant/pull/19586
|
||||
[#19777]: https://github.com/home-assistant/home-assistant/pull/19777
|
||||
[#19786]: https://github.com/home-assistant/home-assistant/pull/19786
|
||||
[#19801]: https://github.com/home-assistant/home-assistant/pull/19801
|
||||
[#19811]: https://github.com/home-assistant/home-assistant/pull/19811
|
||||
[#20063]: https://github.com/home-assistant/home-assistant/pull/20063
|
||||
[#20065]: https://github.com/home-assistant/home-assistant/pull/20065
|
||||
[#20068]: https://github.com/home-assistant/home-assistant/pull/20068
|
||||
[#20204]: https://github.com/home-assistant/home-assistant/pull/20204
|
||||
[#20269]: https://github.com/home-assistant/home-assistant/pull/20269
|
||||
[#20274]: https://github.com/home-assistant/home-assistant/pull/20274
|
||||
[#20288]: https://github.com/home-assistant/home-assistant/pull/20288
|
||||
[#20293]: https://github.com/home-assistant/home-assistant/pull/20293
|
||||
[#20517]: https://github.com/home-assistant/home-assistant/pull/20517
|
||||
[#20551]: https://github.com/home-assistant/home-assistant/pull/20551
|
||||
[#20586]: https://github.com/home-assistant/home-assistant/pull/20586
|
||||
[#20750]: https://github.com/home-assistant/home-assistant/pull/20750
|
||||
[#20755]: https://github.com/home-assistant/home-assistant/pull/20755
|
||||
[#20779]: https://github.com/home-assistant/home-assistant/pull/20779
|
||||
[#20856]: https://github.com/home-assistant/home-assistant/pull/20856
|
||||
[#20867]: https://github.com/home-assistant/home-assistant/pull/20867
|
||||
[#20888]: https://github.com/home-assistant/home-assistant/pull/20888
|
||||
[#20902]: https://github.com/home-assistant/home-assistant/pull/20902
|
||||
[#20916]: https://github.com/home-assistant/home-assistant/pull/20916
|
||||
[#20933]: https://github.com/home-assistant/home-assistant/pull/20933
|
||||
[#20934]: https://github.com/home-assistant/home-assistant/pull/20934
|
||||
[#20945]: https://github.com/home-assistant/home-assistant/pull/20945
|
||||
[#20972]: https://github.com/home-assistant/home-assistant/pull/20972
|
||||
[#21009]: https://github.com/home-assistant/home-assistant/pull/21009
|
||||
[#21046]: https://github.com/home-assistant/home-assistant/pull/21046
|
||||
[#21061]: https://github.com/home-assistant/home-assistant/pull/21061
|
||||
[#21062]: https://github.com/home-assistant/home-assistant/pull/21062
|
||||
[#21065]: https://github.com/home-assistant/home-assistant/pull/21065
|
||||
[#21067]: https://github.com/home-assistant/home-assistant/pull/21067
|
||||
[#21068]: https://github.com/home-assistant/home-assistant/pull/21068
|
||||
[#21069]: https://github.com/home-assistant/home-assistant/pull/21069
|
||||
[#21070]: https://github.com/home-assistant/home-assistant/pull/21070
|
||||
[#21074]: https://github.com/home-assistant/home-assistant/pull/21074
|
||||
[#21076]: https://github.com/home-assistant/home-assistant/pull/21076
|
||||
[#21079]: https://github.com/home-assistant/home-assistant/pull/21079
|
||||
[#21084]: https://github.com/home-assistant/home-assistant/pull/21084
|
||||
[#21086]: https://github.com/home-assistant/home-assistant/pull/21086
|
||||
[#21087]: https://github.com/home-assistant/home-assistant/pull/21087
|
||||
[#21108]: https://github.com/home-assistant/home-assistant/pull/21108
|
||||
[#21109]: https://github.com/home-assistant/home-assistant/pull/21109
|
||||
[#21111]: https://github.com/home-assistant/home-assistant/pull/21111
|
||||
[#21112]: https://github.com/home-assistant/home-assistant/pull/21112
|
||||
[#21117]: https://github.com/home-assistant/home-assistant/pull/21117
|
||||
[#21119]: https://github.com/home-assistant/home-assistant/pull/21119
|
||||
[#21124]: https://github.com/home-assistant/home-assistant/pull/21124
|
||||
[#21130]: https://github.com/home-assistant/home-assistant/pull/21130
|
||||
[#21138]: https://github.com/home-assistant/home-assistant/pull/21138
|
||||
[#21145]: https://github.com/home-assistant/home-assistant/pull/21145
|
||||
[#21149]: https://github.com/home-assistant/home-assistant/pull/21149
|
||||
[#21150]: https://github.com/home-assistant/home-assistant/pull/21150
|
||||
[#21153]: https://github.com/home-assistant/home-assistant/pull/21153
|
||||
[#21154]: https://github.com/home-assistant/home-assistant/pull/21154
|
||||
[#21155]: https://github.com/home-assistant/home-assistant/pull/21155
|
||||
[#21156]: https://github.com/home-assistant/home-assistant/pull/21156
|
||||
[#21157]: https://github.com/home-assistant/home-assistant/pull/21157
|
||||
[#21162]: https://github.com/home-assistant/home-assistant/pull/21162
|
||||
[#21164]: https://github.com/home-assistant/home-assistant/pull/21164
|
||||
[#21166]: https://github.com/home-assistant/home-assistant/pull/21166
|
||||
[#21171]: https://github.com/home-assistant/home-assistant/pull/21171
|
||||
[#21181]: https://github.com/home-assistant/home-assistant/pull/21181
|
||||
[#21182]: https://github.com/home-assistant/home-assistant/pull/21182
|
||||
[#21186]: https://github.com/home-assistant/home-assistant/pull/21186
|
||||
[#21187]: https://github.com/home-assistant/home-assistant/pull/21187
|
||||
[#21190]: https://github.com/home-assistant/home-assistant/pull/21190
|
||||
[#21192]: https://github.com/home-assistant/home-assistant/pull/21192
|
||||
[#21195]: https://github.com/home-assistant/home-assistant/pull/21195
|
||||
[#21202]: https://github.com/home-assistant/home-assistant/pull/21202
|
||||
[#21203]: https://github.com/home-assistant/home-assistant/pull/21203
|
||||
[#21204]: https://github.com/home-assistant/home-assistant/pull/21204
|
||||
[#21207]: https://github.com/home-assistant/home-assistant/pull/21207
|
||||
[#21212]: https://github.com/home-assistant/home-assistant/pull/21212
|
||||
[#21221]: https://github.com/home-assistant/home-assistant/pull/21221
|
||||
[#21226]: https://github.com/home-assistant/home-assistant/pull/21226
|
||||
[#21227]: https://github.com/home-assistant/home-assistant/pull/21227
|
||||
[#21229]: https://github.com/home-assistant/home-assistant/pull/21229
|
||||
[#21236]: https://github.com/home-assistant/home-assistant/pull/21236
|
||||
[#21239]: https://github.com/home-assistant/home-assistant/pull/21239
|
||||
[#21240]: https://github.com/home-assistant/home-assistant/pull/21240
|
||||
[#21241]: https://github.com/home-assistant/home-assistant/pull/21241
|
||||
[#21273]: https://github.com/home-assistant/home-assistant/pull/21273
|
||||
[#21287]: https://github.com/home-assistant/home-assistant/pull/21287
|
||||
[#21288]: https://github.com/home-assistant/home-assistant/pull/21288
|
||||
[#21304]: https://github.com/home-assistant/home-assistant/pull/21304
|
||||
[#21309]: https://github.com/home-assistant/home-assistant/pull/21309
|
||||
[#21314]: https://github.com/home-assistant/home-assistant/pull/21314
|
||||
[#21318]: https://github.com/home-assistant/home-assistant/pull/21318
|
||||
[#21319]: https://github.com/home-assistant/home-assistant/pull/21319
|
||||
[#21320]: https://github.com/home-assistant/home-assistant/pull/21320
|
||||
[#21321]: https://github.com/home-assistant/home-assistant/pull/21321
|
||||
[#21332]: https://github.com/home-assistant/home-assistant/pull/21332
|
||||
[#21335]: https://github.com/home-assistant/home-assistant/pull/21335
|
||||
[#21337]: https://github.com/home-assistant/home-assistant/pull/21337
|
||||
[#21342]: https://github.com/home-assistant/home-assistant/pull/21342
|
||||
[#21344]: https://github.com/home-assistant/home-assistant/pull/21344
|
||||
[#21346]: https://github.com/home-assistant/home-assistant/pull/21346
|
||||
[#21347]: https://github.com/home-assistant/home-assistant/pull/21347
|
||||
[#21349]: https://github.com/home-assistant/home-assistant/pull/21349
|
||||
[#21351]: https://github.com/home-assistant/home-assistant/pull/21351
|
||||
[#21354]: https://github.com/home-assistant/home-assistant/pull/21354
|
||||
[#21358]: https://github.com/home-assistant/home-assistant/pull/21358
|
||||
[#21363]: https://github.com/home-assistant/home-assistant/pull/21363
|
||||
[#21365]: https://github.com/home-assistant/home-assistant/pull/21365
|
||||
[#21375]: https://github.com/home-assistant/home-assistant/pull/21375
|
||||
[#21376]: https://github.com/home-assistant/home-assistant/pull/21376
|
||||
[#21377]: https://github.com/home-assistant/home-assistant/pull/21377
|
||||
[#21378]: https://github.com/home-assistant/home-assistant/pull/21378
|
||||
[#21379]: https://github.com/home-assistant/home-assistant/pull/21379
|
||||
[#21382]: https://github.com/home-assistant/home-assistant/pull/21382
|
||||
[#21384]: https://github.com/home-assistant/home-assistant/pull/21384
|
||||
[#21387]: https://github.com/home-assistant/home-assistant/pull/21387
|
||||
[#21388]: https://github.com/home-assistant/home-assistant/pull/21388
|
||||
[#21390]: https://github.com/home-assistant/home-assistant/pull/21390
|
||||
[#21397]: https://github.com/home-assistant/home-assistant/pull/21397
|
||||
[#21400]: https://github.com/home-assistant/home-assistant/pull/21400
|
||||
[#21401]: https://github.com/home-assistant/home-assistant/pull/21401
|
||||
[#21405]: https://github.com/home-assistant/home-assistant/pull/21405
|
||||
[#21407]: https://github.com/home-assistant/home-assistant/pull/21407
|
||||
[#21408]: https://github.com/home-assistant/home-assistant/pull/21408
|
||||
[#21409]: https://github.com/home-assistant/home-assistant/pull/21409
|
||||
[#21411]: https://github.com/home-assistant/home-assistant/pull/21411
|
||||
[#21412]: https://github.com/home-assistant/home-assistant/pull/21412
|
||||
[#21416]: https://github.com/home-assistant/home-assistant/pull/21416
|
||||
[#21420]: https://github.com/home-assistant/home-assistant/pull/21420
|
||||
[#21439]: https://github.com/home-assistant/home-assistant/pull/21439
|
||||
[#21442]: https://github.com/home-assistant/home-assistant/pull/21442
|
||||
[#21443]: https://github.com/home-assistant/home-assistant/pull/21443
|
||||
[#21444]: https://github.com/home-assistant/home-assistant/pull/21444
|
||||
[#21445]: https://github.com/home-assistant/home-assistant/pull/21445
|
||||
[#21447]: https://github.com/home-assistant/home-assistant/pull/21447
|
||||
[#21448]: https://github.com/home-assistant/home-assistant/pull/21448
|
||||
[#21452]: https://github.com/home-assistant/home-assistant/pull/21452
|
||||
[#21455]: https://github.com/home-assistant/home-assistant/pull/21455
|
||||
[#21466]: https://github.com/home-assistant/home-assistant/pull/21466
|
||||
[#21471]: https://github.com/home-assistant/home-assistant/pull/21471
|
||||
[#21474]: https://github.com/home-assistant/home-assistant/pull/21474
|
||||
[#21475]: https://github.com/home-assistant/home-assistant/pull/21475
|
||||
[#21476]: https://github.com/home-assistant/home-assistant/pull/21476
|
||||
[#21478]: https://github.com/home-assistant/home-assistant/pull/21478
|
||||
[#21479]: https://github.com/home-assistant/home-assistant/pull/21479
|
||||
[#21485]: https://github.com/home-assistant/home-assistant/pull/21485
|
||||
[#21486]: https://github.com/home-assistant/home-assistant/pull/21486
|
||||
[#21494]: https://github.com/home-assistant/home-assistant/pull/21494
|
||||
[#21507]: https://github.com/home-assistant/home-assistant/pull/21507
|
||||
[#21509]: https://github.com/home-assistant/home-assistant/pull/21509
|
||||
[#21510]: https://github.com/home-assistant/home-assistant/pull/21510
|
||||
[#21511]: https://github.com/home-assistant/home-assistant/pull/21511
|
||||
[#21512]: https://github.com/home-assistant/home-assistant/pull/21512
|
||||
[#21520]: https://github.com/home-assistant/home-assistant/pull/21520
|
||||
[#21521]: https://github.com/home-assistant/home-assistant/pull/21521
|
||||
[#21527]: https://github.com/home-assistant/home-assistant/pull/21527
|
||||
[#21528]: https://github.com/home-assistant/home-assistant/pull/21528
|
||||
[#21536]: https://github.com/home-assistant/home-assistant/pull/21536
|
||||
[#21538]: https://github.com/home-assistant/home-assistant/pull/21538
|
||||
[#21542]: https://github.com/home-assistant/home-assistant/pull/21542
|
||||
[#21544]: https://github.com/home-assistant/home-assistant/pull/21544
|
||||
[#21566]: https://github.com/home-assistant/home-assistant/pull/21566
|
||||
[#21573]: https://github.com/home-assistant/home-assistant/pull/21573
|
||||
[#21582]: https://github.com/home-assistant/home-assistant/pull/21582
|
||||
[#21584]: https://github.com/home-assistant/home-assistant/pull/21584
|
||||
[#21586]: https://github.com/home-assistant/home-assistant/pull/21586
|
||||
[#21595]: https://github.com/home-assistant/home-assistant/pull/21595
|
||||
[#21619]: https://github.com/home-assistant/home-assistant/pull/21619
|
||||
[#21624]: https://github.com/home-assistant/home-assistant/pull/21624
|
||||
[#21630]: https://github.com/home-assistant/home-assistant/pull/21630
|
||||
[#21649]: https://github.com/home-assistant/home-assistant/pull/21649
|
||||
[#21654]: https://github.com/home-assistant/home-assistant/pull/21654
|
||||
[#21655]: https://github.com/home-assistant/home-assistant/pull/21655
|
||||
[#21657]: https://github.com/home-assistant/home-assistant/pull/21657
|
||||
[#21661]: https://github.com/home-assistant/home-assistant/pull/21661
|
||||
[#21668]: https://github.com/home-assistant/home-assistant/pull/21668
|
||||
[#21670]: https://github.com/home-assistant/home-assistant/pull/21670
|
||||
[#21677]: https://github.com/home-assistant/home-assistant/pull/21677
|
||||
[#21705]: https://github.com/home-assistant/home-assistant/pull/21705
|
||||
[#21706]: https://github.com/home-assistant/home-assistant/pull/21706
|
||||
[@Adminiuga]: https://github.com/Adminiuga
|
||||
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||
[@Dullage]: https://github.com/Dullage
|
||||
[@GGeezes]: https://github.com/GGeezes
|
||||
[@GidoHakvoort]: https://github.com/GidoHakvoort
|
||||
[@JBassett]: https://github.com/JBassett
|
||||
[@JeffLIrion]: https://github.com/JeffLIrion
|
||||
[@JonasPed]: https://github.com/JonasPed
|
||||
[@Julius2342]: https://github.com/Julius2342
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@MartinHjelmare]: https://github.com/MartinHjelmare
|
||||
[@OleksandrBerchenko]: https://github.com/OleksandrBerchenko
|
||||
[@OttoWinter]: https://github.com/OttoWinter
|
||||
[@Petro31]: https://github.com/Petro31
|
||||
[@RomRider]: https://github.com/RomRider
|
||||
[@SNoof85]: https://github.com/SNoof85
|
||||
[@SukramJ]: https://github.com/SukramJ
|
||||
[@Swamp-Ig]: https://github.com/Swamp-Ig
|
||||
[@ToSa27]: https://github.com/ToSa27
|
||||
[@Tony763]: https://github.com/Tony763
|
||||
[@VirtualL]: https://github.com/VirtualL
|
||||
[@aerialls]: https://github.com/aerialls
|
||||
[@alengwenus]: https://github.com/alengwenus
|
||||
[@alistairg]: https://github.com/alistairg
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andrewsayre]: https://github.com/andrewsayre
|
||||
[@awarecan]: https://github.com/awarecan
|
||||
[@bachya]: https://github.com/bachya
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bauerj]: https://github.com/bauerj
|
||||
[@blackray12]: https://github.com/blackray12
|
||||
[@carstenschroeder]: https://github.com/carstenschroeder
|
||||
[@dagobert]: https://github.com/dagobert
|
||||
[@damarco]: https://github.com/damarco
|
||||
[@danielperna84]: https://github.com/danielperna84
|
||||
[@davidbb]: https://github.com/davidbb
|
||||
[@dfournie]: https://github.com/dfournie
|
||||
[@dgomes]: https://github.com/dgomes
|
||||
[@dmulcahey]: https://github.com/dmulcahey
|
||||
[@dshokouhi]: https://github.com/dshokouhi
|
||||
[@elupus]: https://github.com/elupus
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@fbradyirl]: https://github.com/fbradyirl
|
||||
[@filcole]: https://github.com/filcole
|
||||
[@fredrike]: https://github.com/fredrike
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@glogiotatidis]: https://github.com/glogiotatidis
|
||||
[@gorynychzmey]: https://github.com/gorynychzmey
|
||||
[@helto4real]: https://github.com/helto4real
|
||||
[@hmmbob]: https://github.com/hmmbob
|
||||
[@kellerza]: https://github.com/kellerza
|
||||
[@kevintuhumury]: https://github.com/kevintuhumury
|
||||
[@koreth]: https://github.com/koreth
|
||||
[@kstaniek]: https://github.com/kstaniek
|
||||
[@ktnrg45]: https://github.com/ktnrg45
|
||||
[@lapy]: https://github.com/lapy
|
||||
[@leeuwte]: https://github.com/leeuwte
|
||||
[@ljmerza]: https://github.com/ljmerza
|
||||
[@marcogazzola]: https://github.com/marcogazzola
|
||||
[@mezz64]: https://github.com/mezz64
|
||||
[@mitchellrj]: https://github.com/mitchellrj
|
||||
[@msvinth]: https://github.com/msvinth
|
||||
[@mxworm]: https://github.com/mxworm
|
||||
[@mzdrale]: https://github.com/mzdrale
|
||||
[@nickw444]: https://github.com/nickw444
|
||||
[@nugget]: https://github.com/nugget
|
||||
[@oblogic7]: https://github.com/oblogic7
|
||||
[@philipperequile]: https://github.com/philipperequile
|
||||
[@ptc]: https://github.com/ptc
|
||||
[@renemarc]: https://github.com/renemarc
|
||||
[@robbiet480]: https://github.com/robbiet480
|
||||
[@rohankapoorcom]: https://github.com/rohankapoorcom
|
||||
[@rytilahti]: https://github.com/rytilahti
|
||||
[@scop]: https://github.com/scop
|
||||
[@siberx]: https://github.com/siberx
|
||||
[@starkillerOG]: https://github.com/starkillerOG
|
||||
[@thibmaek]: https://github.com/thibmaek
|
||||
[@tiste]: https://github.com/tiste
|
||||
[@tmechen]: https://github.com/tmechen
|
||||
[@veleek]: https://github.com/veleek
|
||||
[@victorcerutti]: https://github.com/victorcerutti
|
||||
[@w1ll1am23]: https://github.com/w1ll1am23
|
||||
[@zewelor]: https://github.com/zewelor
|
||||
[ads docs]: /components/ads/
|
||||
[air_quality docs]: /components/air_quality/
|
||||
[ambient_station docs]: /components/ambient_station/
|
||||
[binary_sensor.hikvision docs]: /components/binary_sensor.hikvision/
|
||||
[binary_sensor.nissan_leaf docs]: /components/binary_sensor.nissan_leaf/
|
||||
[binary_sensor.rest docs]: /components/binary_sensor.rest/
|
||||
[binary_sensor.tod docs]: /components/binary_sensor.tod/
|
||||
[binary_sensor.trend docs]: /components/binary_sensor.trend/
|
||||
[config docs]: /components/config/
|
||||
[cover docs]: /components/cover/
|
||||
[cover.lcn docs]: /components/cover.lcn/
|
||||
[danfoss_air docs]: /components/danfoss_air/
|
||||
[deconz docs]: /components/deconz/
|
||||
[device_tracker docs]: /components/device_tracker/
|
||||
[esphome docs]: /components/esphome/
|
||||
[frontend docs]: /components/frontend/
|
||||
[google_assistant docs]: /components/google_assistant/
|
||||
[googlehome docs]: /components/googlehome/
|
||||
[history docs]: /components/history/
|
||||
[homekit_controller docs]: /components/homekit_controller/
|
||||
[homematic docs]: /components/homematic/
|
||||
[homematicip_cloud docs]: /components/homematicip_cloud/
|
||||
[http docs]: /components/http/
|
||||
[hue docs]: /components/hue/
|
||||
[ihc docs]: /components/ihc/
|
||||
[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
|
||||
[insteon docs]: /components/insteon/
|
||||
[iperf3 docs]: /components/iperf3/
|
||||
[knx docs]: /components/knx/
|
||||
[lcn docs]: /components/lcn/
|
||||
[light.rpi_gpio_pwm docs]: /components/light.rpi_gpio_pwm/
|
||||
[light.tplink docs]: /components/light.tplink/
|
||||
[light.yeelight docs]: /components/light.yeelight/
|
||||
[lutron docs]: /components/lutron/
|
||||
[media_extractor docs]: /components/media_extractor/
|
||||
[media_player.anthemav docs]: /components/media_player.anthemav/
|
||||
[media_player.firetv docs]: /components/media_player.firetv/
|
||||
[media_player.panasonic_viera docs]: /components/media_player.panasonic_viera/
|
||||
[media_player.philips_js docs]: /components/media_player.philips_js/
|
||||
[meteo_france docs]: /components/meteo_france/
|
||||
[mobile_app docs]: /components/mobile_app/
|
||||
[modbus docs]: /components/modbus/
|
||||
[mqtt docs]: /components/mqtt/
|
||||
[neato docs]: /components/neato/
|
||||
[ness_alarm docs]: /components/ness_alarm/
|
||||
[netatmo docs]: /components/netatmo/
|
||||
[nissan_leaf docs]: /components/nissan_leaf/
|
||||
[notify docs]: /components/notify/
|
||||
[owlet docs]: /components/owlet/
|
||||
[person docs]: /components/person/
|
||||
[point docs]: /components/point/
|
||||
[prometheus docs]: /components/prometheus/
|
||||
[ps4 docs]: /components/ps4/
|
||||
[raspihats docs]: /components/raspihats/
|
||||
[sensor.airvisual docs]: /components/sensor.airvisual/
|
||||
[sensor.buienradar docs]: /components/sensor.buienradar/
|
||||
[sensor.crimereports docs]: /components/sensor.crimereports/
|
||||
[sensor.discogs docs]: /components/sensor.discogs/
|
||||
[sensor.dsmr docs]: /components/sensor.dsmr/
|
||||
[sensor.etherscan docs]: /components/sensor.etherscan/
|
||||
[sensor.filter docs]: /components/sensor.filter/
|
||||
[sensor.glances docs]: /components/sensor.glances/
|
||||
[sensor.google_travel_time docs]: /components/sensor.google_travel_time/
|
||||
[sensor.gtfs docs]: /components/sensor.gtfs/
|
||||
[sensor.iperf3 docs]: /components/sensor.iperf3/
|
||||
[sensor.linky docs]: /components/sensor.linky/
|
||||
[sensor.meteo_france docs]: /components/sensor.meteo_france/
|
||||
[sensor.mitemp_bt docs]: /components/sensor.mitemp_bt/
|
||||
[sensor.nissan_leaf docs]: /components/sensor.nissan_leaf/
|
||||
[sensor.nmbs docs]: /components/sensor.nmbs/
|
||||
[sensor.pollen docs]: /components/sensor.pollen/
|
||||
[sensor.reddit docs]: /components/sensor.reddit/
|
||||
[sensor.rest docs]: /components/sensor.rest/
|
||||
[sensor.ripple docs]: /components/sensor.ripple/
|
||||
[sensor.rova docs]: /components/sensor.rova/
|
||||
[sensor.scrape docs]: /components/sensor.scrape/
|
||||
[sensor.shodan docs]: /components/sensor.shodan/
|
||||
[sensor.sochain docs]: /components/sensor.sochain/
|
||||
[sensor.sql docs]: /components/sensor.sql/
|
||||
[sensor.starlingbank docs]: /components/sensor.starlingbank/
|
||||
[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
|
||||
[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/
|
||||
[simplisafe docs]: /components/simplisafe/
|
||||
[smartthings docs]: /components/smartthings/
|
||||
[smhi docs]: /components/smhi/
|
||||
[snips docs]: /components/snips/
|
||||
[sonos docs]: /components/sonos/
|
||||
[switch.nissan_leaf docs]: /components/switch.nissan_leaf/
|
||||
[switch.sony_projector docs]: /components/switch.sony_projector/
|
||||
[switch.switchbot docs]: /components/switch.switchbot/
|
||||
[switch.switchmate docs]: /components/switch.switchmate/
|
||||
[switch.tplink docs]: /components/switch.tplink/
|
||||
[system_log docs]: /components/system_log/
|
||||
[tahoma docs]: /components/tahoma/
|
||||
[telegram_bot docs]: /components/telegram_bot/
|
||||
[tellduslive docs]: /components/tellduslive/
|
||||
[tibber docs]: /components/tibber/
|
||||
[toon docs]: /components/toon/
|
||||
[tplink docs]: /components/tplink/
|
||||
[utility_meter docs]: /components/utility_meter/
|
||||
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
|
||||
[velux docs]: /components/velux/
|
||||
[water_heater docs]: /components/water_heater/
|
||||
[weather.met docs]: /components/weather.met/
|
||||
[weather.meteo_france docs]: /components/weather.meteo_france/
|
||||
[weather.openweathermap docs]: /components/weather.openweathermap/
|
||||
[websocket_api docs]: /components/websocket_api/
|
||||
[xiaomi_aqara docs]: /components/xiaomi_aqara/
|
||||
[zha docs]: /components/zha/
|
BIN
source/images/blog/2019-03-release-89/components.png
Normal file
BIN
source/images/blog/2019-03-release-89/components.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
source/images/supported_brands/nissan.png
Normal file
BIN
source/images/supported_brands/nissan.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
1
source/images/supported_brands/owlet.svg
Normal file
1
source/images/supported_brands/owlet.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 143 38"><style>.a{fill:#FFF;}.b{fill:currentColor;}</style><title> Page 1@3x</title><desc> Created with Sketch.</desc><defs><polygon points="0 0.9 0 39 38.1 39 38.1 0.9"/></defs><g fill="currentColor"><g transform="translate(-120 -21)translate(120 20)"><path d="M38 20L38 20C38 20 38 20 38 20" class="a logo-word"/><path d="M38 20L38 20 36.5 21.3C36.5 21.3 37.5 20.4 38 20" class="a logo-word"/><path d="M57.6 13C54.4 13 52.6 16.1 52.6 20.9 52.6 25.7 54.4 28.8 57.6 28.8 60.9 28.8 62.7 25.7 62.7 20.9 62.7 16.1 60.9 13 57.6 13M57.6 34.8C49.8 34.8 44.6 29.2 44.6 20.9 44.6 12.6 49.8 7 57.7 7 65.5 7 70.7 12.6 70.7 20.8 70.7 29.1 65.5 34.8 57.6 34.8" class="b logo-word"/><polygon points="94.6 34.3 87.7 34.3 85.6 24.8 83.4 34.3 76.5 34.3 71.6 14.8 78.9 14.8 80.9 25.1 82.9 15.1 89.3 15.1 91.4 25.1 93.3 15.1 99.6 15.1" class="b logo-word"/><polygon points="101.1 34.3 101.1 7.3 108 6.2 108 34.3" class="b logo-word"/><path d="M138.6 34.6C134.2 34.6 131 32.9 131 27.6L131 20.6 128.6 20.6 128.6 15.1 131 15.1 131 9.6 137.9 8.5 137.9 15.1 142.4 15.1 142.4 20.6 137.9 20.6 137.9 26.5C137.9 28.1 138.7 28.7 140.2 28.7 140.6 28.7 141.9 28.6 142.4 28.5L142.4 34.1C141.3 34.4 140.3 34.6 138.6 34.6" class="b logo-word"/><path d="M118.8 18.9C117.4 18.9 116.5 20.3 116.4 23.1L121.1 23.1C121.1 20.3 120.2 18.9 118.8 18.9M127.5 26.6L116.6 26.6C116.9 29.1 118.7 29.9 120.9 29.9 122.8 29.9 125.2 29 127.4 27.9L127.4 32.8C125.3 34 122.9 34.7 120 34.7 113.9 34.7 109.7 31.6 109.7 24.8 109.7 18.5 113.6 14.7 119 14.7 121 14.7 123 15.1 124.6 16.5 126.1 17.7 127 19.2 127.4 21.1 127.7 22.7 127.7 24.5 127.5 26.6" class="b logo-word"/><g transform="translate(0 0.053)"><mask fill="currentColor"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#path-1"/></mask><path d="M26 24.7C24.6 24.7 23.3 24.3 22.1 23.6L19.5 26.3C19.3 26.4 19.1 26.5 19 26.5 18.8 26.5 18.6 26.4 18.4 26.3L15.8 23.7C14.7 24.3 13.3 24.7 11.9 24.7 7.6 24.7 4.1 21.2 4.1 16.9 4.1 12.6 7.6 9.1 11.9 9.1 15 9.1 17.7 10.9 19 13.6 20.2 10.9 22.9 9.1 26 9.1 30.3 9.1 33.8 12.6 33.8 16.9 33.8 21.2 30.3 24.7 26 24.7M38 20.4C38 20.3 38 20.3 38 20.3 38.1 20.2 38.1 20.1 38.1 20 38.1 15.4 36.4 11 33.5 7.6L34.8 4.9C34.9 4.7 34.9 4.4 34.7 4.2 34.6 4 34.3 3.9 34.1 3.9L30 4.4C26.8 2.1 23 0.9 19 0.9 15.1 0.9 11.3 2.1 8.1 4.4L4 3.9C3.7 3.9 3.5 4 3.3 4.2 3.2 4.4 3.2 4.7 3.3 4.9L4.6 7.6C1.6 11 0 15.4 0 20 0 20.1 0 20.3 0 20.4L0 20.4C0 20.4 0 20.4 0 20.5L1.4 21.6C3.4 23.5 5.5 25.3 8 27 12.9 30.4 12.8 33.5 12.1 36.2L11.6 37.4 11.6 37.4 11.6 37.5C11.6 37.5 11.6 37.5 11.6 37.5 13.9 38.4 16.4 39 19 39 21.6 39 24.1 38.5 26.3 37.5 26.3 37.5 26.3 37.5 26.3 37.5 26.3 37.5 26.3 37.5 26.3 37.5L25.8 36.2C25.1 33.5 25 30.4 29.9 27 32.4 25.3 34.5 23.5 36.5 21.6 36.5 21.6 37.5 20.7 38 20.4 38 20.4 38 20.4 38 20.4" mask="url(#mask-2)" class="b"/></g><path d="M37.8 22.5L36.1 24C34.5 25.4 32.7 26.8 30.7 28.2 26.7 31 26.6 33.4 27.1 35.6 27.1 35.6 27.3 36.2 27.6 36.9L27.6 36.9C27.6 37 27.7 37 27.7 37 27.7 37 27.7 36.9 27.7 36.9 27.7 36.9 27.7 36.9 27.7 37L27.7 36.9C33.2 34.1 37.1 28.8 37.9 22.5 37.9 22.5 37.8 22.5 37.8 22.5" class="b"/><path d="M10.8 35.6C11.3 33.4 11.2 31 7.2 28.2 5.2 26.8 3.4 25.4 1.8 24L0.2 22.8C1.1 28.9 4.9 34.1 10.2 36.9 10.6 36.2 10.8 35.6 10.8 35.6" class="b"/><path d="M19 24.9L17 22.9C17.8 22.2 18.5 21.3 19 20.3 19.5 21.3 20.1 22.1 21 22.9L19 24.9Z" class="b"/><path d="M15.2 18.3C14.2 19.1 13.1 19.5 11.9 19.5 10.7 19.5 9.6 19.1 8.7 18.3 8.4 18.1 7.9 18.2 7.7 18.5 7.4 18.8 7.5 19.2 7.8 19.5 9 20.4 10.4 20.9 11.9 20.9 13.4 20.9 14.9 20.4 16 19.5 16.4 19.2 16.4 18.8 16.2 18.5 15.9 18.2 15.5 18.1 15.2 18.3M5.6 16.9C5.6 13.4 8.5 10.6 12 10.6 15.3 10.6 18 13.1 18.3 16.3 18.4 16.7 18.4 17.2 18.3 17.6 18 20.8 15.3 23.3 12 23.3 8.5 23.3 5.6 20.5 5.6 16.9" class="b"/><path d="M25.8 36.3C25.8 36.3 25.8 36.3 25.8 36.3 25.8 36.3 25.8 36.3 25.8 36.3" class="b"/><path d="M27.7 37L27.6 36.9C27.7 36.9 27.7 36.9 27.7 37" class="b"/><path d="M10.2 36.9C10.2 36.9 10.2 36.9 10.2 36.9L10.2 36.9Z" class="b"/><path d="M29.2 18.3C28.2 19.1 27.1 19.5 25.9 19.5 24.7 19.5 23.6 19.1 22.7 18.3 22.4 18.1 21.9 18.2 21.7 18.5 21.4 18.8 21.5 19.2 21.8 19.5 23 20.4 24.4 20.9 25.9 20.9 27.4 20.9 28.9 20.4 30 19.5 30.4 19.2 30.4 18.8 30.2 18.5 29.9 18.2 29.5 18.1 29.2 18.3M26.1 10.6C29.6 10.6 32.5 13.4 32.5 16.9 32.5 20.5 29.6 23.3 26.1 23.3 22.8 23.3 20.1 20.8 19.7 17.6 19.7 17.3 19.7 16.8 19.7 16.3 20.1 13.1 22.8 10.6 26.1 10.6" class="b"/></g></g></svg>
|
After Width: | Height: | Size: 4.4 KiB |
BIN
source/images/supported_brands/ps4.png
Normal file
BIN
source/images/supported_brands/ps4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
BIN
source/images/supported_brands/reddit.png
Normal file
BIN
source/images/supported_brands/reddit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
BIN
source/images/supported_brands/ubee.png
Normal file
BIN
source/images/supported_brands/ubee.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.8 KiB |
Loading…
x
Reference in New Issue
Block a user