Merge branch 'rc' into current
@ -138,9 +138,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 92
|
||||
current_patch_version: 2
|
||||
date_released: 2019-05-02
|
||||
current_minor_version: 93
|
||||
current_patch_version: 0
|
||||
date_released: 2019-05-16
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -14,6 +14,7 @@ ha_category:
|
||||
- Light
|
||||
- Sensor
|
||||
- Switch
|
||||
- Cover
|
||||
ha_release: "0.60"
|
||||
ha_iot_class: Local Push
|
||||
redirect_from:
|
||||
@ -31,6 +32,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- [Light](#light)
|
||||
- [Sensor](#sensor)
|
||||
- [Switch](#switch)
|
||||
- [Cover](#cover)
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -80,7 +82,7 @@ Service parameters:
|
||||
|
||||
The `ads` binary sensor platform can be used to monitor a boolean value on your ADS device.
|
||||
|
||||
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`
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
@ -109,7 +111,7 @@ device_class:
|
||||
|
||||
The `ads` light platform allows you to control your connecte ADS lights.
|
||||
|
||||
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`
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
@ -128,7 +130,7 @@ adsvar:
|
||||
adsvar_brightness:
|
||||
required: false
|
||||
description: The name of the variable that controls the brightness, use an unsigned integer on the PLC side
|
||||
type: integer
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: An identifier for the Light in the frontend
|
||||
@ -139,7 +141,7 @@ name:
|
||||
|
||||
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`
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
@ -178,7 +180,7 @@ The *factor* can be used to implement fixed decimals. E.g., set *factor* to 100
|
||||
|
||||
The `ads` switch platform accesses a boolean variable on the connected ADS device. The variable is identified by its name.
|
||||
|
||||
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`
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
@ -198,3 +200,56 @@ name:
|
||||
description: An identifier for the switch in the frontend.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Cover %}
|
||||
|
||||
The `ads` cover platform allows you to control your connected ADS covers.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: ads
|
||||
name: Curtain master bed room
|
||||
adsvar_open: covers.master_bed_room_open
|
||||
adsvar_close: covers.master_bed_room_close
|
||||
adsvar_stop: covers.master_bed_room_stop
|
||||
device_class: curtain
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
adsvar:
|
||||
required: true
|
||||
description: The name of the boolean variable that returns the current status of the cover (`True` = closed)
|
||||
type: string
|
||||
adsvar_position:
|
||||
required: false
|
||||
description: The name of the variable that returns the current cover position, use a byte variable on the PLC side
|
||||
type: string
|
||||
adsvar_set_position:
|
||||
required: false
|
||||
description: The name of the variable that sets the new cover position, use a byte variable on the PLC side
|
||||
type: string
|
||||
adsvar_open:
|
||||
required: false
|
||||
description: The name of the boolean variable that triggers the cover to open
|
||||
type: string
|
||||
adsvar_close:
|
||||
required: false
|
||||
description: The name of the boolean variable that triggers the cover to close
|
||||
type: string
|
||||
adsvar_stop:
|
||||
required: false
|
||||
description: The name of the boolean variable that triggers the cover to stop
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: An identifier for the Cover in the frontend
|
||||
type: string
|
||||
device_class:
|
||||
required: false
|
||||
description: Sets the class of the device, changing the device state and icon that is displayed on the UI (awning, blind, curtain, damper, door, garage, shade, shutter, window)
|
||||
type: device_class
|
||||
{% endconfiguration %}
|
||||
|
@ -123,6 +123,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
device:
|
||||
description: 'Information about the device this alarm panel is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
||||
required: false
|
||||
|
71
source/_components/ambiclimate.markdown
Normal file
@ -0,0 +1,71 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ambiclimate A/C controller"
|
||||
description: "Instructions on how to integrate Ambiclimate A/C controller into Home Assistant."
|
||||
date: 2019-02-21 15:00 +0200
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ambiclimate.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.93
|
||||
ha_iot_class: Cloud Polling
|
||||
---
|
||||
|
||||
Integrates [Ambiclimate](https://Ambiclimate.com) Air Conditioning controller into Home Assistant.
|
||||
|
||||
You must create an application [here](https://api.ambiclimate.com/clients) to obtain a `client_id` and `client_secret`.
|
||||
The `callback url` should be configured as your Home Assistant `base_url` + `/api/ambiclimate`, e.g. `https://example.com/api/ambiclimate`.
|
||||
|
||||
To enable this platform, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
ambiclimate:
|
||||
client_id: CLIENT_ID
|
||||
client_secret: CLIENT_SECRET
|
||||
```
|
||||
|
||||
Restart Home Assistant. Then, go to the frontend and authorize Ambiclimate.
|
||||
|
||||
{% configuration %}
|
||||
client_id:
|
||||
description: Your Ambiclimate API client ID.
|
||||
required: true
|
||||
type: string
|
||||
client_secret:
|
||||
description: Your Ambiclimate API client secret.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Note that you have to select manual mode from the Ambiclimate app to be able to control the A/C from Home Assistant.
|
||||
|
||||
## {% linkable_title Component services %}
|
||||
|
||||
Enable comfort mode on your AC:
|
||||
|
||||
`climate.set_comfort_mode`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `Name` | yes | String with device name.
|
||||
|
||||
Send feedback for comfort mode:
|
||||
|
||||
`climate.send_comfort_feedback`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `Name` | yes | String with device name.
|
||||
| `value` | yes | Send any of the following comfort values: too_hot, too_warm, bit_warm, comfortable, bit_cold, too_cold, freezing
|
||||
|
||||
Enable temperature mode on your AC:
|
||||
|
||||
`climate.set_temperature_mode`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `Name` | yes | String with device name.
|
||||
| `value` | yes | Target value in celsius
|
@ -29,7 +29,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- Binary Sensor
|
||||
- Camera
|
||||
- Sensor
|
||||
- Switch
|
||||
- Switch (deprecated)
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -128,8 +128,8 @@ sensors:
|
||||
motion_detector:
|
||||
description: >
|
||||
Return `true`/`false` when motion is detected.
|
||||
|
||||
**Note:** This sensor is deprecated and will be removed in a future release.
|
||||
|
||||
**Note:** The motion_detector sensor is deprecated and will be removed in a future release.
|
||||
Use **binary_sensors** option **motion_detected** instead.
|
||||
sdcard:
|
||||
description: Return the SD card usage by reporting the total and used space.
|
||||
@ -139,7 +139,11 @@ sensors:
|
||||
configured for the given camera.
|
||||
switches:
|
||||
description: >
|
||||
Switches to display in the frontend.
|
||||
Switches to display in the frontend.
|
||||
|
||||
**Note:** Switches are deprecated and will be removed in a future release.
|
||||
Use services and attributes instead.
|
||||
|
||||
The following switches can be monitored:
|
||||
required: false
|
||||
type: list
|
||||
@ -163,9 +167,66 @@ Newer Amcrest firmware may not work, then **rtsp** is recommended instead.
|
||||
make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/)
|
||||
documentation to install the `ffmpeg`.
|
||||
|
||||
To check if your Amcrest camera is supported/tested, visit the
|
||||
[supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix)
|
||||
link from the `amcrest` project.
|
||||
## {% linkable_title Services %}
|
||||
|
||||
Once loaded, the `amcrest` component will expose services that can be called to perform various actions. The `entity_id` service attribute can specify one or more specific cameras, or `all` can be used to specify all configured Amcrest cameras.
|
||||
|
||||
Available services:
|
||||
`enable_audio`, `disable_audio`,
|
||||
`enable_motion_recording`, `disable_motion_recording`,
|
||||
`enable_recording`, `disable_recording`,
|
||||
`goto_preset`, `set_color_bw`,
|
||||
`start_tour` and `stop_tour`
|
||||
|
||||
#### {% linkable_title Service `enable_audio`/`disable_audio` %}
|
||||
|
||||
These services enable or disable the camera's audio stream.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
|
||||
#### {% linkable_title Service `enable_motion_recording`/`disable_motion_recording` %}
|
||||
|
||||
These services enable or disable the camera to record a clip to its configured storage location when motion is detected.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
|
||||
#### {% linkable_title Service `enable_recording`/`disable_recording` %}
|
||||
|
||||
These services enable or disable the camera to continuously record to its configured storage location.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
|
||||
#### {% linkable_title Service `goto_preset` %}
|
||||
|
||||
This service will cause the camera to move to one of the PTZ locations configured within the camera.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
`preset` | no | Preset number, starting from 1.
|
||||
|
||||
#### {% linkable_title Service `set_color_bw` %}
|
||||
|
||||
This service will set the color mode of the camera.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
`color_bw` | no | One of `auto`, `bw` or `color`.
|
||||
|
||||
#### {% linkable_title Service `start_tour`/`stop_tour` %}
|
||||
|
||||
These services start or stop the camera's PTZ tour function.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
|
||||
## {% linkable_title Advanced Configuration %}
|
||||
|
||||
@ -181,9 +242,6 @@ amcrest:
|
||||
- motion_detected
|
||||
sensors:
|
||||
- sdcard
|
||||
switches:
|
||||
- motion_detection
|
||||
- motion_recording
|
||||
|
||||
# Add second camera
|
||||
- host: IP_ADDRESS_CAMERA_2
|
||||
|
@ -73,6 +73,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
qos:
|
||||
description: The maximum QoS level to be used when receiving messages.
|
||||
required: false
|
||||
|
@ -1,83 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Netatmo Binary Sensor"
|
||||
description: "Instructions on how to integrate Netatmo binary sensor into Home Assistant."
|
||||
date: 2016-09-19 15:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: netatmo.png
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: 0.31
|
||||
---
|
||||
|
||||
The `netatmo` binary sensor platform is consuming the information provided by a
|
||||
[Netatmo](https://www.netatmo.com) camera.
|
||||
This component allows you to get the latest event seen by the camera.
|
||||
|
||||
### {% linkable_title Basic Configuration %}
|
||||
|
||||
To enable the Netatmo binary sensor, you have to set up
|
||||
[netatmo](/components/netatmo/),
|
||||
this will use discovery to add your binary sensor.
|
||||
|
||||
### {% linkable_title Advanced configuration %}
|
||||
|
||||
If you want to select a specific sensor,
|
||||
set discovery to `false` for [netatmo](/components/netatmo/)
|
||||
and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: netatmo
|
||||
home: home_name
|
||||
timeout: 90
|
||||
cameras:
|
||||
- camera_name1
|
||||
welcome_sensors:
|
||||
- Someone known
|
||||
- Someone unknown
|
||||
- Motion
|
||||
presence_sensors:
|
||||
- Outdoor motion
|
||||
- Outdoor human
|
||||
- Outdoor animal
|
||||
- Outdoor vehicle
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
home:
|
||||
description: Will use the cameras of this home only.
|
||||
required: false
|
||||
type: string
|
||||
timeout:
|
||||
description: >
|
||||
The Welcome/Presence binary sensors will
|
||||
stay on for X seconds after detection.
|
||||
required: false
|
||||
type: integer
|
||||
default: 90
|
||||
cameras:
|
||||
description: List of cameras entity IDs to display.
|
||||
required: false
|
||||
type: list
|
||||
welcome_sensors:
|
||||
description: >
|
||||
List of monitored conditions. Possible values are
|
||||
'Someone known', 'Someone unknown' and 'Motion'.
|
||||
required: false
|
||||
type: list
|
||||
presence_sensors:
|
||||
description: >
|
||||
List of monitored conditions. Possible values are 'Outdoor motion',
|
||||
'Outdoor human', 'Outdoor animal' and 'Outdoor vehicle'.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
If **home** and **cameras** is not provided, all cameras will be used.
|
||||
If multiple cameras are available then each monitored conditions
|
||||
will create a specific sensor for each camera
|
50
source/_components/bizkaibus.markdown
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Bizkaibus next bus tracking sensor"
|
||||
description: "Instructions on how to integrate timetable data for traveling on Bizkaibus within Home Assistant."
|
||||
date: 2019-04-22 14:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bizkaibus.png
|
||||
ha_category:
|
||||
- Transport
|
||||
- Sensor
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.93
|
||||
---
|
||||
|
||||
The `bizkaibus` sensor will give you the time until the next bus in the selected stop.
|
||||
|
||||
The next website can help to determine the id of your bus stop. You can check if this is correct by going to [next link](http://apli.bizkaia.net/APPS/DANOK/TQ/DATOS_PARADAS/DATOS_Paradas.xml) and look the PR_CODE for the STOP_ID.
|
||||
|
||||
For a correct use of the sensor the selected route must stop in the selected stop.
|
||||
|
||||
Then add the data to your `configuration.yaml` file as shown in the example:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: bizkaibus
|
||||
stopid: STOP_ID
|
||||
route: ROUTE_ID
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
stopid:
|
||||
description: The ID of the bus stop to get the information for.
|
||||
required: true
|
||||
type: string
|
||||
route:
|
||||
description: The ID of the bus route to get information for. This is the same as the bus number, e.g., `A3641`.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: A friendly name for this sensor.
|
||||
required: false
|
||||
default: Next Bus
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
The public RTPI information is coming from [Bizkaibus API](http://apli.bizkaia.net/APPS/DANOK/TQWS/TQ.ASMX).
|
@ -1,63 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Netatmo Camera"
|
||||
description: "Instructions on how to integrate Netatmo cameras into Home Assistant."
|
||||
date: 2016-06-02 08:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: netatmo.png
|
||||
ha_category:
|
||||
- Camera
|
||||
ha_release: 0.22
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
||||
The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera.
|
||||
|
||||
### {% linkable_title Basic configuration %}
|
||||
|
||||
To enable the Netatmo camera, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your camera.
|
||||
|
||||
### {% linkable_title Advanced configuration %}
|
||||
|
||||
If you want to select a specific camera, set discovery to False for [netatmo](/components/netatmo/) and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: netatmo
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
home:
|
||||
description: Will display the cameras of this home only.
|
||||
required: false
|
||||
type: string
|
||||
cameras:
|
||||
description: Cameras to use. Multiple entities allowed.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
camera_name:
|
||||
description: Name of the camera to display.
|
||||
quality:
|
||||
description: Quality of the live stream. (`'high'`, `'medium'`, `'low'` or `'poor'`)
|
||||
required: false
|
||||
type: string
|
||||
default: high
|
||||
{% endconfiguration %}
|
||||
|
||||
If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: netatmo
|
||||
home: home_name
|
||||
quality: medium
|
||||
cameras:
|
||||
- camera_name1
|
||||
- camera_name2
|
||||
```
|
@ -232,6 +232,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
device:
|
||||
description: 'Information about the device this HVAC device is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
||||
required: false
|
||||
|
@ -1,62 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Netatmo Thermostat"
|
||||
description: "Instructions on how to integrate Netatmo thermostat into Home Assistant."
|
||||
date: 2016-10-11 08:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: netatmo.png
|
||||
ha_category:
|
||||
- Climate
|
||||
ha_release: 0.31
|
||||
ha_iot_class: Cloud Polling
|
||||
---
|
||||
|
||||
|
||||
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) thermostat. This component allows you to view the current temperature and setpoint.
|
||||
|
||||
To enable the Netatmo thermostat, you first have to set up [netatmo](/components/netatmo/), this will use discovery to add your thermostat.
|
||||
|
||||
If you want to select specific homes or specific rooms, set discovery to False for [netatmo](/components/netatmo/) and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
- platform: netatmo
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
homes:
|
||||
description: Will display the thermostats of the homes listed.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
name:
|
||||
required: true
|
||||
description: The home name.
|
||||
rooms:
|
||||
description: Rooms to be displayed. Multiple entities allowed.
|
||||
required: false
|
||||
type: [list, string]
|
||||
description: List of the names of the rooms to be displayed.
|
||||
{% endconfiguration %}
|
||||
|
||||
If **homes** and **rooms** are not provided, all thermostats will be displayed.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
platform: netatmo
|
||||
homes:
|
||||
- name: home1_name
|
||||
rooms:
|
||||
- room1_name
|
||||
- room2_name
|
||||
- name: home2_name
|
||||
rooms:
|
||||
- room3_name
|
||||
- room4_name
|
||||
- room5_name
|
||||
```
|
@ -54,6 +54,14 @@ counter:
|
||||
required: false
|
||||
type: integer
|
||||
default: 1
|
||||
minimum:
|
||||
description: Minimum value the counter will have
|
||||
required: false
|
||||
type: integer
|
||||
maximum:
|
||||
description: Maximum value the counter will have
|
||||
required: false
|
||||
type: integer
|
||||
icon:
|
||||
description: Icon to display for the counter.
|
||||
required: false
|
||||
@ -96,6 +104,18 @@ With this service the counter is reset to its initial value.
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
|
||||
|
||||
#### {% linkable_title Service `counter.configure` %}
|
||||
|
||||
With this service the properties of the counter can be changed while running.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
|
||||
| `minimum` | yes | Set new value for minimum. None disables minimum. |
|
||||
| `maximum` | yes | Set new value for maximum. None disables maximum. |
|
||||
| `step` | yes | Set new value for step |
|
||||
|
||||
|
||||
|
||||
### {% linkable_title Use the service %}
|
||||
|
||||
@ -106,4 +126,3 @@ Select <img src='/images/screenshots/developer-tool-services-icon.png' alt='serv
|
||||
"entity_id": "counter.my_custom_counter"
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -182,6 +182,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
unique_id:
|
||||
description: An ID that uniquely identifies this cover. If two covers have the same unique ID, Home Assistant will raise an exception.
|
||||
required: false
|
||||
|
@ -68,6 +68,10 @@ cover:
|
||||
description: Defines a template to specify which icon to use.
|
||||
required: false
|
||||
type: template
|
||||
device_class:
|
||||
description: The [type/class](/components/cover/#device-class) of the cover to set the icon in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
open_cover:
|
||||
description: Defines an action to run when the cover is opened. If [`open_cover`](#open_cover) is specified, [`close_cover`](#close_cover) must also be specified. At least one of [`open_cover`](#open_cover) and [`set_cover_position`](#set_cover_position) must be specified.
|
||||
required: inclusive
|
||||
|
@ -65,3 +65,5 @@ The following sensors are supported.
|
||||
The following switches are supported.
|
||||
|
||||
- **Boost:** Switch to manually activate boost.
|
||||
- **Bypass:** Switch to manually activate bypass.
|
||||
- **Automatic bypass:** Switch to enable automatic bypass.
|
||||
|
@ -31,6 +31,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- Fan
|
||||
- Sensor
|
||||
- Vacuum
|
||||
- Air Quality
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -158,9 +159,22 @@ There are several attributes which can be used for automations and templates.
|
||||
|
||||
## {% linkable_title Sensor %}
|
||||
|
||||
The `dyson` sensor platform allows you to control your Dyson Purifier's filter life time.
|
||||
The `dyson` sensor platform provides temperature and humidity sensors.
|
||||
|
||||
## {% linkable_title Air Quality %}
|
||||
|
||||
The `dyson` air quality platform provides the following levels:
|
||||
|
||||
- Particulate matter 2.5 (<= 2.5 μm) level.
|
||||
- Particulate matter 10 (<= 10 μm) level.
|
||||
- Air Quality Index (AQI).
|
||||
- NO2 (nitrogen dioxide) level.
|
||||
- VOC (Volatile organic compounds) level.
|
||||
|
||||
Note: currently only the 2018 dyson fans are supported(TP04 and DP04).
|
||||
|
||||
### {% linkable_title Supported fan devices %}
|
||||
|
||||
- Pure Cool link (desk and tower)
|
||||
- Pure Hot+cool link (see climate part) for thermal control
|
||||
- Pure Cool 2018 Models (TP04 and DP04)
|
@ -29,19 +29,29 @@ The `enocean` component adds support for some of these devices. You will need a
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- Binary Sensor (wall switches)
|
||||
- Sensor (power meters)
|
||||
- Light (dimmers)
|
||||
- Switch
|
||||
- [Binary Sensor](#binary-sensor) - Wall switches
|
||||
- [Sensor](#sensor) - Power meters, temperature sensors and humidity sensors
|
||||
- [Light](#light) - Dimmers
|
||||
- [Switch](#switch)
|
||||
|
||||
However, only a few devices have been confirmed to work. These are:
|
||||
However, due to the wide range of message types, not all devices will work without code changes.
|
||||
The following devices have been confirmed to work out of the box:
|
||||
|
||||
- Eltako FUD61 dimmer
|
||||
- Eltako FT55 battery-less wall switch
|
||||
- Jung ENOA590WW battery-less wall switch
|
||||
- Omnio WS-CH-102-L-rw battery-less wall switch
|
||||
- Permundo PSC234 (switch and power monitor)
|
||||
- EnOcean STM-330 temperature sensor
|
||||
|
||||
Other devices will most likely need some changes in the Home Assistant code in order to work. Support for teaching of devices is also missing at this time.
|
||||
|
||||
If you own a device not listed here, please check whether your device can talk in one of the listed [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) (EEP).
|
||||
If it does, it will most likely work.
|
||||
The available profiles are usually listed somewhere in the device manual.
|
||||
|
||||
Support for tech-in messages is not implemented.
|
||||
|
||||
## {% linkable_title Hub %}
|
||||
|
||||
To integrate an EnOcean controller with Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
@ -65,12 +75,14 @@ Tested with:
|
||||
|
||||
- Eltako FT55 which uses the EnOcean PTM 215 module
|
||||
- [TRIO2SYS Wall switches](http://www.trio2sys.fr/index.php/fr/produits-enocean-sans-fil-sans-pile-interoperable/emetteur-sans-fils-sans-pile-interoperable-enocean) which uses the EnOcean PTM210 DB module
|
||||
- Omnio WS-CH-102
|
||||
|
||||
All switches using theses modules are expected to work. Other devices will most likely not work without changing the Home Assistant code.
|
||||
The following [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) are supported:
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
- F6-02-01 (Light and Blind Control - Application Style 2)
|
||||
- F6-02-02 (Light and Blind Control - Application Style 1)
|
||||
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file:
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](#hub) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -95,7 +107,7 @@ device_class:
|
||||
type: device_class
|
||||
{% endconfiguration %}
|
||||
|
||||
EnOcean binary sensors only generate 'button_pressed' events. The event data has following four fields:
|
||||
EnOcean binary sensors have no state, they only generate 'button_pressed' events. The event data has following fields:
|
||||
|
||||
- **id**: The ID of the device (see configuration).
|
||||
- **pushed**: `1` for a button press, `0` for a button release.
|
||||
@ -126,7 +138,7 @@ automation:
|
||||
|
||||
An EnOcean light can take many forms. Currently only one type has been tested: Eltako FUD61 dimmer.
|
||||
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file:
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](#hub) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -154,35 +166,154 @@ name:
|
||||
|
||||
## {% linkable_title Sensor %}
|
||||
|
||||
The `enocean` sensor platform currently only allows reading out the power measured in a Permundo PSC234 switch.
|
||||
The EnOcean sensor platform currently supports the following device types:
|
||||
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](../enocean) and then add the following to your `configuration.yaml` file:
|
||||
* [power sensor](#power-sensor)
|
||||
* [humidity sensor](#humidity-sensor)
|
||||
* [temperature sensor](#temperature-sensor)
|
||||
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](#hub) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: enocean
|
||||
name: Television
|
||||
- name: Television
|
||||
platform: enocean
|
||||
id: [0x01,0x90,0x84,0x3C]
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
id:
|
||||
description: The ID of the device. This is a 4 bytes long number.
|
||||
description: The ID of the device. This is the 4 bytes long identifier of your device.
|
||||
required: true
|
||||
type: list
|
||||
name:
|
||||
description: An identifier for the switch
|
||||
required: true
|
||||
default: EnOcean sensor
|
||||
description: An identifier for the sensor in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: EnOcean sensor
|
||||
device_class:
|
||||
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
|
||||
required: false
|
||||
type: device_class
|
||||
default: powersensor
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
### {% linkable_title Power sensor %}
|
||||
|
||||
This has been tested with a Permundo PSC234 switch, but any device sending EEP **A5-12-01** messages will work.
|
||||
|
||||
Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- name: Television
|
||||
platform: enocean
|
||||
id: [0x01,0x90,0x84,0x3C]
|
||||
device_class: powersensor
|
||||
```
|
||||
|
||||
|
||||
### {% linkable_title Humidity sensor %}
|
||||
|
||||
The following [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) are supported:
|
||||
|
||||
- Any profile that contains the humidity value at position **DB2.7** to **DB2.0**
|
||||
- **A5-04-01** - Temp. and Humidity Sensor, Range 0°C to +40°C and 0% to 100%
|
||||
- **A5-04-02** - Temp. and Humidity Sensor, Range -20°C to +60°C and 0% to 100%
|
||||
- **A5-10-10** to **A5-10-14** - Room Operating Panels
|
||||
|
||||
Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- name: Bathroom
|
||||
platform: enocean
|
||||
id: [0x01,0x90,0x84,0x3C]
|
||||
device_class: humidity
|
||||
```
|
||||
|
||||
### {% linkable_title Temperature sensor %}
|
||||
|
||||
This sensor has been tested with a generic STM-330 sensor, which is used in most indoor temperature sensor devices.
|
||||
|
||||
The following [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) are supported:
|
||||
|
||||
- Any profile that contains an 8-bit temperature at position DB1.7 to DB1.0. 10-bit is not supported.
|
||||
- **A5-02-01** to **A5-02-1B** - Temperature Sensor with various temperature ranges
|
||||
- **A5-10-01** to **A5-10-14** - Room Operating Panels
|
||||
- **A5-04-01** - Temp. and Humidity Sensor, Range 0°C to +40°C and 0% to 100%
|
||||
- **A5-04-02** - Temp. and Humidity Sensor, Range -20°C to +60°C and 0% to 100%
|
||||
- **A5-10-10** - Temp. and Humidity Sensor and Set Point
|
||||
- **A5-10-12** - Temp. and Humidity Sensor, Set Point and Occupancy Control
|
||||
|
||||
Check the manual of your temperature sensor to figure out what EEP it uses.
|
||||
If you do not know, make an educated guess and check the reported values. It's easiest to validate the temperature at the boundaries of the range, so maybe put the sensor into the fridge for a while.
|
||||
|
||||
Add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- name: Living Room
|
||||
platform: enocean
|
||||
id: [0x01,0x90,0x84,0x3C]
|
||||
device_class: temperature
|
||||
```
|
||||
|
||||
The temperature sensor supports these additional configuration properties.
|
||||
|
||||
{% configuration %}
|
||||
temp_min:
|
||||
description: The minimal temperature in °C your sensor supports.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
temp_max:
|
||||
description: The maximum temperature in °C your sensor supports.
|
||||
required: false
|
||||
type: integer
|
||||
default: 40
|
||||
range_min:
|
||||
description: The range value your sensor reports for `temp_min`
|
||||
required: false
|
||||
type: integer
|
||||
default: 255
|
||||
range_max:
|
||||
description: The range value your sensor reports for `temp_max`
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
{% endconfiguration %}
|
||||
|
||||
Note that the default configuration values of _range_min_ and _range_max_ are not typos, the range is backwards for most sensors.
|
||||
However, some EEPs have a different, inverted range, which goes from 0 to 250. This includes the following EEPs:
|
||||
|
||||
- **A5-04-01**
|
||||
- **A5-04-02**
|
||||
- **A5-10-10** to **A5-10-14**
|
||||
|
||||
Adapt the `configuration.yaml` for those sensors:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for EEP A5-10-10
|
||||
sensor:
|
||||
- name: Living Room
|
||||
platform: enocean
|
||||
id: [0x01,0x90,0x84,0x3C]
|
||||
device_class: temperature
|
||||
range_min: 0
|
||||
range_max: 250
|
||||
```
|
||||
|
||||
## {% linkable_title Switch %}
|
||||
|
||||
An EnOcean switch can take many forms. Currently, only a few types have been tested: Permundo PSC234 and Nod On SIN-2-1-01.
|
||||
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file:
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](#hub) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -26,6 +26,7 @@ sensor:
|
||||
host: IP_ADDRESS
|
||||
monitored_conditions:
|
||||
- black
|
||||
- photoblack
|
||||
- yellow
|
||||
- magenta
|
||||
- cyan
|
||||
@ -44,6 +45,8 @@ monitored_conditions:
|
||||
keys:
|
||||
black:
|
||||
description: The black ink cartridge
|
||||
photoblack:
|
||||
description: The photo black ink cartridge (not supported by all printers).
|
||||
yellow:
|
||||
description: The yellow ink cartridge.
|
||||
magenta:
|
||||
@ -56,11 +59,14 @@ monitored_conditions:
|
||||
|
||||
Supported devices:
|
||||
|
||||
- Epson Workforce printers who publish a HTTP page containing the ink cardridge levels
|
||||
- Epson Workforce (and some EcoTank) printers who publish a HTTP page containing the ink cardridge levels
|
||||
|
||||
Tested devices:
|
||||
|
||||
- Epson WF3540
|
||||
- Epson WF3620
|
||||
- Epson WF3640
|
||||
- Epson EcoTank ET-77x0
|
||||
|
||||
To make this module work you need to connect your printer to your LAN.
|
||||
The best is to navigate to the IP of the printer to check if it shows a status page.
|
||||
The best is to navigate to the status page of the printer to check if it shows the page with the ink levels on the URL http://<IP_ADDRESS>/PRESENTATION/HTML/TOP/PRTINFO.HTML
|
||||
|
40
source/_components/essent.markdown
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Essent"
|
||||
description: "Instructions on how to integrate Essent within Home Assistant."
|
||||
date: 2019-04-29 19:15
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: essent.png
|
||||
ha_category:
|
||||
- Energy
|
||||
- Sensor
|
||||
ha_release: 0.93
|
||||
ha_iot_class: Cloud Polling
|
||||
---
|
||||
|
||||
The `essent` platform uses [PyEssent](https://github.com/TheLastProject/PyEssent/) to communicate with the (undocumented) API of Dutch energy provider Essent. It provides sensors for each of your meters and tariffs, updated daily.
|
||||
|
||||
To add Essent to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: essent
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
required: true
|
||||
description: Your username for [Mijn Essent](https://www.essent.nl/content/particulier/klantenservice/mijn_essent/).
|
||||
type: string
|
||||
password:
|
||||
required: true
|
||||
description: Your password for [Mijn Essent](https://www.essent.nl/content/particulier/klantenservice/mijn_essent/).
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -147,6 +147,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
unique_id:
|
||||
description: An ID that uniquely identifies this fan. If two fans have the same unique ID, Home Assistant will raise an exception.
|
||||
required: false
|
||||
|
@ -10,40 +10,73 @@ footer: true
|
||||
logo: geniushub.png
|
||||
ha_category:
|
||||
- Climate
|
||||
- Water heater
|
||||
ha_release: 0.92
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
||||
The `geniushub` integration links Home Assistant with your Genius Hub for controlling climate devices (the hub does not have to be in the same network as HA).
|
||||
The `geniushub` integration links Home Assistant with your Genius Hub (the hub does not have to be in the same network as HA).
|
||||
|
||||
Each Zone controlled by your Genius hub will report back the state, mode, setpoint and temperature. Other properties are available via the device's attributes.
|
||||
Currently only **Radiator** and **Hot Water Temperature** zones are supported. Within HA, each **Radiator** zone will appear as a `Climate` device, and each **Hot Water Temperature** zone will appear as a `WaterHeater` device.
|
||||
|
||||
There are two distinct options for accessing a Genius Hub:
|
||||
The device's `operating_mode` can be set to one of `off`, `timer`, `on` (i.e. **Override** mode) or `eco`. The `eco` mode is a proxy for the **Footprint** mode and so is only available to **Radiator** zones that have room sensors.
|
||||
|
||||
### {% linkable_title Option 1: hub token only %}
|
||||
Other properties are available via the device's state attributes, which includes a JSON data structure called `status`. For example, in the case of **Radiator** zones/`Climate` devices:
|
||||
|
||||
- requires a **hub token** obtained from [https://my.geniushub.co.uk/tokens](https://my.geniushub.co.uk/tokens)
|
||||
- uses the v1 API - which is well-documented
|
||||
- polls Heat Genius' own servers (so is slower, say 10-20s response time)
|
||||
```json
|
||||
{
|
||||
"status": {
|
||||
"type": "radiator",
|
||||
"temperature": 19,
|
||||
"occupied": False,
|
||||
"override": {
|
||||
"duration": 0,
|
||||
"setpoint": 16
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
### {% linkable_title Option 2: hub hostname/address with user credentials %}
|
||||
```
|
||||
|
||||
- requires your **username** & **password**, as used with [https://www.geniushub.co.uk/app](https://www.geniushub.co.uk/app)
|
||||
- uses the v3 API - results are WIP and may not be what you expect
|
||||
- polls the hub directly (so is faster, say 1s response time)
|
||||
This data can be accessed in automations, etc. via a value template. For example:
|
||||
|
||||
{% raw %}
|
||||
```
|
||||
value_template: "{{ state_attr('water_heater.boiler_h_w', 'status').override.setpoint }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
In the specific case of **Radiator** zones with room sensors:
|
||||
|
||||
{% raw %}
|
||||
```
|
||||
value_template: "{{ state_attr('climate.main_room', 'status').occupied }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Currently, there is no support for modifying schedules and neither do they appear in the state attributes.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To add your Genius Hub into your Home Assistant installation, add one of the following to your `configuration.yaml` file.
|
||||
|
||||
If you want to poll Heat Genius' own servers:
|
||||
### {% linkable_title Option 1: hub token only %}
|
||||
|
||||
- requires a **hub token** obtained from [my.geniushub.co.uk/tokens](https://my.geniushub.co.uk/tokens)
|
||||
- uses the v1 API - which is well-documented
|
||||
- polls Heat Genius' own servers (so is slower, say 5-10s response time)
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry, using a Hub Token
|
||||
geniushub:
|
||||
token: GENIUS_HUB_TOKEN
|
||||
```
|
||||
Alternatively, if you want to poll the hub directly:
|
||||
|
||||
### {% linkable_title Option 2: hub hostname/address with user credentials %}
|
||||
|
||||
- requires your **username** & **password**, as used with [www.geniushub.co.uk/app](https://www.geniushub.co.uk/app)
|
||||
- uses the v3 API - results are WIP and may not be what you expect
|
||||
- polls the hub directly (so is faster, say 1s response time)
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry, directly polling the Hub
|
||||
@ -71,5 +104,5 @@ username:
|
||||
password:
|
||||
description: Your Genius Hub password
|
||||
required: false
|
||||
type: integer
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -198,6 +198,12 @@ Currently, the following domains are available to be used with Google Assistant,
|
||||
The domain groups contains groups containing all items, by example group.all_automations. When telling Google Assistant to shut down everything, this will lead in this example to disabling all automations
|
||||
</p>
|
||||
|
||||
### {% linkable_title Secure Devices %}
|
||||
|
||||
Certain devices are considered secure, including anything in the `lock` domain, and `covers` with device types `garage` and `door`.
|
||||
|
||||
By default these cannot be opened by Google Assistant unless a `secure_devices_pin` is set up. To allow opening, set the `secure_devices_pin` to something and you will be prompted to speak the pin when opening the device. Closing and locking these devices does not require a pin.
|
||||
|
||||
### {% linkable_title Media Player Sources %}
|
||||
|
||||
Media Player sources are sent via the Modes trait in Google Assistant.
|
||||
|
@ -22,7 +22,6 @@ The HEOS integration adds support for [HEOS](http://heosbydenon.denon.com) capab
|
||||
- Clear playlist
|
||||
- Select source from device physical inputs and HEOS favorites
|
||||
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
HEOS devices are discovered and setup automatically when the [discovery](/components/discovery) component is enabled. Alternatively, the component can be setup through the frontend control panel integrations page or manually by adding the following to your `configuration.yaml` file:
|
||||
@ -44,13 +43,110 @@ host:
|
||||
A connection to a single device enables control for all devices on the network. If you have multiple HEOS devices, enter the host of one that is connected to the LAN via wire or has the strongest wireless signal.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
### {% linkable_title Service `heos.sign_in` %}
|
||||
|
||||
Use the sign-in service to sign the connected controller into a HEOS account so that it can retreive and play HEOS favorites and playlists. An error message is logged if sign-in is unsuccessful. Example service data payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"username": "example@example.com",
|
||||
"password": "password"
|
||||
}
|
||||
```
|
||||
|
||||
| Attribute | Description
|
||||
| ---------------------- | ---------------------------------------------------------|
|
||||
| `username` | The username or email of the HEOS account. [Required]
|
||||
| `password` | The password of the HEOS account. [Required]
|
||||
|
||||
### {% linkable_title Service `heos.sign_out` %}
|
||||
|
||||
Use the sign-out service to sign the connected controller out of a HEOS account. An error message is logged if sign-out is unsuccessful. There are no parameters to this service.
|
||||
|
||||
### {% linkable_title Service `media_player.play_media` %}
|
||||
|
||||
#### {% linkable_title Play Favorite %}
|
||||
|
||||
You can play a HEOS favorite by number or name with the `media_player.play_media` service. Example service data payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"entity_id": "media_player.office",
|
||||
"media_content_type": "favorite",
|
||||
"media_content_id": "1"
|
||||
}
|
||||
```
|
||||
|
||||
| Attribute | Description
|
||||
| ---------------------- | ---------------------------------------------------------|
|
||||
| `entity_id` | `entity_id` of the player
|
||||
| `media_content_type` | Set to the value `playlist`
|
||||
| `media_content_id` | The nubmer (i.e. `1`) or name (i.e. `Thumbprint Radio`) of the HEOS favorite
|
||||
|
||||
#### {% linkable_title Play Playlist %}
|
||||
|
||||
You can play a HEOS playlist with the `media_player.play_media` service. Example service data payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"entity_id": "media_player.office",
|
||||
"media_content_type": "playlist",
|
||||
"media_content_id": "Awesome Music"
|
||||
}
|
||||
```
|
||||
|
||||
| Attribute | Description
|
||||
| ---------------------- | ---------------------------------------------------------|
|
||||
| `entity_id` | `entity_id` of the player
|
||||
| `media_content_type` | Set to the value `playlist`
|
||||
| `media_content_id` | The name of the HEOS playlist
|
||||
|
||||
#### {% linkable_title Play Quick Select %}
|
||||
|
||||
You can play a HEOS Quick Select by nubmer or name with the `media_player.play_media` service. Example service data payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"entity_id": "media_player.office",
|
||||
"media_content_type": "quick_select",
|
||||
"media_content_id": "1"
|
||||
}
|
||||
```
|
||||
|
||||
| Attribute | Description
|
||||
| ---------------------- | ---------------------------------------------------------|
|
||||
| `entity_id` | `entity_id` of the player
|
||||
| `media_content_type` | Set to the value `quick_select`
|
||||
| `media_content_id` | The quick select number (i.e. `1`) or name (i.e. `Quick Select 1`)
|
||||
|
||||
#### {% linkable_title Play Url %}
|
||||
|
||||
You can play a URL through a HEOS media player using the `media_player.play_media` service. The HEOS player must be able to reach the URL. Example service data payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"entity_id": "media_player.office",
|
||||
"media_content_type": "url",
|
||||
"media_content_id": "http://path.to/stream.mp3"
|
||||
}
|
||||
```
|
||||
|
||||
| Attribute | Description
|
||||
| ---------------------- | ---------------------------------------------------------|
|
||||
| `entity_id` | `entity_id` of the player to play the URL
|
||||
| `media_content_type` | Set to the value `url`
|
||||
| `media_content_id` | The full URL to the stream
|
||||
|
||||
## {% linkable_title Notes %}
|
||||
|
||||
- HEOS groups are not currently supported.
|
||||
- Receivers with multiple zones are represented as a single media player. They will be turned on when playback is started, but cannot be turned off by the integration at this time.
|
||||
|
||||
## {% linkable_title Troubleshooing %}
|
||||
|
||||
## {% linkable_title Debugging %}
|
||||
### {% linkable_title Debugging %}
|
||||
|
||||
The HEOS component will log additional information about commands, events, and other messages when the log level is set to `debug`. Add the the relevent line below to the `configuration.yaml` to enable debug logging:
|
||||
|
||||
@ -60,4 +156,11 @@ logger:
|
||||
logs:
|
||||
homeassistant.components.heos: debug
|
||||
pyheos: debug
|
||||
```
|
||||
```
|
||||
|
||||
### {% linkable_title Missing Favorites %}
|
||||
|
||||
If the HEOS controller is not signed in to a HEOS account, HEOS favorites will not be populated in the media player source selection and the service `media_player.play_media` for `favorite` and `playlist` will fail. Additionally, the following warning will be logged at startup:
|
||||
> IP_ADDRESS is not logged in to a HEOS account and will be unable to retrieve HEOS favorites: Use the 'heos.sign_in' service to sign-in to a HEOS account
|
||||
|
||||
To resolve this issue, use the `heos.sign_out` service to sign the controller into an account as documented above. This only needs to be performed once, as the controller will remain signed in while the account credentails are valid.
|
||||
|
@ -39,6 +39,7 @@ homekit:
|
||||
code: 1234
|
||||
binary_sensor.living_room_motion:
|
||||
linked_battery_sensor: sensor.living_room_motion_battery
|
||||
low_battery_threshold: 31
|
||||
light.kitchen_table:
|
||||
name: Kitchen Table Light
|
||||
lock.front_door:
|
||||
@ -122,6 +123,11 @@ homekit:
|
||||
description: The `entity_id` of a `sensor` entity to use as the battery of the accessory. HomeKit will cache an accessory's feature set on the first run so a device must be removed and then re-added for any change to take effect.
|
||||
required: false
|
||||
type: string
|
||||
low_battery_threshold:
|
||||
description: Minimum battery level before the accessory starts reporting a low battery.
|
||||
required: false
|
||||
type: integer
|
||||
default: 20
|
||||
code:
|
||||
description: Code to `arm / disarm` an alarm or `lock / unlock` a lock. Only applicable for `alarm_control_panel` or `lock` entities.
|
||||
required: false
|
||||
@ -330,12 +336,13 @@ The following components are currently supported:
|
||||
| cover | WindowCovering | All covers that support `set_cover_position`. |
|
||||
| cover | WindowCovering | All covers that support `open_cover` and `close_cover` through value mapping. (`open` -> `>=50`; `close` -> `<50`) |
|
||||
| cover | WindowCovering | All covers that support `open_cover`, `stop_cover` and `close_cover` through value mapping. (`open` -> `>70`; `close` -> `<30`; `stop` -> every value in between) |
|
||||
| device_tracker | Sensor | Support for `occupancy` device class. |
|
||||
| device_tracker / person | Sensor | Support for `occupancy` device class. |
|
||||
| fan | Fan | Support for `on / off`, `direction` and `oscillating`. |
|
||||
| fan | Fan | All fans that support `speed` and `speed_list` through value mapping: `speed_list` is assumed to contain values in ascending order. The numeric ranges of HomeKit map to a corresponding entry of `speed_list`. The first entry of `speed_list` should be equivalent to `off` to match HomeKit's concept of fan speeds. (Example: `speed_list` = [`off`, `low`, `high`]; `off` -> `<= 33`; `low` -> between `33` and `66`; `high` -> `> 66`) |
|
||||
| light | Light | Support for `on / off`, `brightness` and `rgb_color`. |
|
||||
| lock | DoorLock | Support for `lock / unlock`. |
|
||||
| media_player | MediaPlayer | Represented as a series of switches which control `on / off`, `play / pause`, `play / stop`, or `mute` depending on `supported_features` of entity and the `mode` list specified in `entity_config`. |
|
||||
| media_player | TelevisionMediaPlayer | All media players that have `tv` as their `device_class`. Represented as Television and Remote accessories in HomeKit to control `on / off`, `play / pause`, `select source`, or `volume increase / decrease`, depending on `supported_features` of entity. Requires iOS 12.2/macOS 10.14.4 or later. |
|
||||
| sensor | TemperatureSensor | All sensors that have `Celsius` or `Fahrenheit` as their `unit_of_measurement` or `temperature` as their `device_class`. |
|
||||
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. |
|
||||
| sensor | AirQualitySensor | All sensors that have `pm25` as part of their `entity_id` or `pm25` as their `device_class` |
|
||||
@ -452,3 +459,11 @@ To fix this, you need to unpair the `Home Assistant Bridge`, delete the `.homeki
|
||||
#### {% linkable_title The linked battery sensor isn't recognized %}
|
||||
|
||||
Try removing the entity from HomeKit and then adding it again. If you are adding this config option to an existing entity in HomeKit, any changes you make to this entity's config options won't appear until the accessory is removed from HomeKit and then re-added.
|
||||
|
||||
#### {% linkable_title My media player is not showing up as a television accessory %}
|
||||
|
||||
Media Player entities with `device_class: tv` will show up as Television accessories on devices running iOS 12.2/macOS 10.14.4 or later. If needed, try removing the entity from HomeKit and then adding it again, especially if the `media_player` was previously exposed as a series of switches. Any changes, including changed supported features, made to an existing accessory won't appear until the accessory is removed from HomeKit and then re-added.
|
||||
|
||||
#### {% linkable_title Can't control volume of your TV media player? %}
|
||||
|
||||
The volume and play/pause controls will show up on the Remote app or Control Center. If your TV supports volume control through Home Assistant, you will be able to control the volume using the side volume buttons on the device while having the remote selected on screen.
|
||||
|
@ -99,12 +99,11 @@ authtoken:
|
||||
* Water Sensor (*HmIP-SWD*)
|
||||
|
||||
* homematicip_cloud.climate
|
||||
* Heating-Thermostat Radiator with Display (*HmIP-eTRV,-2*) - should also work with (*HmIP-eTRV-2-UK, -B, -B1, -C*)
|
||||
* Climate group (*HmIP-HeatingGroup*)
|
||||
* This includes temperature/humidity measures for climate devices of a room delivered by:
|
||||
* Wall-mounted thermostat (*HmIP-WTH, WTH-2*)
|
||||
* Brand Wall-mounted thermostat (*HmIP-BWTH, BWTH-24*)
|
||||
* Radiator thermostat (*HmIP-eTRV,-2*) - should also work with (*HmIP-eTRV-2-UK, -B, -B1, -C*)
|
||||
* Radiator thermostat (*HmIP-eTRV,-2,-C*) - should also work with (*HmIP-eTRV-2-UK, -B, -B1*)
|
||||
* Temperature and humidity sensor (*HmIP-STH*)
|
||||
* Temperature and humidity Sensor with display (*HmIP-STHD*)
|
||||
|
||||
@ -123,6 +122,7 @@ authtoken:
|
||||
* homematicip_cloud.sensor
|
||||
* Cloud Access point duty-cycle (*HmIP-HAP, -B1*)
|
||||
* Wall Mounted Thermostat Pro with Display (*HmIP-WTH, WTH2*)
|
||||
* Radiator thermostat (*HmIP-eTRV,-2, -C*) - should also work with (*HmIP-eTRV-2-UK, -B, -B1*)
|
||||
* Temperature and Humidity Sensor without display - indoor (*HmIP-STH*)
|
||||
* Temperature and Humidity Sensor with display - indoor (*HmIP-STHD*)
|
||||
* Temperature and Humidity sensor - outdoor (*HmIP-STHO, -A*)
|
||||
|
@ -145,7 +145,7 @@ data:
|
||||
|
||||
#### {% linkable_title Data %}
|
||||
|
||||
Any parameters that you pass in the notify payload that aren't valid for use in the HTML5 notification (`actions`, `badge`, `body`, `dir`, `icon`, `image`, `lang`, `renotify`, `requireInteraction`, `tag`, `timestamp`, `vibrate`) will be sent back to you in the [callback events](#automating-notification-events).
|
||||
Any parameters that you pass in the notify payload that aren't valid for use in the HTML5 notification (`actions`, `badge`, `body`, `dir`, `icon`, `image`, `lang`, `renotify`, `requireInteraction`, `tag`, `timestamp`, `vibrate`, `priority`, `ttl`) will be sent back to you in the [callback events](#automating-notification-events).
|
||||
|
||||
```yaml
|
||||
title: Front door
|
||||
@ -220,6 +220,20 @@ data:
|
||||
|
||||
If no URL or actions are provided, interacting with a notification will open your Home Assistant in the browser. You can use relative URLs to refer to Home Assistant, i.e. `/map` would turn into `https://192.168.1.2:8123/map`.
|
||||
|
||||
#### {% linkable_title TTL and Priority %}
|
||||
|
||||
Newer Android versions introduced stronger battery optimization, so notifications by default are delivered only when phone is awake.
|
||||
Options TTL and priority tries to help users solve those problems. Default value of TTL is `86400s` and priority is `normal`.
|
||||
You can set priority to either `normal` or `high`. TTL is any integer value.
|
||||
|
||||
```yaml
|
||||
title: Front door
|
||||
message: The front door is open
|
||||
data:
|
||||
ttl: 86400
|
||||
priority: high
|
||||
```
|
||||
|
||||
### {% linkable_title Dismiss %}
|
||||
|
||||
You can dismiss notifications by using service notify.html5_dismiss like so:
|
||||
|
55
source/_components/incomfort.markdown
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Intergas InComfort"
|
||||
description: "Instructions on how to integrate an Intergas Lan2RF gateway with Home Assistant."
|
||||
date: 2019-03-03 16:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: incomfort.png
|
||||
ha_category:
|
||||
- Water heater
|
||||
ha_release: 0.93
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
||||
The `incomfort` integration links Home Assistant with your Intergas Lan2RF gateway for controlling water_heater devices (the hub does not have to be in the same network as HA).
|
||||
|
||||
The **Water Heater** device will report back the `state` and `temperature`. Other properties are available via the device's attributes.
|
||||
|
||||
In the future, other entities will be added to this integration (e.g. a **Sensor** for CV pressure, and a **Climate** device for room temperature).
|
||||
|
||||
### {% linkable_title Configuration %}
|
||||
|
||||
To add your Lan2RF gateway into your Home Assistant installation, add one of the following to your `configuration.yaml` file.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry, older firmware with no user credentials
|
||||
incomfort:
|
||||
host: IP_ADDRESS
|
||||
```
|
||||
Alternatively, if a **username** & **password** is printed on the back of the gateway:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry, newer firmware with user credentials
|
||||
incomfort:
|
||||
host: IP_ADDRESS
|
||||
username: USERNAME
|
||||
password: PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The hostname/IP address of the Lan2RF gateway
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The username of the Lan2RF gateway
|
||||
required: inclusive
|
||||
type: string
|
||||
password:
|
||||
description: The password of the Lan2RF gateway
|
||||
required: inclusive
|
||||
type: string
|
||||
{% endconfiguration %}
|
@ -1,24 +1,25 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Pollen.com"
|
||||
description: "Instructions on how to use Pollen.com data within Home Assistant"
|
||||
title: "IQVIA"
|
||||
description: "Instructions on how to use IQVIA data within Home Assistant"
|
||||
date: 2018-01-10 19:20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: pollen.jpg
|
||||
logo: iqvia.png
|
||||
ha_category:
|
||||
- Health
|
||||
ha_release: 0.63
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
- /components/sensor.pollen/
|
||||
- /components/pollen/
|
||||
---
|
||||
|
||||
The `pollen` sensor platform collects and displays allergy, asthma, and disease
|
||||
information (based on a U.S. ZIP code) from
|
||||
[Pollen.com](https://www.pollen.com/). Data measured includes:
|
||||
The `iqvia` sensor platform collects and displays allergy, asthma, and disease
|
||||
information (based on a U.S. ZIP code) from [IQVIA](https://www.iqvia.com/).
|
||||
Data measured includes:
|
||||
|
||||
* Indicies for allergies, asthma and cold/flu indices
|
||||
* Trends
|
||||
@ -27,26 +28,25 @@ information (based on a U.S. ZIP code) from
|
||||
|
||||
## {% linkable_title Configuring the Platform %}
|
||||
|
||||
To integrate `pollen` into Home Assistant, add the following section to your
|
||||
To integrate `iqvia` into Home Assistant, add the following section to your
|
||||
`configuration.yaml` file (adjusting the `monitored_conditions` list to your
|
||||
liking):
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
platform: pollen
|
||||
iqvia:
|
||||
zip_code: "00544"
|
||||
monitored_conditions:
|
||||
- allergy_average_forecasted
|
||||
- allergy_average_historical
|
||||
- allergy_index_today
|
||||
- allergy_index_tomorrow
|
||||
- allergy_index_yesterday
|
||||
- asthma_average_forecasted
|
||||
- asthma_average_historical
|
||||
- asthma_index_today
|
||||
- asthma_index_tomorrow
|
||||
- asthma_index_yesterday
|
||||
- disease_average_forecasted
|
||||
- disease_index_today
|
||||
- disease_index_yesterday
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -70,16 +70,16 @@ ZIP codes that start with 0 will cause errors.
|
||||
The following metrics can be monitored:
|
||||
|
||||
* Allergy Index: Forecasted Average (`allergy_average_forecasted`): the average forecasted allergy index over the next 5 days
|
||||
* Allergy Index: Historical Average (`allergy_average_historical`): the average historical allergy index over the past 30 days
|
||||
* Allergy Index: Today (`allergy_index_today`): the allergy index for today
|
||||
* Allergy Index: Tomorrow (`allergy_index_tomorrow`): the allergy index for tomorrow
|
||||
* Allergy Index: Yesterday (`allergy_index_yesterday`): the allergy index for yesterday
|
||||
* Asthma Index: Forecasted Average (`asthma_average_forecasted`): the average forecasted asthma index over the next 5 days
|
||||
* Asthma Index: Historical Average (`asthma_average_historical`): the average historical asthma index over the past 30 days
|
||||
* Asthma Index: Today (`asthma_index_today`): the asthma index for today
|
||||
* Asthma Index: Tomorrow (`asthma_index_tomorrow`): the asthma index for tomorrow
|
||||
* Asthma Index: Yesterday (`asthma_index_yesterday`): the asthma index for yesterday
|
||||
* Cold & Flu: Forecasted Average (`disease_average_forecasted`): the average forecasted cold/flu index over the next 5 days
|
||||
* Cold & Flu Index: Today (`disease_index_today`): the cold/flu index for today
|
||||
* Cold & Flu Index: Yesterday (`disease_index_yesterday`): the cold/flu index for yesterday
|
||||
|
||||
## {% linkable_title Understanding the Indices %}
|
||||
|
@ -231,6 +231,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
device:
|
||||
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
||||
required: false
|
||||
@ -489,6 +493,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
device:
|
||||
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
||||
required: false
|
||||
@ -760,6 +768,9 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
device:
|
||||
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
|
||||
required: false
|
||||
|
@ -94,6 +94,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
unique_id:
|
||||
description: An ID that uniquely identifies this lock. If two locks have the same unique ID, Home Assistant will raise an exception.
|
||||
required: false
|
||||
|
107
source/_components/meteoalarm.markdown
Normal file
@ -0,0 +1,107 @@
|
||||
---
|
||||
layout: page
|
||||
title: MeteoAlarm Sensor
|
||||
description: "Instructions on how to set up MeteoAlarm binary sensors within Home Assistant."
|
||||
date: 2019-05-03 16:50
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: meteoalarm.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.93
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
||||
The `MeteoAlarm` platform allows one to watch for weather alerts in europe from [MeteoAlarm](https://www.meteoalarm.eu) (EUMETNET). To use this binary sensor, you need the two digits of your country and the province name from [MeteoAlarm](https://www.meteoalarm.eu). Please note that you need to write the exact details from the website with capitals.
|
||||
|
||||
The binary sensor state shows if applicable the warning message. The details are available as attribute.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable this binary sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: meteoalarm
|
||||
country: 'NL'
|
||||
province: 'Groningen'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Binary sensor name
|
||||
required: false
|
||||
default: meteoalarm
|
||||
type: string
|
||||
country:
|
||||
description: The 2 digits of your country
|
||||
required: true
|
||||
type: string
|
||||
province:
|
||||
description: The province
|
||||
required: true
|
||||
type: string
|
||||
language:
|
||||
description: "The 4 digits our your language, please be aware that this is only possible in the current country. So 'ne' is only possible in Netherlands. Possible options is: bu, bs, ce, da, de, ee, en, es, ga, ca, su, fr, gr, he, hr, ma, is, it, li, la, sr, mk, ma, ne, no, po, ro, cp, sv, sl, eu."
|
||||
required: false
|
||||
type: string
|
||||
default: 'en'
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
{% linkable_title Example output %}
|
||||
|
||||
You will find an example below when the state is "on".
|
||||
|
||||
{% raw %}
|
||||
attribution: Information provided by MeteoAlarm
|
||||
language: en-GB
|
||||
category: Met
|
||||
event: Severe forest-fire warning
|
||||
responseType: Monitor
|
||||
urgency: Immediate
|
||||
severity: Severe
|
||||
certainty: Likely
|
||||
effective: 2019-05-02T22:00:00+00:00
|
||||
onset: 2019-05-02T22:00:00+00:00
|
||||
expires: 2019-05-03T21:59:00+00:00
|
||||
senderName: Stig Carlsson
|
||||
headline: Orange forest-fire for Hedmark, Oppland
|
||||
description: High grass and heather fire hazard in areas without snow until significant amount of precipitation.
|
||||
Consequences: Vegetation is very easily ignited and very large areas may be affected.
|
||||
instruction: Be very careful with open fire. Follow the instructions from the local authorities. Emergency services should assess a necessary level of alertness.
|
||||
awareness_level: 3; orange; Severe
|
||||
awareness_type: 8; forest-fire
|
||||
unit_of_measurement:
|
||||
friendly_name: meteoalarm
|
||||
icon: mdi:alert
|
||||
{% endraw %}
|
||||
|
||||
There are a few awareness levels:
|
||||
|
||||
* 2; yellow; Moderate
|
||||
* 3; orange; Severe
|
||||
* 4; red; High
|
||||
|
||||
{% linkable_title Example automation %}
|
||||
|
||||
Below you find an example of an automation.
|
||||
|
||||
{% raw %}
|
||||
automation:
|
||||
- alias: Alert me about weather warnings
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: binary_sensor.meteoalarm
|
||||
from: ‘off’
|
||||
action:
|
||||
- service: notify.notify
|
||||
data_template:
|
||||
title: '{{state_attr('binary_sensor.meteoalarm', 'headline')}}'
|
||||
message: "{{state_attr('binary_sensor.meteoalarm', 'description')}} is effective on {{state_attr('binary_sensor.meteoalarm', 'effective')}}"
|
||||
{% endraw %}
|
||||
|
||||
<p class='note warning'>
|
||||
This component is not affiliated with MeteoAlarm and retrieves data from the website by using the XML feeds. Use it at your own risk.
|
||||
</p>
|
@ -247,7 +247,13 @@ In MySensors version 2.2 the serial API changed from using `I_HEARTBEAT_RESPONSE
|
||||
|
||||
Messages sent to or from Home Assistant from or to a MySensors device will be validated according to the MySensors [serial API](https://www.mysensors.org/download/serial_api_20). If a message doesn't pass validation, it will be dropped and not be passed forward either to or from Home Assistant. Make sure you follow the serial API for your version of MySensors when writing your Arduino sketch.
|
||||
|
||||
If you experience dropped messages or that a device is not added to Home Assistant, please turn on debug logging for the `mysensors` component and the `mysensors` package.
|
||||
The log should warn you of messages that failed validation or if a child value is missing that is required for a certain child type. Home Assistant will log failed validations of child values at warning level if e.g. one required value type for a platform has been received, but other required value types are missing.
|
||||
|
||||
Message validation was introduced in version 0.52 of Home Assistant.
|
||||
|
||||
### {% linkable_title Debug logging %}
|
||||
|
||||
If you experience dropped messages or that a device is not added to Home Assistant, please turn on debug logging for the `mysensors` component and the `mysensors` package. This will help you see what is going on. Make sure you use these logging settings to collect a log sample if you report an issue about the `mysensors` integration in our github issue tracker.
|
||||
```yaml
|
||||
logger:
|
||||
default: info
|
||||
@ -255,9 +261,6 @@ logger:
|
||||
homeassistant.components.mysensors: debug
|
||||
mysensors: debug
|
||||
```
|
||||
The log should inform you of messages that failed validation or if a child value is missing that is required for a certain child type. Note that the log will log all possible combinations of platforms for a child type that failed validation. It is normal to see some platforms fail validation if the child type supports multiple platforms and your sketch doesn't send all corresponding value types. e.g., the `S_BARO` child type supports both `V_PRESSURE` and `V_FORECAST` value types. If you only send a `V_PRESSURE` value, an `S_BARO` entity with `V_PRESSURE` value will be set up for the sensor platform. However, the log will inform of a sensor platform that failed validation due to missing `V_FORECAST` value type for the `S_BARO` child. Home Assistant will log failed validations of child values at warning level if one required value type for a platform has been received, but other required value types are missing. Most failed validations are logged at debug level.
|
||||
|
||||
Message validation was introduced in version 0.52 of Home Assistant.
|
||||
|
||||
|
||||
Visit the [library API][MySensors library api] of MySensors for more information.
|
||||
|
@ -10,12 +10,33 @@ footer: true
|
||||
logo: netatmo.png
|
||||
ha_category:
|
||||
- Hub
|
||||
- Environment
|
||||
- Weather
|
||||
- Binary Sensor
|
||||
- Sensor
|
||||
- Climate
|
||||
- Camera
|
||||
ha_release: "0.20"
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
- /components/binary_sensor.netatmo/
|
||||
- /components/camera.netatmo/
|
||||
- /components/climate.netatmo/
|
||||
- /components/sensor.netatmo/
|
||||
- /components/public_sensor.netatmo/
|
||||
---
|
||||
|
||||
The `netatmo` component platform is the main component to integrate all Netatmo related platforms.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
- [Camera](#camera)
|
||||
- [Climate](#climate)
|
||||
- [Sensor](#sensor)
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable the Netatmo component, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
@ -130,3 +151,309 @@ There are two services to manually add and drop the webhooks. This might be usef
|
||||
| ------- | ----------- |
|
||||
| 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.
|
||||
|
||||
## {% linkable_title Binary Sensor %}
|
||||
|
||||
This component allows you to get the latest event seen by the camera.
|
||||
|
||||
### {% linkable_title Binary Sensor Advanced configuration %}
|
||||
|
||||
If you want to select a specific sensor,
|
||||
set discovery to `false` for [netatmo](/components/netatmo/)
|
||||
and add the following lines to your `configuration.yaml`:
|
||||
|
||||
{% configuration %}
|
||||
home:
|
||||
description: Will use the cameras of this home only.
|
||||
required: false
|
||||
type: string
|
||||
timeout:
|
||||
description: >
|
||||
The Welcome/Presence binary sensors will
|
||||
stay on for X seconds after detection.
|
||||
required: false
|
||||
type: integer
|
||||
default: 90
|
||||
cameras:
|
||||
description: List of cameras entity IDs to display.
|
||||
required: false
|
||||
type: list
|
||||
welcome_sensors:
|
||||
description: >
|
||||
List of monitored conditions. Possible values are
|
||||
'Someone known', 'Someone unknown' and 'Motion'.
|
||||
required: false
|
||||
type: list
|
||||
presence_sensors:
|
||||
description: >
|
||||
List of monitored conditions. Possible values are 'Outdoor motion',
|
||||
'Outdoor human', 'Outdoor animal' and 'Outdoor vehicle'.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: netatmo
|
||||
home: home_name
|
||||
timeout: 90
|
||||
cameras:
|
||||
- camera_name1
|
||||
welcome_sensors:
|
||||
- Someone known
|
||||
- Someone unknown
|
||||
- Motion
|
||||
presence_sensors:
|
||||
- Outdoor motion
|
||||
- Outdoor human
|
||||
- Outdoor animal
|
||||
- Outdoor vehicle
|
||||
```
|
||||
|
||||
If **home** and **cameras** is not provided, all cameras will be used.
|
||||
If multiple cameras are available then each monitored conditions
|
||||
will create a specific sensor for each camera
|
||||
|
||||
## {% linkable_title Camera %}
|
||||
|
||||
The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera.
|
||||
|
||||
### {% linkable_title Camera Advanced configuration %}
|
||||
|
||||
If you want to select a specific camera,
|
||||
set discovery to `false` for [netatmo](/components/netatmo/)
|
||||
and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: netatmo
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
home:
|
||||
description: Will display the cameras of this home only.
|
||||
required: false
|
||||
type: string
|
||||
cameras:
|
||||
description: Cameras to use. Multiple entities allowed.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
camera_name:
|
||||
description: Name of the camera to display.
|
||||
quality:
|
||||
description: Quality of the live stream. (`'high'`, `'medium'`, `'low'` or `'poor'`)
|
||||
required: false
|
||||
type: string
|
||||
default: high
|
||||
{% endconfiguration %}
|
||||
|
||||
If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: netatmo
|
||||
home: home_name
|
||||
quality: medium
|
||||
cameras:
|
||||
- camera_name1
|
||||
- camera_name2
|
||||
```
|
||||
|
||||
## {% linkable_title Climate %}
|
||||
|
||||
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) thermostat. This component allows you to view the current temperature and setpoint.
|
||||
|
||||
### {% linkable_title Camera Advanced configuration %}
|
||||
|
||||
If you want to select specific homes or specific rooms,
|
||||
set discovery to `false` for [netatmo](/components/netatmo/)
|
||||
and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
- platform: netatmo
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
homes:
|
||||
description: Will display the thermostats of the homes listed.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
name:
|
||||
required: true
|
||||
description: The home name.
|
||||
rooms:
|
||||
description: Rooms to be displayed. Multiple entities allowed.
|
||||
required: false
|
||||
type: [list, string]
|
||||
description: List of the names of the rooms to be displayed.
|
||||
{% endconfiguration %}
|
||||
|
||||
If **homes** and **rooms** are not provided, all thermostats will be displayed.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
platform: netatmo
|
||||
homes:
|
||||
- name: home1_name
|
||||
rooms:
|
||||
- room1_name
|
||||
- room2_name
|
||||
- name: home2_name
|
||||
rooms:
|
||||
- room3_name
|
||||
- room4_name
|
||||
- room5_name
|
||||
```
|
||||
|
||||
## {% linkable_title Sensor %}
|
||||
|
||||
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation), a
|
||||
[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) device or the public sensors of others available via the [Netatmo API](https://weathermap.netatmo.com/) even if you don't own a Netatmo device.
|
||||
|
||||
Public sensors have to be set up manually. Currently the following conditions are supported for the public sensors:
|
||||
|
||||
* temperature
|
||||
* pressure
|
||||
* humidity
|
||||
* rain
|
||||
* windstrength
|
||||
* guststrength
|
||||
|
||||
## {% linkable_title Advanced sensor configuration %}
|
||||
|
||||
If you want to select a specific sensor, set discovery to False for [netatmo](/components/netatmo/) and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
# Personal sensors
|
||||
- platform: netatmo
|
||||
station: STATION_NAME
|
||||
modules:
|
||||
module_name1:
|
||||
- temperature
|
||||
module_name2:
|
||||
- temperature
|
||||
- battery_vp
|
||||
|
||||
# Public sensor
|
||||
- platform: netatmo
|
||||
areas:
|
||||
- lat_ne: 40.719
|
||||
lon_ne: -73.735
|
||||
lat_sw: 40.552
|
||||
lon_sw: -74.105
|
||||
monitored_conditions:
|
||||
- temperature
|
||||
- pressure
|
||||
- humidity
|
||||
- rain
|
||||
- windstrength
|
||||
- guststrength
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
station:
|
||||
required: false
|
||||
description: The name of the weather station. Needed if several stations are associated with the account.
|
||||
type: string
|
||||
modules:
|
||||
required: false
|
||||
description: Modules to use. Multiple entries allowed. Please check the next section about how to retrieve the module names.
|
||||
type: list
|
||||
keys:
|
||||
module_name:
|
||||
type: list
|
||||
required: true
|
||||
description: Name of the module.
|
||||
keys:
|
||||
temperature:
|
||||
description: Current temperature.
|
||||
co2:
|
||||
description: CO2 concentration in ppm.
|
||||
pressure:
|
||||
description: Pressure in mbar.
|
||||
noise:
|
||||
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:
|
||||
description: Rainfall in the last hour in mm.
|
||||
sum_rain_24:
|
||||
description: "Rainfall in mm from 00:00am - 23:59pm."
|
||||
windangle:
|
||||
description: Wind angle
|
||||
windstrength:
|
||||
description: Wind strength
|
||||
gustangle:
|
||||
description: Wind gust angle
|
||||
guststrength:
|
||||
description: Wind gust strength
|
||||
min_temp:
|
||||
description: Min temperature for today
|
||||
max_temp:
|
||||
description: Max temperature for today
|
||||
rf_status:
|
||||
description: "Current radio status per module. (90=low, 60=highest)"
|
||||
wifi_status:
|
||||
description: Wifi status per Base station
|
||||
battery_vp:
|
||||
description: Current battery status per module.
|
||||
battery_percent:
|
||||
description: Percentage of battery remaining per module.
|
||||
areas:
|
||||
description: The list contains one or more areas to add as sensors.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
lat_ne:
|
||||
description: Latitude of north-eastern corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lon_ne:
|
||||
description: Longitude of north-eastern corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lat_sw:
|
||||
description: Latitude of south-western corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lon_sw:
|
||||
description: Longitude of south-western corner of area.
|
||||
required: true
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: List of environment conditions to monitor.
|
||||
required: true
|
||||
type: list
|
||||
name:
|
||||
description: Name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
default: Netatmo Public Data
|
||||
mode:
|
||||
description: "How to calculate the value of the sensor if there are multiple stations reporting data. Accepts `max` or `avg`."
|
||||
required: false
|
||||
type: string
|
||||
default: avg
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Find your modules name %}
|
||||
|
||||
You can find your modules name in your [online NetAtmo account](https://my.netatmo.com/app/station). These names can be found and changed in parameters. You have to provide these name in your Home Assistant `configuration.yaml` file.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/netatmo_module.png' />
|
||||
</p>
|
||||
|
@ -1,88 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Netatmo Public"
|
||||
description: "Instructions on how to add sensors using Netatmo public data to Home Assistant."
|
||||
date: 2018-07-22 21:18
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: netatmo.png
|
||||
ha_category:
|
||||
- Environment
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.77
|
||||
redirect_from:
|
||||
- /components/sensor.netatmo_public/
|
||||
---
|
||||
|
||||
The `netatmo_public` sensor allows you to expose data from [Netatmo](https://weathermap.netatmo.com/) to Home Assistant, even if you don't have a Netatmo device yourself. Currently the following conditions are supported:
|
||||
|
||||
* temperature
|
||||
* pressure
|
||||
* humidity
|
||||
* rain
|
||||
* windstrength
|
||||
* guststrength
|
||||
|
||||
To enable the Netatmo sensor, you have to set up [netatmo](/components/netatmo/).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
Next, enable the sensor by adding the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: netatmo_public
|
||||
areas:
|
||||
- lat_ne: 40.719
|
||||
lon_ne: -73.735
|
||||
lat_sw: 40.552
|
||||
lon_sw: -74.105
|
||||
monitored_conditions:
|
||||
- temperature
|
||||
- pressure
|
||||
- humidity
|
||||
- rain
|
||||
- windstrength
|
||||
- guststrength
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
areas:
|
||||
description: The list contains one or more areas to add as sensors.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
lat_ne:
|
||||
description: Latitude of north-eastern corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lon_ne:
|
||||
description: Longitude of north-eastern corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lat_sw:
|
||||
description: Latitude of south-western corner of area.
|
||||
required: true
|
||||
type: string
|
||||
lon_sw:
|
||||
description: Longitude of south-western corner of area.
|
||||
required: true
|
||||
type: string
|
||||
monitored_conditions:
|
||||
description: List of environment conditions to monitor.
|
||||
required: true
|
||||
type: list
|
||||
name:
|
||||
description: Name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
default: Netatmo Public Data
|
||||
mode:
|
||||
description: "How to calculate the value of the sensor if there are multiple stations reporting data. Accepts `max` or `avg`."
|
||||
required: false
|
||||
type: string
|
||||
default: avg
|
||||
{% endconfiguration %}
|
@ -146,15 +146,33 @@ Messages arriving in the modem inbox are sent as events of type `netgear_lte_sms
|
||||
|
||||
## {% linkable_title Services %}
|
||||
|
||||
### {% linkable_title Service `netgear_lte.delete_sms` %}
|
||||
### {% linkable_title Service `netgear_lte.connect_lte` %}
|
||||
|
||||
The integration makes a service call available to delete messages from the modem inbox. This can be used to clean up after incoming SMS events.
|
||||
This service asks the modem to establish its LTE connection, useful if the modem does not autoconnect.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `host` | no | The modem that should have a message deleted.
|
||||
| `host` | yes | The modem that should connect (optional when just one modem is configured).
|
||||
|
||||
### {% linkable_title Service `netgear_lte.delete_sms` %}
|
||||
|
||||
The integration makes a service available to delete messages from the modem inbox. This can be used to clean up after incoming SMS events.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `host` | yes | The modem that should have a message deleted (optional when just one modem is configured).
|
||||
| `sms_id` | no | Integer or list of integers with inbox IDs of messages to delete.
|
||||
|
||||
### {% linkable_title Service `netgear_lte.set_option` %}
|
||||
|
||||
This service can set modem configuration options (otherwise available in the modem web UI).
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `host` | yes | The modem to set options on (optional when just one modem is configured).
|
||||
| `autoconnect` | yes | Autoconnect value: `never`/`home`/`always`, with `home` meaning "not roaming".
|
||||
| `failover` | yes | Failover mode: `wire` (wired connection only), `mobile` (mobile connection only), `auto` (wired connection with failover to mobile connection).
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
The following automation example processes incoming SMS messages with the [Conversation](/components/conversation/) integration and then deletes the message from the inbox.
|
||||
|
58
source/_components/nextbus.markdown
Normal file
@ -0,0 +1,58 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Public Transit (Nextbus)"
|
||||
description: "Instructions on how to use public transit data from Nextbus in Home Assistant."
|
||||
date: 2019-02-20 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: train.png
|
||||
ha_category:
|
||||
- Transport
|
||||
- Sensor
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.93
|
||||
---
|
||||
|
||||
The `nextbus` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from [NextBus](https://www.nextbus.com), which provides real time transit data for a number of transit authorities.
|
||||
|
||||
It is possible to get the tag information from the NextBus website.
|
||||
|
||||
1. Visit https://www.nextbus.com/
|
||||
2. Use the drop downs to select the transit system, route, direction, and stop
|
||||
3. Extract the tags from the URL. It is constructed with the following pattern:
|
||||
|
||||
https://www.nextbus.com/#!/<agency>/<route>/<direction>/<stop>
|
||||
|
||||
If tags are incorrect, valid ones will be displayed in the logs as a
|
||||
convenience.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: nextbus
|
||||
agency: AGENCY_TAG
|
||||
route: ROUTE_TAG
|
||||
stop: STOP_TAG
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
agency:
|
||||
description: The agency tag from NextBus.
|
||||
required: true
|
||||
type: string
|
||||
route:
|
||||
description: The route tag from NextBus.
|
||||
required: true
|
||||
type: string
|
||||
stop:
|
||||
description: The stop tag from NextBus.
|
||||
required: true
|
||||
type: integer
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
default: <Agency> - <Route>
|
||||
type: string
|
||||
{% endconfiguration %}
|
85
source/_components/orangepi_gpio.markdown
Normal file
@ -0,0 +1,85 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Orange Pi GPIO"
|
||||
description: "Instructions on how to integrate the GPIO capability of a Orange Pi into Home Assistant."
|
||||
date: 2019-03-29 19:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category:
|
||||
- DIY
|
||||
- Binary Sensor
|
||||
ha_release: 0.93
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
|
||||
The `orangepi_gpio` component is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding pages.
|
||||
|
||||
## {% linkable_title Binary Sensor %}
|
||||
|
||||
The `orangepi_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your Orange Pi or NanoPi.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use your Orange Pi's GPIO in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: orangepi_gpio
|
||||
pin_mode: pc
|
||||
ports:
|
||||
11: PIR Office
|
||||
12: PIR Bedroom
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
pin_mode:
|
||||
description: Type of pin mode to use. This depends on which device you are actually using ([PIN_MODE](/components/orangepi_gpio#pin_mode)).
|
||||
required: true
|
||||
type: string
|
||||
ports:
|
||||
description: List of used ports.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
"port: name":
|
||||
description: The port numbers (physical pin numbers) and corresponding names.
|
||||
required: true
|
||||
type: string
|
||||
invert_logic:
|
||||
description: If `true`, inverts the output logic to ACTIVE LOW.
|
||||
required: false
|
||||
type: boolean
|
||||
default: "`false` (ACTIVE HIGH)"
|
||||
{% endconfiguration %}
|
||||
|
||||
Compared to the [Raspberry Pi GPIO](/components/rpi_gpio/) component, this component does not support pull-up resistors or port debouncing. Use external pull-ups and external port-debouncing.
|
||||
|
||||
## {% linkable_title Pin_mode %}
|
||||
|
||||
As this platform supports different types of GPIO pinouts for difference Orange Pi or Nano Pi devices, we use the `pin_mode` value to specify which one to use. Enabled values are:
|
||||
|
||||
| Value | Description |
|
||||
| ----- | ----------- |
|
||||
| `pc` | Supports the Orange Pi Lite, One, PC and Prime |
|
||||
| `zeroplus` | Supports the Orange Pi Zero Plus |
|
||||
| `zeroplus2` | Supports the Orange Pi Zero Plus 2 |
|
||||
| `duo` | Supports the NanoPi Duo |
|
||||
| `neocore2` | Supports the NanoPi Neocore 2 |
|
||||
|
||||
## {% linkable_title Additional steps %}
|
||||
This component uses the `SYSFS` filesystem to get control of the GPIOs. Therefore an operatings system with `CONFIG_GPIO_SYSFS` is required. As far as I know, most out-of-the-box distributions still enable this by default.
|
||||
|
||||
As of Linux 4.8 sysfs-gpio is marked as obsolete. However as of today, the alternative GPIO character device is not widely used. Therefore we will use this until the new character device is more widely supported.
|
||||
|
||||
Normally the `/sys/class/gpio` path is owned by root, so Home Assistant does not have access. As we don't want to run Home Assistant as root, we will add the group `gpio` to have control over this path. I will assume you added the `homeassistant` user already to the `gpio` group as recommended in the [Manual installation guide](/docs/installation/raspberry-pi/)
|
||||
|
||||
Create a new file in `/etc/udev/rules.d/` named `10-gpio.rules` with the following contents:
|
||||
|
||||
```
|
||||
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'find -L /sys/class/gpio/ -maxdepth 2 -exec chown root:gpio {} \; -exec chmod 770 {} \; || true'"
|
||||
```
|
||||
|
||||
Home Assistant will now be able to control your GPIO pins.
|
118
source/_components/ptvsd.markdown
Normal file
@ -0,0 +1,118 @@
|
||||
---
|
||||
layout: page
|
||||
title: "PTVSD Debugger (Visual Studio Code)"
|
||||
description: "Debugging from Visual Studio Code."
|
||||
date: 2019-04-24 09:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: visual-studio.png
|
||||
ha_category:
|
||||
- Utility
|
||||
ha_release: 0.93
|
||||
---
|
||||
|
||||
The `ptvsd` component allows you to use the Visual Studio Code PTVSD debugger with Home Assistant.
|
||||
|
||||
This is useful in testing changes on a local development install, or connecting to a production server to debug issues.
|
||||
|
||||
To enable the `ptvsd` component add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
ptvsd:
|
||||
```
|
||||
|
||||
By default this will listen on all local interfaces, on port 5678, and will not wait for a connection.
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The local interface to listen on.
|
||||
required: false
|
||||
default: 0.0.0.0 (all interfaces).
|
||||
type: string
|
||||
port:
|
||||
description: Port to listen on.
|
||||
required: false
|
||||
default: 5678
|
||||
type: port
|
||||
wait:
|
||||
description: If true, wait for the debugger to connect before starting up home assistant.
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Security %}
|
||||
|
||||
Ensure if this is a public-facing server, that the port is secured. Anyone who is able to access the debugger port can *execute arbitary code* on the home assistant server, which is very unsafe.
|
||||
|
||||
If the home assistant server is behind your firewall with only the http(s) port exposed, then this is safe from outside connections.
|
||||
|
||||
Another way of securing the port is to set `host` to localhost and have a secured SSH TCP tunnel with a client certificate for access from the outside internet.
|
||||
|
||||
### {% linkable_title Waiting at startup %}
|
||||
|
||||
If you want to debug something in the boot-up sequence, configure the component to wait for a connection first:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
ptvsd:
|
||||
wait: True
|
||||
```
|
||||
|
||||
The ptvsd debugger is loaded quite early on in the boot-up sequence, before any other components. This will allow you to set breakpoints in `async_setup` or similar and debug the loading of the component.
|
||||
|
||||
### {% linkable_title Alternate host and port %}
|
||||
|
||||
You can also listen on a different server address or port:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
ptvsd:
|
||||
host: localhost
|
||||
port: 6789
|
||||
```
|
||||
|
||||
This is useful for multi-homed servers, or for localhost only access
|
||||
|
||||
### {% linkable_title Example Visual Studio Code configuration %}
|
||||
|
||||
This can be copied into your `launch.json` in the `.vscode` subdirectory in your Visual Studio Code project to connect to the debugger.
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
// Example of attaching to local debug server running on WSL
|
||||
"name": "Python: Attach Local",
|
||||
"type": "python",
|
||||
"request": "attach",
|
||||
"port": 5678,
|
||||
"host": "localhost",
|
||||
"pathMappings": [
|
||||
{
|
||||
"localRoot": "c:\\Users\\Penny\\Documents\\Software\\home-assistant\\",
|
||||
"remoteRoot": "/mnt/c/Users/Penny/Documents/Software/home-assistant"
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
// Example of attaching to my production server
|
||||
"name": "Python: Attach Brontosarus",
|
||||
"type": "python",
|
||||
"request": "attach",
|
||||
"port": 5678,
|
||||
"host": "10.0.0.3", // Within my firewall so I don't need to secure the port.
|
||||
"pathMappings": [
|
||||
{
|
||||
"localRoot": "c:\\Users\\Penny\\Documents\\Software\\home-assistant\\",
|
||||
"remoteRoot": "/usr/src/app" // setup for docker container.
|
||||
}
|
||||
],
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
@ -88,7 +88,7 @@ binary_sensors:
|
||||
description: The conditions to create sensors from.
|
||||
required: false
|
||||
type: list
|
||||
default: all (`extra_water_on_hot_days`, `freeze`, `freeze_protection`, `hourly`, `month`, `raindelay`, `rainsensor`, `weekday`)
|
||||
default: all (`extra_water_on_hot_days`, `flow_sensor`, `freeze`, `freeze_protection`, `hourly`, `month`, `raindelay`, `rainsensor`, `weekday`)
|
||||
sensors:
|
||||
description: Sensor-related configuration options.
|
||||
required: false
|
||||
@ -98,7 +98,7 @@ sensors:
|
||||
description: The conditions to create sensors from.
|
||||
required: false
|
||||
type: list
|
||||
default: all (`freeze_protect_temp`)
|
||||
default: all (`flow_sensor_clicks_cubic_meter`, `flow_sensor_consumed_liters`, `flow_sensor_start_index`, `flow_sensor_watering_clicks`,`freeze_protect_temp`)
|
||||
switches:
|
||||
description: Switch-related configuration options.
|
||||
required: false
|
||||
|
@ -82,6 +82,9 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`."
|
||||
required: false
|
||||
json_attributes:
|
||||
description: (Deprecated, replaced by json_attributes_topic) A list of keys to extract values from a JSON dictionary payload and then set as sensor attributes.
|
||||
required: false
|
||||
@ -150,6 +153,29 @@ sensor:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title JSON attributes template configuration %}
|
||||
|
||||
The example sensor below shows a configuration example which uses a JSON dict: `{"Timer1":{"Arm": <status>, "Time": <time>}, "Timer2":{"Arm": <status>, "Time": <time>}}` on topic `tele/sonoff/sensor` with a template to add `Timer1.Arm` and `Timer1.Time` as extra attributes. Extra attributes will be displayed in the frontend and can also be extracted in [Templates](/docs/configuration/templating/#attributes). For example, to extract the `Arm` attribute from the sensor below, use a template similar to: {% raw %}`{{ state_attr('sensor.timer1', 'Arm') }}`{% endraw %}.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: mqtt
|
||||
name: "Timer 1"
|
||||
state_topic: "tele/sonoff/sensor"
|
||||
value_template: "{{ value_json.Timer1.Arm }}"
|
||||
json_attributes_topic: "tele/sonoff/sensor"
|
||||
json_attributes_template: "{{ value_json.Timer1 | tojson }}"
|
||||
- platform: mqtt
|
||||
name: "Timer 2"
|
||||
state_topic: "tele/sonoff/sensor"
|
||||
value_template: "{{ value_json.Timer2.Arm }}"
|
||||
json_attributes_topic: "tele/sonoff/sensor"
|
||||
json_attributes_template: "{{ value_json.Timer2 | tojson }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title Get battery level %}
|
||||
|
||||
If you are using the [OwnTracks](/components/device_tracker.owntracks/) and enable the reporting of the battery level then you can use a MQTT sensor to keep track of your battery. A regular MQTT message from OwnTracks looks like this:
|
||||
|
@ -1,104 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Netatmo Sensor"
|
||||
description: "Instructions on how to integrate Netatmo sensors into Home Assistant."
|
||||
date: 2016-06-23 11:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: netatmo.png
|
||||
ha_category:
|
||||
- Weather
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.11
|
||||
---
|
||||
|
||||
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) or a
|
||||
[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) devices.
|
||||
|
||||
To enable the Netatmo sensor, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your sensor.
|
||||
|
||||
## {% linkable_title Advanced configuration %}
|
||||
|
||||
If you want to select a specific sensor, set discovery to False for [netatmo](/components/netatmo/) and add the following lines to your `configuration.yaml`:
|
||||
|
||||
The `netatmo` sensor platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) device.
|
||||
|
||||
To enable the Netatmo sensor, you first have to set up [netatmo](/components/netatmo/), and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: netatmo
|
||||
station: STATION_NAME
|
||||
modules:
|
||||
module_name1:
|
||||
- temperature
|
||||
module_name2:
|
||||
- temperature
|
||||
- battery_vp
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
station:
|
||||
required: false
|
||||
description: The name of the weather station. Needed if several stations are associated with the account.
|
||||
type: string
|
||||
modules:
|
||||
required: true
|
||||
description: Modules to use. Multiple entries allowed. Please check the next section about how to retrieve the module names.
|
||||
type: list
|
||||
keys:
|
||||
module_name:
|
||||
type: list
|
||||
required: true
|
||||
description: Name of the module.
|
||||
keys:
|
||||
temperature:
|
||||
description: Current temperature.
|
||||
co2:
|
||||
description: CO2 concentration in ppm.
|
||||
pressure:
|
||||
description: Pressure in mbar.
|
||||
noise:
|
||||
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:
|
||||
description: Rainfall in the last hour in mm.
|
||||
sum_rain_24:
|
||||
description: "Rainfall in mm from 00:00am - 23:59pm."
|
||||
windangle:
|
||||
description: Wind angle
|
||||
windstrength:
|
||||
description: Wind strength
|
||||
gustangle:
|
||||
description: Wind gust angle
|
||||
guststrength:
|
||||
description: Wind gust strength
|
||||
min_temp:
|
||||
description: Min temperature for today
|
||||
max_temp:
|
||||
description: Max temperature for today
|
||||
rf_status:
|
||||
description: "Current radio status per module. (90=low, 60=highest)"
|
||||
wifi_status:
|
||||
description: Wifi status per Base station
|
||||
battery_vp:
|
||||
description: Current battery status per module.
|
||||
battery_percent:
|
||||
description: Percentage of battery remaining per module.
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Find your modules name %}
|
||||
|
||||
You can find your modules name in your [online NetAtmo account](https://my.netatmo.com/app/station). These names can be found and changed in parameters. You have to provide these name in your Home Assistant `configuration.yaml` file.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/screenshots/netatmo_module.png' />
|
||||
</p>
|
@ -178,13 +178,12 @@ For a SmartThings Air Conditioner to be represented by the climate platform, it
|
||||
| Capability |Climate Features
|
||||
|-------------------------------------|--------------------------------------------|
|
||||
| [`airConditionerMode`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Air-Conditioner-Mode) (required) | `operation mode`
|
||||
| [`fanSpeed`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Fan-Speed) (required) | `fan mode`
|
||||
| `airConditionerFanMode` (required) | `fan mode`
|
||||
| [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) (required) | `on/off`
|
||||
| [`temperatureMeasurement`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Temperature-Measurement) (required) | `temperature`
|
||||
| [`thermostatCoolingSetpoint`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Thermostat-Cooling-Setpoint) (required) | `target temp`
|
||||
| [`demandResponseLoadControl`](https://docs.smartthings.com/en/latest/capabilities-reference.html#demand-response-load-control) | `drlc_status_duration` (state attribute), `drlc_status_level` (state attribute), `drlc_status_override` (state attribute), `drlc_status_start` (state attribute)
|
||||
| [`powerConsumptionReport`](https://docs.smartthings.com/en/latest/capabilities-reference.html#power-consumption-report) | `power_consumption_end` (state attribute), `power_consumption_energy` (state attribute), `power_consumption_power` (state attribute), `power_consumption_start` (state attribute)
|
||||
|
||||
|
||||
#### {% linkable_title Thermostats %}
|
||||
|
||||
|
@ -21,7 +21,7 @@ redirect_from:
|
||||
- /components/device_tracker.snmp/
|
||||
---
|
||||
|
||||
A lot of WiFi access points and WiFi routers support the Simple Network Management Protocol (SNMP). This is a standardized method for monitoring/manageing network connected devices. SNMP uses a tree-like hierarchy where each node is an object. Many of these objects contain (live) lists of instances and metrics, like network interfaces, disks, and WiFi registrations.
|
||||
A lot of WiFi access points and WiFi routers support the Simple Network Management Protocol (SNMP). This is a standardized method for monitoring/manageing network connected devices. SNMP uses a tree-like hierarchy where each node is an object. Many of these objects contain (live) lists of instances and metrics, like network interfaces, disks and WiFi registrations.
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
@ -65,7 +65,7 @@ device_tracker:
|
||||
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
|
||||
```
|
||||
|
||||
If you want to use encryption, you must enable SNMP version 3 by adding `authkey` and `privkey` variables and enabling SNMP version 3 on your router. Currently only SHA1 is supported for authentication and AES for encryption. Example of SNMPv3 configuration:
|
||||
If you want to use encryption, you must enable SNMP version 3 by adding `auth_key` and `priv_key` variables and enabling SNMP version 3 on your router. Currently only SHA1 is supported for authentication and AES for encryption. Example of SNMPv3 configuration:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry for SNMP version 3
|
||||
@ -73,8 +73,8 @@ device_tracker:
|
||||
- platform: snmp
|
||||
host: 192.168.1.1
|
||||
community: USERNAME
|
||||
authkey: AUTHPASS
|
||||
privkey: PRIVPASS
|
||||
auth_key: AUTHPASS
|
||||
priv_key: PRIVPASS
|
||||
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
|
||||
```
|
||||
|
||||
@ -91,12 +91,12 @@ baseoid:
|
||||
description: The OID prefix where wireless client registrations can be found, usually vendor specific. It's advised to use the numerical notation. To find this base OID, check vendor documentation or check the MIB file for your device.
|
||||
required: true
|
||||
type: string
|
||||
authkey:
|
||||
description: Authentication key for SNMPv3. Variable privkey must also be set.
|
||||
auth_key:
|
||||
description: A"uthentication key for SNMPv3. Variable `priv_key` must also be set."
|
||||
required: inclusive
|
||||
type: string
|
||||
privkey:
|
||||
description: Privacy key SNMPv3. Variable authkey must also be set.
|
||||
priv_key:
|
||||
description: "Privacy key SNMPv3. Variable `auth_key` must also be set."
|
||||
required: inclusive
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
@ -105,7 +105,7 @@ See the [device tracker component page](/components/device_tracker/) for instruc
|
||||
|
||||
## {% linkable_title Sensor %}
|
||||
|
||||
The `snmp` sensor platform displays information available through the [Simple Network Management Protocol (SNMP)](https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol). SNMP uses a tree-like hierarchy where each node is an object, and is mainly supported by network-oriented devices such as routers, modems, and printers.
|
||||
The `snmp` sensor platform displays information available through the [Simple Network Management Protocol (SNMP)](https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol). SNMP uses a tree-like hierarchy where each node is an object, and is mainly supported by network-oriented devices such as routers, modems and printers.
|
||||
|
||||
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -190,7 +190,7 @@ default_value:
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Valid values for auth_protocol:
|
||||
Valid values for `auth_protocol`:
|
||||
|
||||
- **none**
|
||||
- **hmac-md5**
|
||||
@ -200,7 +200,7 @@ Valid values for auth_protocol:
|
||||
- **hmac256-sha384**
|
||||
- **hmac384-sha512**
|
||||
|
||||
Valid values for priv_protocol:
|
||||
Valid values for `priv_protocol`:
|
||||
|
||||
- **none**
|
||||
- **des**
|
||||
@ -342,7 +342,7 @@ command_payload_off:
|
||||
|
||||
You should check with your device's vendor to find out the correct BaseOID and what values turn the switch on and off.
|
||||
|
||||
Valid values for auth_protocol:
|
||||
Valid values for `auth_protocol`:
|
||||
|
||||
- **none**
|
||||
- **hmac-md5**
|
||||
@ -352,7 +352,7 @@ Valid values for auth_protocol:
|
||||
- **hmac256-sha384**
|
||||
- **hmac384-sha512**
|
||||
|
||||
Valid values for priv_protocol:
|
||||
Valid values for `priv_protocol`:
|
||||
|
||||
- **none**
|
||||
- **des**
|
||||
|
@ -24,7 +24,7 @@ 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 `media_player.sonos_snapshot` %}
|
||||
### {% linkable_title Service `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.
|
||||
|
||||
@ -38,12 +38,12 @@ The queue is not snapshotted and must be left untouched until the restore. Using
|
||||
| `with_group` | yes | Should we also snapshot the group layout and the state of other speakers in the group.
|
||||
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_restore` %}
|
||||
### {% linkable_title Service `sonos.restore` %}
|
||||
|
||||
Restore a previously taken snapshot of one or more speakers. If no `entity_id` is provided, all speakers are restored.
|
||||
|
||||
<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!
|
||||
The playing queue is not snapshotted. Using `sonos.restore` on a speaker that has replaced its queue will restore the playing position, but in the new queue!
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
@ -55,24 +55,24 @@ A cloud queue cannot be restarted. This includes queues started from within Spot
|
||||
| `entity_id` | yes | String or list of `entity_id`s that should have their snapshot restored.
|
||||
| `with_group` | yes | Should we also restore the group layout and the state of other speakers in the group.
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_join` %}
|
||||
### {% linkable_title Service `sonos.join` %}
|
||||
|
||||
Group players together under a single coordinator. This will make a new group or join to an existing group.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `master` | no | A single `entity_id` that will become/stay the coordinator speaker.
|
||||
| `entity_id` | no | String or list of `entity_id`s to join to the master.
|
||||
| `entity_id` | yes | String or list of `entity_id`s to join to the master.
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_unjoin` %}
|
||||
### {% linkable_title Service `sonos.unjoin` %}
|
||||
|
||||
Remove one or more speakers from their group of speakers. If no `entity_id` is provided, all speakers are unjoined.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of `entity_id`s to separate from their coordinator speaker.
|
||||
| `entity_id` | yes | String or list of `entity_id`s to separate from their coordinator speaker.
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_set_sleep_timer` %}
|
||||
### {% linkable_title Service `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.
|
||||
|
||||
@ -81,7 +81,7 @@ Sets a timer that will turn off a speaker by tapering the volume down to 0 after
|
||||
| `entity_id` | no | String or list of `entity_id`s that will have their timers set.
|
||||
| `sleep_time` | no | Integer number of seconds that the speaker should wait until it starts tapering. Cannot exceed 86399 (one day).
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_clear_sleep_timer` %}
|
||||
### {% linkable_title Service `sonos.clear_sleep_timer` %}
|
||||
|
||||
Clear the sleep timer on a speaker, if one is set.
|
||||
|
||||
@ -89,7 +89,7 @@ Clear the sleep timer on a speaker, if one is set.
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of `entity_id`s that will have their timers cleared. Must be a coordinator speaker.
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_update_alarm` %}
|
||||
### {% linkable_title Service `sonos.update_alarm` %}
|
||||
|
||||
Update an existing Sonos alarm.
|
||||
|
||||
@ -102,7 +102,7 @@ Update an existing Sonos alarm.
|
||||
| `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.
|
||||
|
||||
### {% linkable_title Service `media_player.sonos_set_option` %}
|
||||
### {% linkable_title Service `sonos.set_option` %}
|
||||
|
||||
Set Sonos speaker options.
|
||||
|
||||
|
@ -108,6 +108,10 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
device:
|
||||
description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
|
||||
required: false
|
||||
|
70
source/_components/switcher_kis.markdown
Normal file
@ -0,0 +1,70 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Switcher"
|
||||
description: "Controlling your Switcher V2 Water Heater."
|
||||
date: 2018-04-10 17:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: switcher_boiler.png
|
||||
ha_category:
|
||||
- Switch
|
||||
redirect_from:
|
||||
- /components/switch.switcher_kis
|
||||
ha_release: 0.93
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
|
||||
This `Switcher` component allows you to control the [Switcher V2 Water Heater](https://www.switcher.co.il/).
|
||||
|
||||
To enable it, add an entry to your `configuration.yaml` according to the following configuration instructions.
|
||||
|
||||
To retrieve your device's details, please follow the instructions [here](https://github.com/NightRang3r/Switcher-V2-Python).
|
||||
|
||||
<p class='note warning'>
|
||||
Please note, the Switcher-V2-Python script is written in python 2.7 syntax, it won't run with python 3.x.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
Please note, for the Switcher-V2-Python script to run successfully, you need to configure your device to work locally.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
Please note, on the original script repository, users recently reported difficulties controling the device after upgrading the firmware to the new 3.0 version.As this component is based on that script, please do not upgrade to version 3.0 until this issue is resolved. You can follow the issue [here](https://github.com/NightRang3r/Switcher-V2-Python/issues/3).
|
||||
</p>
|
||||
```yaml
|
||||
switcher_kis:
|
||||
phone_id: 'REPLACE_WITH_PHONE_ID'
|
||||
device_id: 'REPLACE_WITH_DEVICE_ID'
|
||||
device_password: 'REPLACE_WITH_DEVICE_PASSWORD'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
phone_id:
|
||||
description: The device's phone id.
|
||||
required: true
|
||||
type: string
|
||||
device_id:
|
||||
description: The device's id.
|
||||
required: true
|
||||
type: string
|
||||
device_password:
|
||||
description: The device's password.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Switch State Attributes %}
|
||||
|
||||
| Attribute | Type | Description | Example |
|
||||
| --------- | ---- | ----------- | ------- |
|
||||
| `friendly_name` | string | Defaults to the device's configured name. | "Switcher Boiler" |
|
||||
| `auto_off_set` | string | The auto shutdown time limit configured on the device. | "01:30:00" |
|
||||
| `remaining_time` | string | Time remaining to shutdown (auto or timer). | "01:29:41" |
|
||||
| `electric_current` | float | The electric current in amps. | 12.5 |
|
||||
| `current_power_w` | integer | The current power used in watts. | 2756 |
|
||||
|
||||
<p class='note warning'>
|
||||
Please note, the following attributes are not eligible when the device is off and therefore will not appear as state attributes: `remaining_time`, `electric_current`, `current_power_w`.
|
||||
</p>
|
@ -36,7 +36,7 @@ Send a notification.
|
||||
| `parse_mode` | yes | Parser for the message text: `html` or `markdown`. |
|
||||
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
|
||||
| `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
|
||||
|
||||
### {% linkable_title Service `telegram_bot.send_photo` and `telegram_bot.send_sticker` %}
|
||||
@ -54,7 +54,7 @@ Send a photo.
|
||||
| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. |
|
||||
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
|
||||
| `verify_ssl` | yes | True/false for checking the SSL certificate of the server for HTTPS URLs. Defaults to True. |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
|
||||
|
||||
### {% linkable_title Service `telegram_bot.send_video` %}
|
||||
@ -72,7 +72,7 @@ Send a video.
|
||||
| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. |
|
||||
| `disable_notification` | yes | True/false to send the message silently. iOS users and web users will not receive a notification. Android users will receive a notification with no sound. Defaults to False. |
|
||||
| `verify_ssl` | yes | True/false for checking the SSL certificate of the server for HTTPS URLs. Defaults to True. |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
|
||||
|
||||
### {% linkable_title Service `telegram_bot.send_document` %}
|
||||
@ -90,7 +90,7 @@ Send a document.
|
||||
| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed chat_id. |
|
||||
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
|
||||
| `verify_ssl` | yes | True/false for checking the SSL certificate of the server for HTTPS URLs. Defaults to True. |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
|
||||
|
||||
### {% linkable_title Service `telegram_bot.send_location` %}
|
||||
@ -103,7 +103,7 @@ Send a location.
|
||||
| `longitude` | no | The longitude to send. |
|
||||
| `target` | yes | An array of pre-authorized chat_ids or user_ids to send the notification to. Defaults to the first allowed `chat_id`. |
|
||||
| `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` |
|
||||
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
|
||||
|
||||
### {% linkable_title Service `telegram_bot.edit_message` %}
|
||||
|
@ -52,6 +52,7 @@ Supported models:
|
||||
- EVW3200-Wifi
|
||||
- EVW320B
|
||||
- EVW32C-0N
|
||||
- EVW3226@UPC
|
||||
|
||||
<p class='note info'>
|
||||
This component uses <a href='https://github.com/mzdrale/pyubee'>pyUbee library</a>, which was tested with models listed above. If you have different model of <a href='http://www.ubeeinteractive.com/products'>Ubee Router</a> and it doesn't work with this component, please <a href='https://github.com/mzdrale/pyubee/issues/new'>create pyUbee issue</a> to request for support for your model.
|
||||
|
@ -14,6 +14,11 @@ ha_release: 0.54
|
||||
---
|
||||
|
||||
The `mqtt` vacuum component allows you to control your MQTT-enabled vacuum.
|
||||
There are 2 possible message schemas - `legacy` and `state`.
|
||||
New installation should use `state` schema as `legacy` is deprecated and might be removed someday in the future.
|
||||
`state` schema is preferred because the vacuum will then be represented as a `StateVacuumDevice` which is preferred parent vacuum entity.
|
||||
|
||||
This documentation has 3 sections. Config for `legacy` vacuum with examples, config for `state` vacuum with examples and shared section with examples which are the same for both schemas.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -25,14 +30,23 @@ vacuum:
|
||||
- platform: mqtt
|
||||
```
|
||||
|
||||
## {% linkable_title Legacy Configuration %}
|
||||
|
||||
Legacy MQTT vacuum configuration section.
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of the vacuum.
|
||||
required: false
|
||||
type: string
|
||||
default: MQTT Vacuum
|
||||
schema:
|
||||
description: The schema to use.
|
||||
required: false
|
||||
type: string
|
||||
default: legacy
|
||||
supported_features:
|
||||
description: "List of features that the vacuum supports (possible values are `turn_on`, `turn_off`, `pause`, `stop`, `return_home`, `battery`, `status`, `locate`, `clean_spot`, `fan_speed`, `send_command`)."
|
||||
description: List of features that the vacuum supports (possible values are `turn_on`, `turn_off`, `pause`, `stop`, `return_home`, `battery`, `status`, `locate`, `clean_spot`, `fan_speed`, `send_command`)."
|
||||
required: false
|
||||
type: string list
|
||||
default: "`turn_on`, `turn_off`, `stop`, `return_home`, `status`, `battery`, `clean_spot`"
|
||||
@ -163,9 +177,13 @@ json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
json_attributes_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-template-configuration) documentation."
|
||||
required: false
|
||||
type: template
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Full configuration example %}
|
||||
### {% linkable_title Legacy configuration example %}
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -208,11 +226,11 @@ vacuum:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title Default MQTT Protocol %}
|
||||
## {% linkable_title Legacy MQTT Protocol %}
|
||||
|
||||
The above configuration for this component expects an MQTT protocol like the following.
|
||||
|
||||
#### {% linkable_title Basic Commands %}
|
||||
### {% linkable_title Legacy Basic Commands %}
|
||||
|
||||
MQTT topic: `vacuum/command`
|
||||
|
||||
@ -226,52 +244,7 @@ Possible MQTT payloads:
|
||||
- `locate` - Locate the vacuum (typically by playing a song)
|
||||
- `start_pause` - Toggle the vacuum between cleaning and stopping
|
||||
|
||||
#### {% linkable_title Set Fan Speed %}
|
||||
|
||||
MQTT topic: `vacuum/set_fan_speed`
|
||||
|
||||
Possible MQTT payloads:
|
||||
|
||||
- `min` - Minimum fan speed
|
||||
- `medium` - Medium fan speed
|
||||
- `high` - High fan speed
|
||||
- `max` - Max fan speed
|
||||
|
||||
#### {% linkable_title Send Custom Command %}
|
||||
|
||||
Vacuum send_command allows three parameters:
|
||||
|
||||
- entity_id
|
||||
- command
|
||||
- params - optional
|
||||
|
||||
If params are not provided it sends command as payload to MQTT send_command topic.
|
||||
If params are provided service sends json as payload with such structure:
|
||||
```
|
||||
{
|
||||
'command': 'command',
|
||||
'param1-key': 'param1-value'
|
||||
}
|
||||
```
|
||||
|
||||
Service trigger example:
|
||||
```
|
||||
- alias: Push command based on sensor
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.sensor
|
||||
action:
|
||||
service: vacuum.send_command
|
||||
data:
|
||||
entity_id: 'vacuum.vacuum_entity'
|
||||
command: 'custom_command'
|
||||
params:
|
||||
- key: value
|
||||
```
|
||||
|
||||
MQTT topic: `vacuum/send_command`
|
||||
|
||||
#### {% linkable_title Status/Sensor Updates %}
|
||||
### {% linkable_title Status/Sensor Updates %}
|
||||
|
||||
MQTT topic: `vacuum/state`
|
||||
|
||||
@ -288,6 +261,270 @@ MQTT payload:
|
||||
}
|
||||
```
|
||||
|
||||
## {% linkable_title State Configuration %}
|
||||
|
||||
State MQTT vacuum configuration section.
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of the vacuum.
|
||||
required: false
|
||||
type: string
|
||||
default: MQTT Vacuum
|
||||
schema:
|
||||
description: The schema to use.
|
||||
required: false
|
||||
type: string
|
||||
default: legacy
|
||||
supported_features:
|
||||
description: "List of features that the vacuum supports (possible values are `start`, `stop`, `pause`, `return_home`, `battery`, `status`, `locate`, `clean_spot`, `fan_speed`, `send_command`)."
|
||||
required: false
|
||||
type: string list
|
||||
default: "`start`, `stop`, `return_home`, `status`, `battery`, `clean_spot`"
|
||||
command_topic:
|
||||
description: The MQTT topic to publish commands to control the vacuum.
|
||||
required: false
|
||||
type: string
|
||||
qos:
|
||||
description: The maximum QoS level of the state topic.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
retain:
|
||||
description: If the published message should have the retain flag on or not.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
payload_start:
|
||||
description: "The payload to send to the `command_topic` to begin the cleaning cycle."
|
||||
required: false
|
||||
type: string
|
||||
default: start
|
||||
payload_stop:
|
||||
description: "The payload to send to the `command_topic` to stop cleaning."
|
||||
required: false
|
||||
type: string
|
||||
default: stop
|
||||
payload_return_to_base:
|
||||
description: The payload to send to the `command_topic` to tell the vacuum to return to base.
|
||||
required: false
|
||||
type: string
|
||||
default: return_to_base
|
||||
payload_clean_spot:
|
||||
description: The payload to send to the `command_topic` to begin a spot cleaning cycle.
|
||||
required: false
|
||||
type: string
|
||||
default: clean_spot
|
||||
payload_locate:
|
||||
description: The payload to send to the `command_topic` to locate the vacuum (typically plays a song).
|
||||
required: false
|
||||
type: string
|
||||
default: locate
|
||||
payload_pause:
|
||||
description: The payload to send to the `command_topic` to pause the vacuum.
|
||||
required: false
|
||||
type: string
|
||||
default: pause
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive state messages from the vacuum. State topic is extracting json if no `value_template` is defined.
|
||||
required: false
|
||||
type: string
|
||||
value_template:
|
||||
description: "Defines a [template](/topics/templating/) to extract possible states from the vacuum."
|
||||
required: false
|
||||
type: string
|
||||
set_fan_speed_topic:
|
||||
description: The MQTT topic to publish commands to control the vacuum's fan speed.
|
||||
required: false
|
||||
type: string
|
||||
fan_speed_list:
|
||||
description: List of possible fan speeds for the vacuum.
|
||||
required: false
|
||||
type: string list
|
||||
send_command_topic:
|
||||
description: The MQTT topic to publish custom commands to the vacuum.
|
||||
required: false
|
||||
type: string
|
||||
availability_topic:
|
||||
description: The MQTT topic subscribed to receive availability (online/offline) updates.
|
||||
required: false
|
||||
type: string
|
||||
payload_available:
|
||||
description: The payload that represents the available state.
|
||||
required: false
|
||||
type: string
|
||||
default: online
|
||||
payload_not_available:
|
||||
description: The payload that represents the unavailable state.
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
json_attributes_topic:
|
||||
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title State configuration example %}
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
vacuum:
|
||||
- platform: mqtt
|
||||
name: "MQTT Vacuum"
|
||||
schema: state
|
||||
supported_features:
|
||||
- start
|
||||
- pause
|
||||
- stop
|
||||
- return_home
|
||||
- battery
|
||||
- status
|
||||
- locate
|
||||
- clean_spot
|
||||
- fan_speed
|
||||
- send_command
|
||||
command_topic: "vacuum/command"
|
||||
state_topic: "vacuum/state"
|
||||
set_fan_speed_topic: "vacuum/set_fan_speed"
|
||||
fan_speed_list:
|
||||
- min
|
||||
- medium
|
||||
- high
|
||||
- max
|
||||
send_command_topic: 'vacuum/send_command'
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## {% linkable_title State MQTT Protocol %}
|
||||
|
||||
The above configuration for this component expects an MQTT protocol like the following.
|
||||
|
||||
### {% linkable_title State Basic Commands %}
|
||||
|
||||
MQTT topic: `vacuum/command`
|
||||
|
||||
Possible MQTT payloads:
|
||||
|
||||
- `start` - Start cleaning
|
||||
- `pause` - Pause cleaning
|
||||
- `return_to_base` - Return to base/dock
|
||||
- `stop` - Stop the vacuum.
|
||||
- `clean_spot` - Initialize a spot cleaning cycle
|
||||
- `locate` - Locate the vacuum (typically by playing a song)
|
||||
|
||||
### {% linkable_title Send Custom Command %}
|
||||
|
||||
Vacuum send_command allows three parameters:
|
||||
|
||||
- entity_id
|
||||
- command
|
||||
- params - optional
|
||||
|
||||
If params are not provided it sends command as payload to MQTT send_command topic.
|
||||
If params are provided service sends json as payload with such structure:
|
||||
|
||||
```
|
||||
{
|
||||
'command': 'command',
|
||||
'param1-key': 'param1-value'
|
||||
}
|
||||
```
|
||||
|
||||
Service trigger example:
|
||||
|
||||
```
|
||||
- alias: Push command based on sensor
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.sensor
|
||||
action:
|
||||
service: vacuum.send_command
|
||||
data:
|
||||
entity_id: 'vacuum.vacuum_entity'
|
||||
command: 'custom_command'
|
||||
params:
|
||||
- key: value
|
||||
```
|
||||
|
||||
MQTT topic: `vacuum/send_command`
|
||||
|
||||
### {% linkable_title Status/Sensor Updates %}
|
||||
|
||||
MQTT topic: `vacuum/state`
|
||||
|
||||
MQTT payload:
|
||||
|
||||
```json
|
||||
{
|
||||
"battery_level": 61,
|
||||
"state": "docked",
|
||||
"fan_speed": "off"
|
||||
}
|
||||
```
|
||||
|
||||
State has to be one of vacuum states supported by Home Assistant:
|
||||
|
||||
- cleaning,
|
||||
- docked,
|
||||
- paused,
|
||||
- idle,
|
||||
- returning,
|
||||
- error.
|
||||
|
||||
## {% linkable_title Shared MQTT Protocol %}
|
||||
|
||||
The configuration for this component expects an MQTT protocol like the following.
|
||||
These services are identical for both - legacy and state vacuum.
|
||||
|
||||
### {% linkable_title Set Fan Speed %}
|
||||
|
||||
MQTT topic: `vacuum/set_fan_speed`
|
||||
|
||||
Possible MQTT payloads:
|
||||
|
||||
- `min` - Minimum fan speed
|
||||
- `medium` - Medium fan speed
|
||||
- `high` - High fan speed
|
||||
- `max` - Max fan speed
|
||||
|
||||
### {% linkable_title Send Custom Command %}
|
||||
|
||||
Vacuum send_command allows three parameters:
|
||||
|
||||
- entity_id
|
||||
- command
|
||||
- params - optional
|
||||
|
||||
If params are not provided it sends command as payload to MQTT send_command topic.
|
||||
If params are provided service sends json as payload with such structure:
|
||||
|
||||
```
|
||||
{
|
||||
'command': 'command',
|
||||
'param1-key': 'param1-value'
|
||||
}
|
||||
```
|
||||
|
||||
Service trigger example:
|
||||
|
||||
```
|
||||
- alias: Push command based on sensor
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.sensor
|
||||
action:
|
||||
service: vacuum.send_command
|
||||
data:
|
||||
entity_id: 'vacuum.vacuum_entity'
|
||||
command: 'custom_command'
|
||||
params:
|
||||
- key: value
|
||||
```
|
||||
|
||||
MQTT topic: `vacuum/send_command`
|
||||
|
||||
### {% linkable_title Usage with cloudless Xiaomi vacuums %}
|
||||
|
||||
This component is supported by the cloud-free Xiaomi Vacuum Webinterface [Valetudo](https://github.com/Hypfer/Valetudo).
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Vizio SmartCast TV"
|
||||
description: "Instructions on how to integrate Vizio SmartCast TV into Home Assistant."
|
||||
title: "Vizio SmartCast Device"
|
||||
description: "Instructions on how to integrate Vizio SmartCast TVs and Sound Bars into Home Assistant."
|
||||
date: 2017-07-10 19:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -16,14 +16,18 @@ redirect_from:
|
||||
- /components/media_player.vizio/
|
||||
---
|
||||
|
||||
The `vizio` component will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs (2016+ models).
|
||||
The `vizio` component will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs and Sound Bars (2016+ models).
|
||||
|
||||
## Pairing
|
||||
|
||||
Before adding your TV to Home Assistant you'll need to pair it manually. To do so follow these steps:
|
||||
## {% linkable_title Find your device %}
|
||||
|
||||
Install the command-line tool using `pip` (or you can choose to download it manually):
|
||||
|
||||
```bash
|
||||
$ pip3 install pyvizio
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
$ pip3 install git+https://github.com/vkorn/pyvizio.git@master
|
||||
```
|
||||
@ -34,18 +38,30 @@ or
|
||||
$ pip3 install -I .
|
||||
```
|
||||
|
||||
Make sure that your TV is on before continuing.
|
||||
|
||||
If you don't know IP address of your TV run following command:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip=0 --auth=0 discover
|
||||
Find your device using the following command:
|
||||
```
|
||||
pyvizio --ip=0 discover
|
||||
```
|
||||
|
||||
and note it's IP address. If using your IP address by itself does not lead to success, you may need to append `:9000` or `:7345` to it when using it as a parameter in future commands.
|
||||
|
||||
## {% linkable_title Pairing %}
|
||||
|
||||
Before adding your device to Home Assistant you may need to pair it manually. For a Sound Bar, it is unclear how the device would notify you of a valid auth token, so it's best to first skip the pairing process entirely, specify a `device_class` of `soundbar` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to get the auth token during this process.
|
||||
|
||||
To obtain an auth token, follow these steps:
|
||||
|
||||
Make sure that your device is on before continuing.
|
||||
|
||||
| Parameter | Description |
|
||||
|:----------------|:---------------------|
|
||||
| `ip` | IP address (possibly including port) obtained from the previous section |
|
||||
| `device_type` | The type of device you are connecting to. Options are `tv` or `soundbar` |
|
||||
|
||||
Enter the following command to initiate pairing:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip={ip} pair
|
||||
$ pyvizio --ip={ip} --device_type={device_type} pair
|
||||
```
|
||||
|
||||
Initiation will show you two different values:
|
||||
@ -58,12 +74,12 @@ Initiation will show you two different values:
|
||||
Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
|
||||
|
||||
```bash
|
||||
$ pyvizio --ip={ip} pair-finish --token={challenge_token} --pin={tv_pin}
|
||||
$ pyvizio --ip={ip} --device_type={device_type} pair-finish --token={challenge_token} --pin={pin}
|
||||
```
|
||||
|
||||
You will need the authentication token returned by this command to configure Home Assistant.
|
||||
|
||||
## Configuration
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To add your Vizio TV to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -77,13 +93,18 @@ media_player:
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: IP address of your TV.
|
||||
description: IP address of your device.
|
||||
required: true
|
||||
type: string
|
||||
access_token:
|
||||
description: Authentication token you received in the last step of the pairing process.
|
||||
required: true
|
||||
description: Authentication token you received in the last step of the pairing process (if applicable).
|
||||
required: false
|
||||
type: string
|
||||
device_class:
|
||||
description: The class of your device. Your choices are `tv` or `soundbar`
|
||||
required: false
|
||||
type: string
|
||||
default: tv
|
||||
suppress_warning:
|
||||
description: Set to `true` to disable self-signed certificate warnings.
|
||||
required: false
|
||||
@ -91,16 +112,16 @@ suppress_warning:
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## Notes and limitations
|
||||
## {% linkable_title Notes and limitations %}
|
||||
|
||||
### Turning TV on
|
||||
### {% linkable_title Turning device on %}
|
||||
|
||||
If the `Power Mode` of your TV is set to `Eco Mode`, turning the device ON won't work.
|
||||
If the `Power Mode` of your device is set to `Eco Mode`, turning the device ON won't work.
|
||||
|
||||
### Changing tracks
|
||||
### {% linkable_title Changing tracks %}
|
||||
|
||||
Changing tracks works like channels switching. If you have source other than regular TV it might end do nothing.
|
||||
|
||||
### Sources
|
||||
### {% linkable_title Sources %}
|
||||
|
||||
Source list shows all external devices connected to the TV through HDMI plus list of internal devices (TV mode, Chrome Cast, etc.).
|
||||
Source list shows all external devices connected to the device through HDMI plus list of internal devices (TV mode, Chrome Cast, etc.).
|
||||
|
12
source/_cookbook/configuration_yaml_by_skalavala.markdown
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Configuration.yaml by Mahasri Kalavala (@skalavala)"
|
||||
description: ""
|
||||
date: 2016-10-25 10:45
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/skalavala/mysmarthome
|
||||
---
|
@ -19,10 +19,10 @@ script:
|
||||
sonos_say:
|
||||
alias: "Sonos TTS script"
|
||||
sequence:
|
||||
- service: media_player.sonos_snapshot
|
||||
- service: sonos.snapshot
|
||||
data_template:
|
||||
entity_id: {% raw %}"{{ sonos_entity }}"{% endraw %}
|
||||
- service: media_player.sonos_unjoin
|
||||
- service: sonos.unjoin
|
||||
data_template:
|
||||
entity_id: {% raw %}"{{ sonos_entity }}"{% endraw %}
|
||||
- service: media_player.volume_set
|
||||
@ -34,7 +34,7 @@ script:
|
||||
entity_id: {% raw %}"{{ sonos_entity }}"{% endraw %}
|
||||
message: {% raw %}"{{ message }}"{% endraw %}
|
||||
- delay: {% raw %}"{{ delay }}"{% endraw %}
|
||||
- service: media_player.sonos_restore
|
||||
- service: sonos.restore
|
||||
data_template:
|
||||
entity_id: {% raw %}"{{ sonos_entity }}"{% endraw %}
|
||||
```
|
||||
|
@ -51,7 +51,7 @@ After=network-online.target
|
||||
[Service]
|
||||
Type=simple
|
||||
User=%i
|
||||
ExecStart=/srv/homeassistant/bin/hass -c "/home/YOUR_USER/.homeassistant"
|
||||
ExecStart=/srv/homeassistant/bin/hass -c "/home/%i/.homeassistant"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
@ -99,6 +99,7 @@ Supported abbreviations:
|
||||
'cln_tpl': 'cleaning_template',
|
||||
'cmd_t': 'command_topic',
|
||||
'curr_temp_t': 'current_temperature_topic',
|
||||
'curr_temp_tpl': 'current_temperature_template',
|
||||
'dev': 'device',
|
||||
'dev_cla': 'device_class',
|
||||
'dock_t': 'docked_topic',
|
||||
@ -162,6 +163,7 @@ Supported abbreviations:
|
||||
'send_if_off': 'send_if_off',
|
||||
'set_pos_tpl': 'set_position_template',
|
||||
'set_pos_t': 'set_position_topic',
|
||||
'pos_t': 'position_topic',
|
||||
'spd_cmd_t': 'speed_command_topic',
|
||||
'spd_stat_t': 'speed_state_topic',
|
||||
'spd_val_tpl': 'speed_value_template',
|
||||
@ -296,7 +298,7 @@ Setting up a climate component (heat only) with abbreviated configuration variab
|
||||
"temp_stat_t":"homeassistant/climate/livingroom/state",
|
||||
"temp_stat_tpl":"{{value_json.target_temp}}",
|
||||
"curr_temp_t":"homeassistant/climate/livingroom/state",
|
||||
"current_temperature_template":"{{value_json.current_temp}}",
|
||||
"curr_temp_tpl":"{{value_json.current_temp}}",
|
||||
"min_temp":"15",
|
||||
"max_temp":"25",
|
||||
"temp_step":"0.5",
|
||||
|
@ -51,6 +51,11 @@ show_icon:
|
||||
description: Show icon.
|
||||
type: boolean
|
||||
default: "true"
|
||||
icon_height:
|
||||
required: false
|
||||
description: Set the height for the icon. This is in pixels which is handled by the config ui. (Advanced users can use other CSS values if they like)
|
||||
type: string
|
||||
default: auto
|
||||
tap_action:
|
||||
required: false
|
||||
description: Action to take on tap
|
||||
|
@ -56,6 +56,10 @@ style:
|
||||
description: Position and style the element using CSS.
|
||||
type: object
|
||||
default: "position: absolute, transform: translate(-50%, -50%)"
|
||||
title:
|
||||
required: false
|
||||
description: State badge tooltip. Set to null to hide.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Icon representing an entity state %}
|
||||
@ -69,6 +73,14 @@ entity:
|
||||
required: true
|
||||
description: The entity id to use.
|
||||
type: string
|
||||
icon:
|
||||
required: false
|
||||
description: Overwrites icon.
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
description: Icon tooltip. Set to null to hide.
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: Action to take on tap
|
||||
@ -145,6 +157,10 @@ suffix:
|
||||
required: false
|
||||
description: Text after entity state.
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
description: Label tooltip. Set to null to hide.
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: Action to take on tap
|
||||
@ -241,7 +257,7 @@ icon:
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
description: Icon tooltip.
|
||||
description: Icon tooltip. Set to null to hide.
|
||||
type: string
|
||||
entity:
|
||||
required: false
|
||||
@ -315,6 +331,10 @@ entity:
|
||||
required: false
|
||||
description: Entity to use for state_image and state_filter and also target for actions.
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
description: Image tooltip. Set to null to hide.
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: Action to take on tap
|
||||
|
831
source/_posts/2019-05-16-release-93.markdown
Normal file
@ -0,0 +1,831 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.93: Essent, AmbiClimate, VS Code debugging"
|
||||
description: "This release improves our onboarding experience and our automation page."
|
||||
date: 2019-05-16 04:11:03
|
||||
date_formatted: "May 16, 2019"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2019-05-release-93/components.png
|
||||
---
|
||||
|
||||
<a href='/components/#version/0.93'><img src='/images/blog/2019-05-release-93/components.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
It's time for our 0.93 release and it is a whopping cool one. It's a day later than usual as I am travelling. [Frenck](https://www.github.com/frenck) streams his work on Home Assistant / Hass.io each Tuesday and Friday, and last Tuesday I decided to surprise him and visit his house during the stream 😛. We ended up talking about everything Home Assistant with the viewers for over 3 hours. For the full conversation, check out [Frenck's blog](https://frenck.dev/home-assistant-paulus-invaded-my-live-stream/). Clip of me walking into the stream:
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe
|
||||
src="https://clips.twitch.tv/embed?clip=DifferentEnjoyableCormorantEagleEye"
|
||||
width="560" height="315"
|
||||
frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
Last week we also wrote about [our updated plans](/blog/2019/05/03/update-from-the-field/) for Home Assistant for this year. If you haven't read it yet, worth the read!
|
||||
|
||||
If you are a Nest user, we have some sad news: Google announced that they are [shutting down the Nest API](/blog/2019/05/08/nest-data-bye-bye/) at the end of August. This will cause Nest hardware to no longer work with Home Assistant (╯°□°)╯︵ ┻━┻
|
||||
|
||||
As always, this release is accompanied by [a new episode of the Home Assistant podcast](https://hasspodcast.io/ha050/). Rohan and Phil discuss the new release, the Nest API and a lot more. This episode is their 50th episode already, congratulations on this milestone!
|
||||
|
||||
## {% linkable_title Home Assistant 1.0 %}
|
||||
|
||||
As we mentioned in [our updated plans post](/blog/2019/05/03/update-from-the-field/), we're working hard on Home Assistant 1.0. Over the next releases we will work on polishing the UI, the backend architecture, and everything in between.
|
||||
|
||||
One of the new things that we introduced is a new step in our onboarding allowing users to set up integrations. We will automatically highlight discovered integrations. Once the user finishes the onboarding flow, entities will be automatically grouped by the areas that they are in. Neat!
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/0oIquYNEHaA" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
We've also been working on polishing parts of our config UI. The automation editor will now show all automations, the last time they got triggered, and allow users to enable/disable them.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2019-05-release-93/automation-editor.png' alt='Screenshot of the updated automation editor.'>
|
||||
Screenshot of the updated automation editor.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Sonos %}
|
||||
|
||||
The Sonos integration has a number of changes in this release, some of them breaking existing configuration.
|
||||
|
||||
First, the Sonos custom services have been moved to the `sonos` domain. The new service names are as follows:
|
||||
|
||||
- `sonos.join` (before: `media_player.sonos_join`)
|
||||
- `sonos.unjoin` (before: `media_player.sonos_unjoin`)
|
||||
- `sonos.snapshot` (before: `media_player.sonos_snapshot`)
|
||||
- `sonos.restore` (before: `media_player.sonos_restore`)
|
||||
- `sonos.set_sleep_timer` (before: `media_player.sonos_set_sleep_timer`)
|
||||
- `sonos.clear_sleep_timer` (before: `media_player.sonos_clear_sleep_timer`)
|
||||
- `sonos.update_alarm` (before: `media_player.sonos_update_alarm`)
|
||||
- `sonos.set_option` (before: `media_player.sonos_set_option`)
|
||||
|
||||
The last four of those services no longer target all entities by default since that is usually a mistake. The `entity_id` attribute is thus becoming mandatory for those services. If you really do want to target all you can use `entity_id: all`.
|
||||
|
||||
Next, YAML configuration of Sonos under the `media_player:` key is no longer accepted. While auto-configuration through the Integrations UI is now the preferred way, static configuration can still be specified under a `sonos:` key, for example:
|
||||
|
||||
```yaml
|
||||
sonos:
|
||||
media_player:
|
||||
hosts:
|
||||
- 192.0.2.25
|
||||
- 192.0.2.26
|
||||
```
|
||||
|
||||
For those of you that like to power down your Sonos, Home Assistant should now handle that without logging errors. Also, speakers that are powered on will be added to Home Assistant without needing a restart.
|
||||
|
||||
## {% linkable_title New Integrations %}
|
||||
|
||||
- Adds Orange Pi GPIO platform ([@pascallj] - [#22541]) ([orangepi_gpio docs]) (new-integration) (new-platform)
|
||||
- Essent sensor ([@TheLastProject] - [#23513]) ([essent docs]) (new-integration) (new-platform)
|
||||
- Ptvsd debugger component. ([@Swamp-Ig] - [#23336]) ([ptvsd docs]) (new-integration)
|
||||
- Ambiclimate ([@Danielhiversen] - [#22827]) ([ambiclimate docs]) (new-integration) (new-platform)
|
||||
- Add Intergas InComfort Lan2RF gateway ([@zxdavb] - [#23736]) ([incomfort docs]) (new-integration) (new-platform)
|
||||
|
||||
## {% linkable_title New Platforms %}
|
||||
|
||||
- Adds Orange Pi GPIO platform ([@pascallj] - [#22541]) ([orangepi_gpio docs]) (new-integration) (new-platform)
|
||||
- Added component named switcher_kis switcher water heater integration. ([@TomerFi] - [#22325]) ([switcher_kis docs]) (new-platform)
|
||||
- MQTT Vacuum State Device ([@pszafer] - [#23171]) ([mqtt docs]) (new-platform)
|
||||
- Add new nextbus sensor ([@ViViDboarder] - [#20197]) ([nextbus docs]) (new-platform)
|
||||
- Add sensor support for dyson 2018 models ([@etheralm] - [#22578]) ([dyson docs]) (new-platform)
|
||||
- Add Bizkaibus, Biscays (Spain) bus service component ([@UgaitzEtxebarria] - [#22934]) ([bizkaibus docs]) (new-platform)
|
||||
- Added new binary sensor meteoalarm to get weather alerts in Europe ([@rolfberkenbosch] - [#23663]) ([meteoalarm docs]) (new-integration) (new-platform)
|
||||
- Add water_heater to geniushub, bump client library ([@zxdavb] - [#23384]) ([geniushub docs]) (new-platform)
|
||||
- New cover platform for ADS integration ([@carstenschroeder] - [#23377]) ([ads docs]) (new-platform)
|
||||
|
||||
## {% 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 IP Cloud__ - Adds homematicip cloud temperature sensor from thermostats. Entity IDs of HmIP-SLO (Light Sensor Outdoor) will change and stale entities will need to be removed from the entity registry. ([@SukramJ] - [#23263]) ([homematicip_cloud docs])
|
||||
- __Pollen.com__
|
||||
* IQVIA is the parent company which hosts a variety of sites (https://pollen.com, https://flustar.com, etc.) from which valid data can come. To accommodate this, the Pollen.com sensor platform is now the IQVIA component and the configuration.yaml schema has changed accordingly. ([@bachya] - [#22986]) ([iqvia docs]) ([pollen docs])
|
||||
* The IQVIA component no longer provides historical data for allergen and asthma conditions. Tactically, this means all historical sensors – including "Yesterday" sensors – will no longer appear; users will need to update any automations that previously relied on these sensors. ([@bachya] - [#23258]) ([iqvia docs])
|
||||
|
||||
Example configuration:
|
||||
```
|
||||
iqvia:
|
||||
zip_code: "12345"
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
- __Sonos__
|
||||
* Configuring the Sonos integration as a media_player: platform in configuration.yaml was deprecated in 0.72 and has now been removed. Please see the notes above in this release post as well as the component documentation for further info. ([@amelchio] - [#23385]) ([sonos docs])
|
||||
* Sonos-specific services have been moved from the media_player domain to the sonos domain. For example, media_player.sonos_join has become sonos.join. Services sonos.set_sleep_timer, sonos.clear_sleep_timer, sonos.update_alarm and sonos.set_option now require the entity_id parameter and will not target all when it is missing. You can use all to target all. ([@amelchio] - [#23670]) ([sonos docs])
|
||||
|
||||
|
||||
- __Nmap__ - In Linux, and when running a setuid nmap, MAC addresses are reported with a leading zero in each byte. Under Mac OS X, when running the arp command, there is no leading zero. This makes it annoying to share config files between a Mac and Linux setup. This change fixes this by forcing MAC addresses to be zero padded, "breaking" Mac detection on a Mac by aligning it to the convention on Linux ([@mikeage] - [#23492]) ([nmap_tracker docs])
|
||||
- __Frontend__ - This change converts the frontend to do client-side modern JS detection. It is no longer possible to force the frontend version that is shown to a browser by specifying a javascript_version option. Instead, we use feature detection to make sure that each browser receives the latest supported version. Because of feature detection, we no longer have ES5 specific index pages, which means the option extra_html_url_es5 no longer does anything. All usages of extra_html_url should be migrated to use Lovelace imports.([@balloob] - [#23618]) ([frontend docs])
|
||||
- __Epson Workforce__ - This change adds the option to add photo black cartridge as a setting. It also corrects the spelling of "Inklevel" to "Ink level"([@ThaStealth] - [#23433]) ([epsonworkforce docs])
|
||||
|
||||
Example configuration:
|
||||
```
|
||||
- platform: epsonworkforce
|
||||
host: IP_ADDRESS
|
||||
monitored_conditions:
|
||||
- black
|
||||
- photoblack
|
||||
- yellow
|
||||
- magenta
|
||||
- cyan
|
||||
- clean
|
||||
```
|
||||
|
||||
|
||||
- __SNMP__ - The configuration of the SNMP device tracker was aligned with the other SNMP switch and the sensor configuration. If you are using authentication key and private key then change your configuration to auth_key: and priv_key:. ([@fabaff] - [#23678]) ([snmp docs])
|
||||
|
||||
- __Netatmo__ The netatmo_public sensor will be merged into the netatmo integration. In the config platform: netatmo_public becomes platform: netatmo, everything else stays the same. ([@cgtobi] - [#23531]) ([netatmo docs])
|
||||
- __Sesame Smart Lock__ - The Sesame smart lock's 1.0 API uses a username/password pair to authenticate, and may be deprecated in the future. The V3 API uses an API key, so it will require users to update their HA config. ([@zanglang] - [#23621]) ([sesame docs])
|
||||
|
||||
Example configuration:
|
||||
```
|
||||
lock:
|
||||
- platform: sesame
|
||||
api_key: !secret sesame_api_key
|
||||
```
|
||||
|
||||
## {% linkable_title Beta Fixes %}
|
||||
|
||||
- Sort discovered entries by 'st' to ensure getting the same device each discovery ([@StevenLooman] - [#23763]) ([upnp docs]) (beta fix)
|
||||
- Bump pyatmo to v1.11 ([@cgtobi] - [#23766]) ([netatmo docs]) (beta fix)
|
||||
- Fix for issue #23739. Added unique_id property so ([@dreed47] - [#23769]) ([zestimate docs]) (beta fix)
|
||||
- Beta Fix: ONVIF ([@hunterjm] - [#23787]) ([onvif docs]) (beta fix)
|
||||
- Synchronize Sonos service calls ([@amelchio] - [#23791]) ([sonos docs]) (beta fix)
|
||||
- Do not add coordinator to the ZHA entities. ([@Adminiuga] - [#23803]) ([zha docs]) (beta fix)
|
||||
- fix onvif wsdl import - take 2 ([@hunterjm] - [#23807]) ([onvif docs]) (beta fix)
|
||||
- Correct ZHA illumination conversion ([@dmulcahey] - [#23853]) ([zha docs]) (beta fix)
|
||||
- Fix ZHA battery when readings produce an unknown value ([@dmulcahey] - [#23854]) ([zha docs]) (beta fix)
|
||||
- bump zha-quirks ([@dmulcahey] - [#23855]) ([zha docs]) (beta fix)
|
||||
- Fix improper usage of body attribute on web.Response. Should be text since we arent sending bytes ([@robbiet480] - [#23857]) ([geofency docs]) ([locative docs]) ([mobile_app docs]) (beta fix)
|
||||
|
||||
## {% linkable_title All changes %}
|
||||
|
||||
- Pass configured host string instead of always forcing an ip-address ([@itn3rd77] - [#23164]) ([homematic docs])
|
||||
- Make less imports from yeelight ([@zewelor] - [#23124]) ([yeelight docs])
|
||||
- Add @Jc2k to codeowners for homekit_controller ([@Jc2k] - [#23173]) ([homekit_controller docs])
|
||||
- Add minimum/maximum to counter ([@rohankapoorcom] - [#22608]) ([counter docs])
|
||||
- Adds Orange Pi GPIO platform ([@pascallj] - [#22541]) ([orangepi_gpio docs]) (new-integration) (new-platform)
|
||||
- Potential None ([@Swamp-Ig] - [#23187]) ([automation docs])
|
||||
- Add storage for cacheable homekit entity maps. ([@Jc2k] - [#23191]) ([homekit_controller docs])
|
||||
- Misc. ZHA changes ([@dmulcahey] - [#23190]) ([zha docs])
|
||||
- set myself as codeowner of xmpp, removed me from notify/* ([@flowolf] - [#23207]) ([notify docs]) ([xmpp docs])
|
||||
- Update vizio component to support latest pyvizio with soundbar support ([@raman325] - [#22294]) ([vizio docs])
|
||||
- Add json_attributes_template ([@emontnemery] - [#22981]) ([mqtt docs])
|
||||
- Only comment with changed coverage on release PRs [skip-ci] ([@balloob] - [#23224])
|
||||
- Fix optimistic mode + other bugs, tests ([@emontnemery] - [#22976]) ([mqtt docs])
|
||||
- Set default value for input_datetime ([@tsvi] - [#21919]) ([input_datetime docs])
|
||||
- Remove archived 17track packages from the entity registry ([@bachya] - [#23049]) ([seventeentrack docs])
|
||||
- Change configuration for orangepi ([@pascallj] - [#23231]) ([orangepi_gpio docs])
|
||||
- Add and use an async_fire_service_discovered helper ([@Jc2k] - [#23232])
|
||||
- Review feedback from #23191 ([@Jc2k] - [#23233]) ([homekit_controller docs])
|
||||
- Add missing service for persistent_notification ([@bieniu] - [#23230])
|
||||
- Add more CPU temp. labels to Glances ([@Chris-V] - [#23179]) ([glances docs])
|
||||
- Add accuracy and status for Traccar ([@GoNzCiD] - [#23180]) ([traccar docs])
|
||||
- Avoid calling async code in sync context ([@Jc2k] - [#23235]) ([homekit_controller docs])
|
||||
- Drop unnecessary block_till_done, improve tests ([@emontnemery] - [#23246])
|
||||
- Drop unnecessary block_till_done, improve tests ([@emontnemery] - [#23247])
|
||||
- Drop unnecessary block_till_done, improve tests ([@emontnemery] - [#23248])
|
||||
- Drop unnecessary block_till_done, improve tests ([@emontnemery] - [#23249])
|
||||
- Drop unnecessary block_till_done ([@emontnemery] - [#23250])
|
||||
- Drop unnecessary block_till_done ([@emontnemery] - [#23251])
|
||||
- Drop unnecessary block_till_done, improve tests ([@emontnemery] - [#23252])
|
||||
- Added component named switcher_kis switcher water heater integration. ([@TomerFi] - [#22325]) ([switcher_kis docs]) (new-platform)
|
||||
- Drop unnecessary block_till_done for MQTT fan tests ([@emontnemery] - [#23253])
|
||||
- Drop unnecessary block_till_done for MQTT tests ([@emontnemery] - [#23254])
|
||||
- Drop unnecessary block_till_done, improve tests for MQTT Cover tests ([@emontnemery] - [#23255])
|
||||
- Drop unnecessary block_till_done ([@emontnemery] - [#23256])
|
||||
- Add ctags file to .gitignore ([@bachya] - [#23279])
|
||||
- Upgrade xmltodict to 0.12.0 ([@BKPepe] - [#23277]) ([bluesound docs]) ([startca docs]) ([ted5000 docs]) ([yr docs]) ([zestimate docs])
|
||||
- Upgrade pyotp to 2.2.7 ([@BKPepe] - [#23274]) ([otp docs])
|
||||
- Add homematicip cloud temperature sensor from thermostats ([@SukramJ] - [#23263]) ([homematicip_cloud docs]) (breaking change)
|
||||
- Improve MQTT tests ([@emontnemery] - [#23296])
|
||||
- Add support to play url ([@andrewsayre] - [#23273]) ([heos docs])
|
||||
- RFC: Upgrade philips_js component version and support channels and sources ([@elupus] - [#23061]) ([philips_js docs])
|
||||
- MQTT Vacuum State Device ([@pszafer] - [#23171]) ([mqtt docs]) (new-platform)
|
||||
- Add connection control for netgear_lte ([@amelchio] - [#22946]) ([netgear_lte docs])
|
||||
- Set placeholders in homekit config flow title ([@Jc2k] - [#23311]) ([homekit_controller docs])
|
||||
- Random hassfest fixes ([@balloob] - [#23314])
|
||||
- Add get_states faster ([@balloob] - [#23315]) ([websocket_api docs])
|
||||
- Handle traccar connection errors ([@ludeeus] - [#23289]) ([traccar docs])
|
||||
- Upgrade attrs to 19.1.0 ([@BKPepe] - [#23323])
|
||||
- Fix ps4 not able to use different PSN accounts ([@ktnrg45] - [#22799]) ([ps4 docs])
|
||||
- Reorg Homematic IP Cloud imports and minor fixes ([@SukramJ] - [#23330]) ([homematicip_cloud docs])
|
||||
- Changes due to manifest.json. Awaiting coroutines instead of creating tasks ([@alengwenus] - [#23321]) ([lcn docs])
|
||||
- Fix Switchbot restore state ([@Danielhiversen] - [#23325]) ([switchbot docs])
|
||||
- Added override for kwikset 888. ([@sowelie] - [#23327]) ([zwave docs])
|
||||
- Upgrade youtube_dl to 2019.04.17 ([@fabaff] - [#23342]) ([media_extractor docs])
|
||||
- Fix Homematic IP Cloud remaining light imports ([@SukramJ] - [#23339]) ([homematicip_cloud docs])
|
||||
- Volume trait for google assistant ([@elupus] - [#23237]) ([google_assistant docs])
|
||||
- Upgrade ruamel.yaml to 0.15.94 ([@fabaff] - [#23344])
|
||||
- Netatmo 5min fetch interval ([@pvizeli] - [#23341]) ([netatmo docs])
|
||||
- Fixed test ([@Swamp-Ig] - [#23343])
|
||||
- Device type garage for binary sensor garage_door ([@elupus] - [#23345]) ([google_assistant docs])
|
||||
- Fix non-syncthru supporting printers ([@nielstron] - [#21482]) ([syncthru docs])
|
||||
- Add support for a wider variety of EnOcean devices ([@bdurrer] - [#22052]) ([enocean docs])
|
||||
- Convert Pollen.com sensor into IQVIA component ([@bachya] - [#22986]) ([iqvia docs]) ([pollen docs]) (breaking change) (new-integration) (new-platform)
|
||||
- Upgrade to pyubee==0.6 ([@StevenLooman] - [#23355]) ([ubee docs])
|
||||
- Fix tox.ini lint target ([@ViViDboarder] - [#23359])
|
||||
- Add media player external url ([@balloob] - [#23337]) ([media_player docs])
|
||||
- Fix race condition. ([@mitchellrj] - [#21244]) ([plex docs])
|
||||
- Add amcrest camera services and deprecate switches ([@pnbruckner] - [#22949]) ([amcrest docs])
|
||||
- Convert some test helpers to coroutines and adjust tests ([@emontnemery] - [#23352])
|
||||
- Update xiaomi library ([@Danielhiversen] - [#23391]) ([xiaomi_aqara docs])
|
||||
- Add device classes for media player and map to google types ([@elupus] - [#23236]) ([google_assistant docs]) ([media_player docs])
|
||||
- Bump youtube-dl version to 2019.04.24 ([@cgtobi] - [#23398]) ([media_extractor docs])
|
||||
- add key parameter ([@panosmz] - [#23381]) ([oasa_telematics docs])
|
||||
- check if sabotage attr is in device ([@SukramJ] - [#23397]) ([homematicip_cloud docs])
|
||||
- Add Types to Homematic IP ([@SukramJ] - [#23401]) ([homematicip_cloud docs])
|
||||
- Add device info for Logi Circle camera and sensor entities ([@evanjd] - [#23373]) ([logi_circle docs])
|
||||
- Bump requirement to v55 ([@Kane610] - [#23410]) ([deconz docs])
|
||||
- restore battery_quantity for zha devices ([@vigonotion] - [#23320]) ([zha docs])
|
||||
- Remove support for deprecated Sonos configuration ([@amelchio] - [#23385]) ([sonos docs]) (breaking change)
|
||||
- Additional cleanup of IQVIA integration ([@bachya] - [#23403]) ([iqvia docs])
|
||||
- Add new nextbus sensor ([@ViViDboarder] - [#20197]) ([nextbus docs]) (new-platform)
|
||||
- Remove historical allergen and asthma sensors from IQVIA ([@bachya] - [#23258]) ([iqvia docs]) (breaking change)
|
||||
- Return of travis ([@amelchio] - [#23409])
|
||||
- Fix broken forecast trend attribute in IQVIA ([@bachya] - [#23454]) ([iqvia docs])
|
||||
- Bump amcrest to 1.4.0 and use new storage_all method ([@pnbruckner] - [#23446]) ([amcrest docs])
|
||||
- Added option to use self-signed certificates ([@anrudolph] - [#23139]) ([caldav docs])
|
||||
- No longer promote imports inside methods ([@amelchio] - [#23471])
|
||||
- Improve handling of unavailable Sonos speakers ([@amelchio] - [#23472]) ([sonos docs])
|
||||
- Use remote image for HEOS ([@andrewsayre] - [#23420]) ([heos docs])
|
||||
- Add a warning that honeywell/EU is to be deprecated ([@zxdavb] - [#23469]) ([honeywell docs])
|
||||
- Skip flaky stream tests ([@amelchio] - [#23493])
|
||||
- Display person component as occupancy sensor HomeKit ([@chmielowiec] - [#23451]) ([homekit docs])
|
||||
- Fixes local_file camera service ([@robmarkcole] - [#23479]) ([local_file docs])
|
||||
- Update aiolifx_effects to 0.2.2 ([@arsaboo] - [#23473]) ([lifx docs])
|
||||
- Catch RequestException in influxdb writer ([@amelchio] - [#23508]) ([influxdb docs])
|
||||
- Fixed bug with max_result ([@atomic7777] - [#23507]) ([google docs])
|
||||
- Return state when changing optimistic covers ([@balloob] - [#23498]) ([google_assistant docs])
|
||||
- Update Philips js to v0.0.8 ([@elupus] - [#23462]) ([philips_js docs])
|
||||
- Fixed AlexaPowerController to report power state for thermostats ([@mcc05] - [#23468]) ([alexa docs])
|
||||
- Continuous discovery of Sonos speakers ([@amelchio] - [#23484]) ([sonos docs])
|
||||
- Ignore stale directories ([@amelchio] - [#23464])
|
||||
- Do not log tracebacks for influxdb write errors ([@amelchio] - [#23522]) ([influxdb docs])
|
||||
- limit concurrent updates to avoid network flood ([@dmulcahey] - [#23534]) ([zha docs])
|
||||
- Add current disease data to IQVIA ([@bachya] - [#23052]) ([iqvia docs])
|
||||
- Allow direct binding via ZHA for the ZLL profile ([@dmulcahey] - [#23536]) ([zha docs])
|
||||
- Improve logging of exceptions in async_create_task ([@emontnemery] - [#22689]) ([cast docs])
|
||||
- Install requirements when checking config ([@balloob] - [#23500])
|
||||
- Always print invalid configuration data ([@emontnemery] - [#21972])
|
||||
- Don't use zigpy profiles for ZHA entities ([@dmulcahey] - [#22844]) ([zha docs])
|
||||
- Add HomeKit low battery threshold config ([@adrum] - [#23363]) ([homekit docs])
|
||||
- Add sensor support for dyson 2018 models ([@etheralm] - [#22578]) ([dyson docs]) (new-platform)
|
||||
- Bump homekit_python to 0.14.0 ([@Jc2k] - [#23562]) ([homekit_controller docs])
|
||||
- Upgrade pysonos to 0.0.12 ([@amelchio] - [#23560]) ([sonos docs])
|
||||
- Clean up ZHA discovery logic ([@dmulcahey] - [#23563]) ([zha docs])
|
||||
- Migrate tests to pytest ([@emontnemery] - [#23544])
|
||||
- bump zha-quirks version ([@dmulcahey] - [#23568]) ([zha docs])
|
||||
- Add core APIs to migrate device identifiers and entity unique_id ([@andrewsayre] - [#23481])
|
||||
- Essent sensor ([@TheLastProject] - [#23513]) ([essent docs]) (new-integration) (new-platform)
|
||||
- Upgrade discord.py to v1.0.1 ([@cyrosy] - [#23523]) ([discord docs])
|
||||
- Always pad mac addresses from nmap tracker with leading zeros ([@mikeage] - [#23492]) ([nmap_tracker docs]) (breaking change)
|
||||
- Update mysensors sensor icons ([@MartinHjelmare] - [#23491]) ([mysensors docs])
|
||||
- Add bypass and automatic bypass switch for Danfor Air. ([@JonasPed] - [#23572]) ([danfoss_air docs])
|
||||
- Ptvsd debugger component. ([@Swamp-Ig] - [#23336]) ([ptvsd docs]) (new-integration)
|
||||
- Fix min/max temp and humidity for homekit_controller climate ([@Jc2k] - [#23421]) ([homekit_controller docs])
|
||||
- Fix failing state update tests ([@etheralm] - [#23575])
|
||||
- render_with_collect method for template ([@Swamp-Ig] - [#23283])
|
||||
- Upgrade youtube_dl to 2019.04.30 ([@fabaff] - [#23579]) ([media_extractor docs])
|
||||
- Bumpped the pyeconet version ([@w1ll1am23] - [#23578]) ([econet docs])
|
||||
- Simplify Travis cache config ([@scop] - [#23592])
|
||||
- Fix low_battery_threshold issue HomeKit ([@cdce8p] - [#23593]) ([homekit docs])
|
||||
- Redesign AlarmControlPanel for Homematic IP ([@SukramJ] - [#23565]) ([homematicip_cloud docs])
|
||||
- Ambiclimate ([@Danielhiversen] - [#22827]) ([ambiclimate docs]) (new-integration) (new-platform)
|
||||
- Move I/O to executor thread pool ([@cyrosy] - [#23589]) ([discord docs])
|
||||
- Update bomradarloop to v0.1.3 ([@maddenp] - [#23599]) ([bom docs])
|
||||
- updated manifest.json with correct version of hangup ([@teliov] - [#23596]) ([hangouts docs])
|
||||
- Add and improve Homekit controller pairing messages and errors ([@Jc2k] - [#23532]) ([homekit_controller docs])
|
||||
- Added message to data_template at notify REST ([@4lloyd] - [#23108]) ([rest docs])
|
||||
- Fixed unhandled exception in OpenUV data update ([@bachya] - [#23611]) ([openuv docs])
|
||||
- Support STATE_AUTO in homekit_controller climate ([@Jc2k] - [#23583]) ([homekit_controller docs])
|
||||
- Add support for flow sensor metrics in RainMachine ([@bachya] - [#23221]) ([rainmachine docs])
|
||||
- Clean caldav calendar tests ([@MartinHjelmare] - [#23609])
|
||||
- Improve sun automation tests ([@emontnemery] - [#23588])
|
||||
- Update pyvesync_v2 version to 0.9.7 ([@bwarden] - [#23603]) ([vesync docs])
|
||||
- Prevent turning on tellduslive lights with 0 brightness ([@brange] - [#23135]) ([tellduslive docs])
|
||||
- Update docstrings ([@fabaff] - [#23624]) ([panasonic_bluray docs])
|
||||
- Order imports ([@fabaff] - [#23623]) ([opple docs])
|
||||
- Polling is default ([@fabaff] - [#23622]) ([serial_pm docs])
|
||||
- Loosen discovery config validation to avoid breaking changes ([@Jc2k] - [#23625]) ([discovery docs])
|
||||
- Clean up redundant same-package ..package imports ([@scop] - [#23587]) ([greeneye_monitor docs]) ([huawei_lte docs]) ([tplink_lte docs])
|
||||
- Upgrade pytest to 4.4.1 ([@scop] - [#23584])
|
||||
- Upgrade mypy ([@scop] - [#23586])
|
||||
- Allow removing Telegram reply keyboard ([@max-te] - [#23467]) ([telegram_bot docs])
|
||||
- Convert frontend to do client-side modern JS detection ([@balloob] - [#23618]) ([frontend docs]) (breaking change)
|
||||
- Refactor evohome to prepare for water_heater ([@zxdavb] - [#23489]) ([evohome docs])
|
||||
- Extend play_media support ([@andrewsayre] - [#23580]) ([heos docs])
|
||||
- update switchbot library ([@Danielhiversen] - [#23643]) ([switchbot docs])
|
||||
- Add "soc-thermal 1" as CPU Temp label to Glances ([@phdelodder] - [#23635]) ([glances docs])
|
||||
- deCONZ - Retry on BridgeBusy errors ([@Kane610] - [#23436]) ([deconz docs])
|
||||
- Added option to select photoblack cartridge ([@ThaStealth] - [#23433]) ([epsonworkforce docs]) (breaking change)
|
||||
- Fix bad request for some IP ONVIF camera ([@GeertvanHorrik] - [#22972]) ([onvif docs])
|
||||
- Bump pyteleloisirs version ([@SNoof85] - [#23661]) ([liveboxplaytv docs])
|
||||
- Upgrade psutil to 5.6.2 ([@fabaff] - [#23671]) ([systemmonitor docs])
|
||||
- Upgrade shodan to 1.13.0 ([@fabaff] - [#23675]) ([shodan docs])
|
||||
- Upgrade slacker to 0.13.0 ([@fabaff] - [#23672]) ([slack docs])
|
||||
- Upgrade tapsaff to 0.2.1 ([@fabaff] - [#23676]) ([tapsaff docs])
|
||||
- Upgrade sqlalchemy to 1.3.3 ([@fabaff] - [#23674]) ([recorder docs]) ([sql docs])
|
||||
- Remove extraneous update call in SimpliSafe ([@bachya] - [#23680]) ([simplisafe docs])
|
||||
- Upgrade pysnmp to 4.4.9 ([@fabaff] - [#23677]) ([snmp docs])
|
||||
- Upgrade spotcrime to 1.0.4 (fixes #13189) ([@fabaff] - [#23679]) ([spotcrime docs])
|
||||
- Add Bizkaibus, Biscays (Spain) bus service component ([@UgaitzEtxebarria] - [#22934]) ([bizkaibus docs]) (new-platform)
|
||||
- Add HomeKit Television functionality ([@adrum] - [#22968]) ([homekit docs])
|
||||
- Clean and fix google calendar tests ([@MartinHjelmare] - [#23608]) ([google docs])
|
||||
- Update requirements for pyvlx. ([@Julius2342] - [#23694]) ([velux docs])
|
||||
- Clean up mqtt device tracker tests ([@MartinHjelmare] - [#23700])
|
||||
- Clean up device tracker tests ([@MartinHjelmare] - [#23695])
|
||||
- Move Sonos services to sonos domain ([@amelchio] - [#23670]) ([sonos docs]) (breaking change)
|
||||
- Move owntracks device tracker test under owntracks ([@MartinHjelmare] - [#23701])
|
||||
- Add support for SET_AWAY_MODE and TURN_ON/OFF on Daikin Climate ([@fredrike] - [#23585]) ([daikin docs])
|
||||
- Bump ZHA modules versions. ([@Adminiuga] - [#23705]) ([zha docs])
|
||||
- Add additional single input cluster entries - ZHA ([@dmulcahey] - [#23697]) ([zha docs])
|
||||
- Add media_type_app to media_player ([@ktnrg45] - [#23666]) ([media_player docs]) ([ps4 docs])
|
||||
- Add a TCP timeout of 5 seconds to ffmpeg ([@droopanu] - [#23617]) ([stream docs])
|
||||
- Catch thethingsnetwork TypeError ([@fabaff] - [#23667]) ([thethingsnetwork docs])
|
||||
- Use local constant in Daikin for STATE_OFF ([@fredrike] - [#23712]) ([daikin docs])
|
||||
- Upgrade sendgrid to 6.0.5 ([@fabaff] - [#23711]) ([sendgrid docs])
|
||||
- bump zha-quirks ([@dmulcahey] - [#23714]) ([zha docs])
|
||||
- Update IDs after firmware upgrade in HEOS ([@andrewsayre] - [#23641]) ([heos docs])
|
||||
- huawei_lte: handle icons for None sensor values gracefully ([@scop] - [#23649]) ([huawei_lte docs])
|
||||
- Upgrade switchbot , fixes #23702 ([@Danielhiversen] - [#23716]) ([switchbot docs])
|
||||
- Share snmp constants across all platforms ([@fabaff] - [#23678]) ([snmp docs]) (breaking change)
|
||||
- Add TTL support and custom headers support. ([@pszafer] - [#22988]) ([html5 docs])
|
||||
- Added new binary sensor meteoalarm to get weather alerts in Europe ([@rolfberkenbosch] - [#23663]) ([meteoalarm docs]) (new-integration) (new-platform)
|
||||
- add abbreviation for current_temperature_template ([@unixko] - [#23733]) ([mqtt docs])
|
||||
- Add water_heater to geniushub, bump client library ([@zxdavb] - [#23384]) ([geniushub docs]) (new-platform)
|
||||
- Add debug prints to sun ([@emontnemery] - [#23598]) ([sun docs])
|
||||
- Add HEOS sign-in/out services ([@andrewsayre] - [#23729]) ([heos docs])
|
||||
- Fix Hue sensor integration with multiple bridges. ([@mitchellrj] - [#23713]) ([hue docs])
|
||||
- Fix effects on HUE integration for Osram bulbs ([@SukramJ] - [#22789]) ([hue docs])
|
||||
- Upgrade aiodns to 2.0.0 ([@fabaff] - [#23743]) ([dnsip docs])
|
||||
- Add abbreviation for position_topic ([@bieniu] - [#23740]) ([mqtt docs])
|
||||
- Update PR template ([@balloob] - [#23520])
|
||||
- Add Intergas InComfort Lan2RF gateway ([@zxdavb] - [#23736]) ([incomfort docs]) (new-integration) (new-platform)
|
||||
- Fix upnp logger name ([@StevenLooman] - [#23724]) ([upnp docs])
|
||||
- Add update events to registries ([@balloob] - [#23746]) ([websocket_api docs])
|
||||
- Add integration step to onboarding ([@balloob] - [#23732]) ([onboarding docs])
|
||||
- Merge netatmo_public sensor into the netatmo integration ([@cgtobi] - [#23531]) ([netatmo docs]) (breaking change)
|
||||
- Upgrade numpy to 1.16.3 ([@fabaff] - [#23673]) ([iqvia docs]) ([opencv docs]) ([tensorflow docs]) ([trend docs])
|
||||
- Upgrade Mastodon.py to 1.4.0 ([@fabaff] - [#23753]) ([mastodon docs])
|
||||
- New cover platform for ADS integration ([@carstenschroeder] - [#23377]) ([ads docs]) (new-platform)
|
||||
- Prompt for pin only on open / unlock ([@Swamp-Ig] - [#23751]) ([google_assistant docs])
|
||||
- Upgrade defusedxml to 0.6.0 ([@scop] - [#23651]) ([ihc docs]) ([namecheapdns docs]) ([ohmconnect docs]) ([upc_connect docs])
|
||||
- Refactor child validation ([@MartinHjelmare] - [#23482]) ([mysensors docs])
|
||||
- Update Sesame component to use Candy House's library using the V3 API ([@zanglang] - [#23621]) ([sesame docs]) (breaking change)
|
||||
- Upgrade zeroconf to 0.22.0 ([@BKPepe] - [#23524]) ([zeroconf docs])
|
||||
- No longer rely on requests ([@balloob] - [#23685]) ([ps4 docs])
|
||||
- Sort discovered entries by 'st' to ensure getting the same device each discovery ([@StevenLooman] - [#23763]) ([upnp docs]) (beta fix)
|
||||
- Bump pyatmo to v1.11 ([@cgtobi] - [#23766]) ([netatmo docs]) (beta fix)
|
||||
- Fix for issue #23739. Added unique_id property so ([@dreed47] - [#23769]) ([zestimate docs]) (beta fix)
|
||||
- Beta Fix: ONVIF ([@hunterjm] - [#23787]) ([onvif docs]) (beta fix)
|
||||
- Synchronize Sonos service calls ([@amelchio] - [#23791]) ([sonos docs]) (beta fix)
|
||||
- Do not add coordinator to the ZHA entities. ([@Adminiuga] - [#23803]) ([zha docs]) (beta fix)
|
||||
- fix onvif wsdl import - take 2 ([@hunterjm] - [#23807]) ([onvif docs]) (beta fix)
|
||||
- Correct ZHA illumination conversion ([@dmulcahey] - [#23853]) ([zha docs]) (beta fix)
|
||||
- Fix ZHA battery when readings produce an unknown value ([@dmulcahey] - [#23854]) ([zha docs]) (beta fix)
|
||||
- bump zha-quirks ([@dmulcahey] - [#23855]) ([zha docs]) (beta fix)
|
||||
- Fix improper usage of body attribute on web.Response. Should be text since we arent sending bytes ([@robbiet480] - [#23857]) ([geofency docs]) ([locative docs]) ([mobile_app docs]) (beta fix)
|
||||
|
||||
[#20197]: https://github.com/home-assistant/home-assistant/pull/20197
|
||||
[#21244]: https://github.com/home-assistant/home-assistant/pull/21244
|
||||
[#21482]: https://github.com/home-assistant/home-assistant/pull/21482
|
||||
[#21919]: https://github.com/home-assistant/home-assistant/pull/21919
|
||||
[#21972]: https://github.com/home-assistant/home-assistant/pull/21972
|
||||
[#22052]: https://github.com/home-assistant/home-assistant/pull/22052
|
||||
[#22294]: https://github.com/home-assistant/home-assistant/pull/22294
|
||||
[#22325]: https://github.com/home-assistant/home-assistant/pull/22325
|
||||
[#22541]: https://github.com/home-assistant/home-assistant/pull/22541
|
||||
[#22578]: https://github.com/home-assistant/home-assistant/pull/22578
|
||||
[#22608]: https://github.com/home-assistant/home-assistant/pull/22608
|
||||
[#22689]: https://github.com/home-assistant/home-assistant/pull/22689
|
||||
[#22789]: https://github.com/home-assistant/home-assistant/pull/22789
|
||||
[#22799]: https://github.com/home-assistant/home-assistant/pull/22799
|
||||
[#22827]: https://github.com/home-assistant/home-assistant/pull/22827
|
||||
[#22844]: https://github.com/home-assistant/home-assistant/pull/22844
|
||||
[#22934]: https://github.com/home-assistant/home-assistant/pull/22934
|
||||
[#22946]: https://github.com/home-assistant/home-assistant/pull/22946
|
||||
[#22949]: https://github.com/home-assistant/home-assistant/pull/22949
|
||||
[#22968]: https://github.com/home-assistant/home-assistant/pull/22968
|
||||
[#22972]: https://github.com/home-assistant/home-assistant/pull/22972
|
||||
[#22976]: https://github.com/home-assistant/home-assistant/pull/22976
|
||||
[#22981]: https://github.com/home-assistant/home-assistant/pull/22981
|
||||
[#22986]: https://github.com/home-assistant/home-assistant/pull/22986
|
||||
[#22988]: https://github.com/home-assistant/home-assistant/pull/22988
|
||||
[#23049]: https://github.com/home-assistant/home-assistant/pull/23049
|
||||
[#23052]: https://github.com/home-assistant/home-assistant/pull/23052
|
||||
[#23061]: https://github.com/home-assistant/home-assistant/pull/23061
|
||||
[#23108]: https://github.com/home-assistant/home-assistant/pull/23108
|
||||
[#23124]: https://github.com/home-assistant/home-assistant/pull/23124
|
||||
[#23135]: https://github.com/home-assistant/home-assistant/pull/23135
|
||||
[#23139]: https://github.com/home-assistant/home-assistant/pull/23139
|
||||
[#23164]: https://github.com/home-assistant/home-assistant/pull/23164
|
||||
[#23171]: https://github.com/home-assistant/home-assistant/pull/23171
|
||||
[#23173]: https://github.com/home-assistant/home-assistant/pull/23173
|
||||
[#23179]: https://github.com/home-assistant/home-assistant/pull/23179
|
||||
[#23180]: https://github.com/home-assistant/home-assistant/pull/23180
|
||||
[#23187]: https://github.com/home-assistant/home-assistant/pull/23187
|
||||
[#23190]: https://github.com/home-assistant/home-assistant/pull/23190
|
||||
[#23191]: https://github.com/home-assistant/home-assistant/pull/23191
|
||||
[#23207]: https://github.com/home-assistant/home-assistant/pull/23207
|
||||
[#23221]: https://github.com/home-assistant/home-assistant/pull/23221
|
||||
[#23224]: https://github.com/home-assistant/home-assistant/pull/23224
|
||||
[#23230]: https://github.com/home-assistant/home-assistant/pull/23230
|
||||
[#23231]: https://github.com/home-assistant/home-assistant/pull/23231
|
||||
[#23232]: https://github.com/home-assistant/home-assistant/pull/23232
|
||||
[#23233]: https://github.com/home-assistant/home-assistant/pull/23233
|
||||
[#23235]: https://github.com/home-assistant/home-assistant/pull/23235
|
||||
[#23236]: https://github.com/home-assistant/home-assistant/pull/23236
|
||||
[#23237]: https://github.com/home-assistant/home-assistant/pull/23237
|
||||
[#23246]: https://github.com/home-assistant/home-assistant/pull/23246
|
||||
[#23247]: https://github.com/home-assistant/home-assistant/pull/23247
|
||||
[#23248]: https://github.com/home-assistant/home-assistant/pull/23248
|
||||
[#23249]: https://github.com/home-assistant/home-assistant/pull/23249
|
||||
[#23250]: https://github.com/home-assistant/home-assistant/pull/23250
|
||||
[#23251]: https://github.com/home-assistant/home-assistant/pull/23251
|
||||
[#23252]: https://github.com/home-assistant/home-assistant/pull/23252
|
||||
[#23253]: https://github.com/home-assistant/home-assistant/pull/23253
|
||||
[#23254]: https://github.com/home-assistant/home-assistant/pull/23254
|
||||
[#23255]: https://github.com/home-assistant/home-assistant/pull/23255
|
||||
[#23256]: https://github.com/home-assistant/home-assistant/pull/23256
|
||||
[#23258]: https://github.com/home-assistant/home-assistant/pull/23258
|
||||
[#23263]: https://github.com/home-assistant/home-assistant/pull/23263
|
||||
[#23273]: https://github.com/home-assistant/home-assistant/pull/23273
|
||||
[#23274]: https://github.com/home-assistant/home-assistant/pull/23274
|
||||
[#23277]: https://github.com/home-assistant/home-assistant/pull/23277
|
||||
[#23279]: https://github.com/home-assistant/home-assistant/pull/23279
|
||||
[#23283]: https://github.com/home-assistant/home-assistant/pull/23283
|
||||
[#23289]: https://github.com/home-assistant/home-assistant/pull/23289
|
||||
[#23296]: https://github.com/home-assistant/home-assistant/pull/23296
|
||||
[#23311]: https://github.com/home-assistant/home-assistant/pull/23311
|
||||
[#23314]: https://github.com/home-assistant/home-assistant/pull/23314
|
||||
[#23315]: https://github.com/home-assistant/home-assistant/pull/23315
|
||||
[#23320]: https://github.com/home-assistant/home-assistant/pull/23320
|
||||
[#23321]: https://github.com/home-assistant/home-assistant/pull/23321
|
||||
[#23323]: https://github.com/home-assistant/home-assistant/pull/23323
|
||||
[#23325]: https://github.com/home-assistant/home-assistant/pull/23325
|
||||
[#23327]: https://github.com/home-assistant/home-assistant/pull/23327
|
||||
[#23330]: https://github.com/home-assistant/home-assistant/pull/23330
|
||||
[#23336]: https://github.com/home-assistant/home-assistant/pull/23336
|
||||
[#23337]: https://github.com/home-assistant/home-assistant/pull/23337
|
||||
[#23339]: https://github.com/home-assistant/home-assistant/pull/23339
|
||||
[#23341]: https://github.com/home-assistant/home-assistant/pull/23341
|
||||
[#23342]: https://github.com/home-assistant/home-assistant/pull/23342
|
||||
[#23343]: https://github.com/home-assistant/home-assistant/pull/23343
|
||||
[#23344]: https://github.com/home-assistant/home-assistant/pull/23344
|
||||
[#23345]: https://github.com/home-assistant/home-assistant/pull/23345
|
||||
[#23352]: https://github.com/home-assistant/home-assistant/pull/23352
|
||||
[#23355]: https://github.com/home-assistant/home-assistant/pull/23355
|
||||
[#23359]: https://github.com/home-assistant/home-assistant/pull/23359
|
||||
[#23363]: https://github.com/home-assistant/home-assistant/pull/23363
|
||||
[#23373]: https://github.com/home-assistant/home-assistant/pull/23373
|
||||
[#23377]: https://github.com/home-assistant/home-assistant/pull/23377
|
||||
[#23381]: https://github.com/home-assistant/home-assistant/pull/23381
|
||||
[#23384]: https://github.com/home-assistant/home-assistant/pull/23384
|
||||
[#23385]: https://github.com/home-assistant/home-assistant/pull/23385
|
||||
[#23391]: https://github.com/home-assistant/home-assistant/pull/23391
|
||||
[#23397]: https://github.com/home-assistant/home-assistant/pull/23397
|
||||
[#23398]: https://github.com/home-assistant/home-assistant/pull/23398
|
||||
[#23401]: https://github.com/home-assistant/home-assistant/pull/23401
|
||||
[#23403]: https://github.com/home-assistant/home-assistant/pull/23403
|
||||
[#23409]: https://github.com/home-assistant/home-assistant/pull/23409
|
||||
[#23410]: https://github.com/home-assistant/home-assistant/pull/23410
|
||||
[#23420]: https://github.com/home-assistant/home-assistant/pull/23420
|
||||
[#23421]: https://github.com/home-assistant/home-assistant/pull/23421
|
||||
[#23433]: https://github.com/home-assistant/home-assistant/pull/23433
|
||||
[#23436]: https://github.com/home-assistant/home-assistant/pull/23436
|
||||
[#23446]: https://github.com/home-assistant/home-assistant/pull/23446
|
||||
[#23451]: https://github.com/home-assistant/home-assistant/pull/23451
|
||||
[#23454]: https://github.com/home-assistant/home-assistant/pull/23454
|
||||
[#23462]: https://github.com/home-assistant/home-assistant/pull/23462
|
||||
[#23464]: https://github.com/home-assistant/home-assistant/pull/23464
|
||||
[#23467]: https://github.com/home-assistant/home-assistant/pull/23467
|
||||
[#23468]: https://github.com/home-assistant/home-assistant/pull/23468
|
||||
[#23469]: https://github.com/home-assistant/home-assistant/pull/23469
|
||||
[#23471]: https://github.com/home-assistant/home-assistant/pull/23471
|
||||
[#23472]: https://github.com/home-assistant/home-assistant/pull/23472
|
||||
[#23473]: https://github.com/home-assistant/home-assistant/pull/23473
|
||||
[#23479]: https://github.com/home-assistant/home-assistant/pull/23479
|
||||
[#23481]: https://github.com/home-assistant/home-assistant/pull/23481
|
||||
[#23482]: https://github.com/home-assistant/home-assistant/pull/23482
|
||||
[#23484]: https://github.com/home-assistant/home-assistant/pull/23484
|
||||
[#23489]: https://github.com/home-assistant/home-assistant/pull/23489
|
||||
[#23491]: https://github.com/home-assistant/home-assistant/pull/23491
|
||||
[#23492]: https://github.com/home-assistant/home-assistant/pull/23492
|
||||
[#23493]: https://github.com/home-assistant/home-assistant/pull/23493
|
||||
[#23498]: https://github.com/home-assistant/home-assistant/pull/23498
|
||||
[#23500]: https://github.com/home-assistant/home-assistant/pull/23500
|
||||
[#23507]: https://github.com/home-assistant/home-assistant/pull/23507
|
||||
[#23508]: https://github.com/home-assistant/home-assistant/pull/23508
|
||||
[#23513]: https://github.com/home-assistant/home-assistant/pull/23513
|
||||
[#23520]: https://github.com/home-assistant/home-assistant/pull/23520
|
||||
[#23522]: https://github.com/home-assistant/home-assistant/pull/23522
|
||||
[#23523]: https://github.com/home-assistant/home-assistant/pull/23523
|
||||
[#23524]: https://github.com/home-assistant/home-assistant/pull/23524
|
||||
[#23531]: https://github.com/home-assistant/home-assistant/pull/23531
|
||||
[#23532]: https://github.com/home-assistant/home-assistant/pull/23532
|
||||
[#23534]: https://github.com/home-assistant/home-assistant/pull/23534
|
||||
[#23536]: https://github.com/home-assistant/home-assistant/pull/23536
|
||||
[#23544]: https://github.com/home-assistant/home-assistant/pull/23544
|
||||
[#23560]: https://github.com/home-assistant/home-assistant/pull/23560
|
||||
[#23562]: https://github.com/home-assistant/home-assistant/pull/23562
|
||||
[#23563]: https://github.com/home-assistant/home-assistant/pull/23563
|
||||
[#23565]: https://github.com/home-assistant/home-assistant/pull/23565
|
||||
[#23568]: https://github.com/home-assistant/home-assistant/pull/23568
|
||||
[#23572]: https://github.com/home-assistant/home-assistant/pull/23572
|
||||
[#23575]: https://github.com/home-assistant/home-assistant/pull/23575
|
||||
[#23578]: https://github.com/home-assistant/home-assistant/pull/23578
|
||||
[#23579]: https://github.com/home-assistant/home-assistant/pull/23579
|
||||
[#23580]: https://github.com/home-assistant/home-assistant/pull/23580
|
||||
[#23583]: https://github.com/home-assistant/home-assistant/pull/23583
|
||||
[#23584]: https://github.com/home-assistant/home-assistant/pull/23584
|
||||
[#23585]: https://github.com/home-assistant/home-assistant/pull/23585
|
||||
[#23586]: https://github.com/home-assistant/home-assistant/pull/23586
|
||||
[#23587]: https://github.com/home-assistant/home-assistant/pull/23587
|
||||
[#23588]: https://github.com/home-assistant/home-assistant/pull/23588
|
||||
[#23589]: https://github.com/home-assistant/home-assistant/pull/23589
|
||||
[#23592]: https://github.com/home-assistant/home-assistant/pull/23592
|
||||
[#23593]: https://github.com/home-assistant/home-assistant/pull/23593
|
||||
[#23596]: https://github.com/home-assistant/home-assistant/pull/23596
|
||||
[#23598]: https://github.com/home-assistant/home-assistant/pull/23598
|
||||
[#23599]: https://github.com/home-assistant/home-assistant/pull/23599
|
||||
[#23603]: https://github.com/home-assistant/home-assistant/pull/23603
|
||||
[#23608]: https://github.com/home-assistant/home-assistant/pull/23608
|
||||
[#23609]: https://github.com/home-assistant/home-assistant/pull/23609
|
||||
[#23611]: https://github.com/home-assistant/home-assistant/pull/23611
|
||||
[#23617]: https://github.com/home-assistant/home-assistant/pull/23617
|
||||
[#23618]: https://github.com/home-assistant/home-assistant/pull/23618
|
||||
[#23621]: https://github.com/home-assistant/home-assistant/pull/23621
|
||||
[#23622]: https://github.com/home-assistant/home-assistant/pull/23622
|
||||
[#23623]: https://github.com/home-assistant/home-assistant/pull/23623
|
||||
[#23624]: https://github.com/home-assistant/home-assistant/pull/23624
|
||||
[#23625]: https://github.com/home-assistant/home-assistant/pull/23625
|
||||
[#23635]: https://github.com/home-assistant/home-assistant/pull/23635
|
||||
[#23641]: https://github.com/home-assistant/home-assistant/pull/23641
|
||||
[#23643]: https://github.com/home-assistant/home-assistant/pull/23643
|
||||
[#23649]: https://github.com/home-assistant/home-assistant/pull/23649
|
||||
[#23651]: https://github.com/home-assistant/home-assistant/pull/23651
|
||||
[#23661]: https://github.com/home-assistant/home-assistant/pull/23661
|
||||
[#23663]: https://github.com/home-assistant/home-assistant/pull/23663
|
||||
[#23666]: https://github.com/home-assistant/home-assistant/pull/23666
|
||||
[#23667]: https://github.com/home-assistant/home-assistant/pull/23667
|
||||
[#23670]: https://github.com/home-assistant/home-assistant/pull/23670
|
||||
[#23671]: https://github.com/home-assistant/home-assistant/pull/23671
|
||||
[#23672]: https://github.com/home-assistant/home-assistant/pull/23672
|
||||
[#23673]: https://github.com/home-assistant/home-assistant/pull/23673
|
||||
[#23674]: https://github.com/home-assistant/home-assistant/pull/23674
|
||||
[#23675]: https://github.com/home-assistant/home-assistant/pull/23675
|
||||
[#23676]: https://github.com/home-assistant/home-assistant/pull/23676
|
||||
[#23677]: https://github.com/home-assistant/home-assistant/pull/23677
|
||||
[#23678]: https://github.com/home-assistant/home-assistant/pull/23678
|
||||
[#23679]: https://github.com/home-assistant/home-assistant/pull/23679
|
||||
[#23680]: https://github.com/home-assistant/home-assistant/pull/23680
|
||||
[#23685]: https://github.com/home-assistant/home-assistant/pull/23685
|
||||
[#23694]: https://github.com/home-assistant/home-assistant/pull/23694
|
||||
[#23695]: https://github.com/home-assistant/home-assistant/pull/23695
|
||||
[#23697]: https://github.com/home-assistant/home-assistant/pull/23697
|
||||
[#23700]: https://github.com/home-assistant/home-assistant/pull/23700
|
||||
[#23701]: https://github.com/home-assistant/home-assistant/pull/23701
|
||||
[#23705]: https://github.com/home-assistant/home-assistant/pull/23705
|
||||
[#23711]: https://github.com/home-assistant/home-assistant/pull/23711
|
||||
[#23712]: https://github.com/home-assistant/home-assistant/pull/23712
|
||||
[#23713]: https://github.com/home-assistant/home-assistant/pull/23713
|
||||
[#23714]: https://github.com/home-assistant/home-assistant/pull/23714
|
||||
[#23716]: https://github.com/home-assistant/home-assistant/pull/23716
|
||||
[#23724]: https://github.com/home-assistant/home-assistant/pull/23724
|
||||
[#23729]: https://github.com/home-assistant/home-assistant/pull/23729
|
||||
[#23732]: https://github.com/home-assistant/home-assistant/pull/23732
|
||||
[#23733]: https://github.com/home-assistant/home-assistant/pull/23733
|
||||
[#23736]: https://github.com/home-assistant/home-assistant/pull/23736
|
||||
[#23740]: https://github.com/home-assistant/home-assistant/pull/23740
|
||||
[#23743]: https://github.com/home-assistant/home-assistant/pull/23743
|
||||
[#23746]: https://github.com/home-assistant/home-assistant/pull/23746
|
||||
[#23751]: https://github.com/home-assistant/home-assistant/pull/23751
|
||||
[#23753]: https://github.com/home-assistant/home-assistant/pull/23753
|
||||
[#23763]: https://github.com/home-assistant/home-assistant/pull/23763
|
||||
[#23766]: https://github.com/home-assistant/home-assistant/pull/23766
|
||||
[#23769]: https://github.com/home-assistant/home-assistant/pull/23769
|
||||
[#23787]: https://github.com/home-assistant/home-assistant/pull/23787
|
||||
[#23791]: https://github.com/home-assistant/home-assistant/pull/23791
|
||||
[#23803]: https://github.com/home-assistant/home-assistant/pull/23803
|
||||
[#23807]: https://github.com/home-assistant/home-assistant/pull/23807
|
||||
[#23853]: https://github.com/home-assistant/home-assistant/pull/23853
|
||||
[#23854]: https://github.com/home-assistant/home-assistant/pull/23854
|
||||
[#23855]: https://github.com/home-assistant/home-assistant/pull/23855
|
||||
[#23857]: https://github.com/home-assistant/home-assistant/pull/23857
|
||||
[@4lloyd]: https://github.com/4lloyd
|
||||
[@Adminiuga]: https://github.com/Adminiuga
|
||||
[@BKPepe]: https://github.com/BKPepe
|
||||
[@Chris-V]: https://github.com/Chris-V
|
||||
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||
[@GeertvanHorrik]: https://github.com/GeertvanHorrik
|
||||
[@GoNzCiD]: https://github.com/GoNzCiD
|
||||
[@Jc2k]: https://github.com/Jc2k
|
||||
[@JonasPed]: https://github.com/JonasPed
|
||||
[@Julius2342]: https://github.com/Julius2342
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@MartinHjelmare]: https://github.com/MartinHjelmare
|
||||
[@SNoof85]: https://github.com/SNoof85
|
||||
[@StevenLooman]: https://github.com/StevenLooman
|
||||
[@SukramJ]: https://github.com/SukramJ
|
||||
[@Swamp-Ig]: https://github.com/Swamp-Ig
|
||||
[@ThaStealth]: https://github.com/ThaStealth
|
||||
[@TheLastProject]: https://github.com/TheLastProject
|
||||
[@TomerFi]: https://github.com/TomerFi
|
||||
[@UgaitzEtxebarria]: https://github.com/UgaitzEtxebarria
|
||||
[@ViViDboarder]: https://github.com/ViViDboarder
|
||||
[@adrum]: https://github.com/adrum
|
||||
[@alengwenus]: https://github.com/alengwenus
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andrewsayre]: https://github.com/andrewsayre
|
||||
[@anrudolph]: https://github.com/anrudolph
|
||||
[@arsaboo]: https://github.com/arsaboo
|
||||
[@atomic7777]: https://github.com/atomic7777
|
||||
[@bachya]: https://github.com/bachya
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bdurrer]: https://github.com/bdurrer
|
||||
[@bieniu]: https://github.com/bieniu
|
||||
[@brange]: https://github.com/brange
|
||||
[@bwarden]: https://github.com/bwarden
|
||||
[@carstenschroeder]: https://github.com/carstenschroeder
|
||||
[@cdce8p]: https://github.com/cdce8p
|
||||
[@cgtobi]: https://github.com/cgtobi
|
||||
[@chmielowiec]: https://github.com/chmielowiec
|
||||
[@cyrosy]: https://github.com/cyrosy
|
||||
[@dmulcahey]: https://github.com/dmulcahey
|
||||
[@dreed47]: https://github.com/dreed47
|
||||
[@droopanu]: https://github.com/droopanu
|
||||
[@elupus]: https://github.com/elupus
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[@etheralm]: https://github.com/etheralm
|
||||
[@evanjd]: https://github.com/evanjd
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@flowolf]: https://github.com/flowolf
|
||||
[@fredrike]: https://github.com/fredrike
|
||||
[@hunterjm]: https://github.com/hunterjm
|
||||
[@itn3rd77]: https://github.com/itn3rd77
|
||||
[@ktnrg45]: https://github.com/ktnrg45
|
||||
[@ludeeus]: https://github.com/ludeeus
|
||||
[@maddenp]: https://github.com/maddenp
|
||||
[@max-te]: https://github.com/max-te
|
||||
[@mcc05]: https://github.com/mcc05
|
||||
[@mikeage]: https://github.com/mikeage
|
||||
[@mitchellrj]: https://github.com/mitchellrj
|
||||
[@nielstron]: https://github.com/nielstron
|
||||
[@panosmz]: https://github.com/panosmz
|
||||
[@pascallj]: https://github.com/pascallj
|
||||
[@phdelodder]: https://github.com/phdelodder
|
||||
[@pnbruckner]: https://github.com/pnbruckner
|
||||
[@pszafer]: https://github.com/pszafer
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@raman325]: https://github.com/raman325
|
||||
[@robbiet480]: https://github.com/robbiet480
|
||||
[@robmarkcole]: https://github.com/robmarkcole
|
||||
[@rohankapoorcom]: https://github.com/rohankapoorcom
|
||||
[@rolfberkenbosch]: https://github.com/rolfberkenbosch
|
||||
[@scop]: https://github.com/scop
|
||||
[@sowelie]: https://github.com/sowelie
|
||||
[@teliov]: https://github.com/teliov
|
||||
[@tsvi]: https://github.com/tsvi
|
||||
[@unixko]: https://github.com/unixko
|
||||
[@vigonotion]: https://github.com/vigonotion
|
||||
[@w1ll1am23]: https://github.com/w1ll1am23
|
||||
[@zanglang]: https://github.com/zanglang
|
||||
[@zewelor]: https://github.com/zewelor
|
||||
[@zxdavb]: https://github.com/zxdavb
|
||||
[ads docs]: /components/ads/
|
||||
[alexa docs]: /components/alexa/
|
||||
[ambiclimate docs]: /components/ambiclimate/
|
||||
[amcrest docs]: /components/amcrest/
|
||||
[automation docs]: /components/automation/
|
||||
[bizkaibus docs]: /components/bizkaibus/
|
||||
[bluesound docs]: /components/bluesound/
|
||||
[bom docs]: /components/bom/
|
||||
[caldav docs]: /components/caldav/
|
||||
[cast docs]: /components/cast/
|
||||
[counter docs]: /components/counter/
|
||||
[daikin docs]: /components/daikin/
|
||||
[danfoss_air docs]: /components/danfoss_air/
|
||||
[deconz docs]: /components/deconz/
|
||||
[discord docs]: /components/discord/
|
||||
[discovery docs]: /components/discovery/
|
||||
[dnsip docs]: /components/dnsip/
|
||||
[dyson docs]: /components/dyson/
|
||||
[econet docs]: /components/econet/
|
||||
[enocean docs]: /components/enocean/
|
||||
[epsonworkforce docs]: /components/epsonworkforce/
|
||||
[essent docs]: /components/essent/
|
||||
[evohome docs]: /components/evohome/
|
||||
[frontend docs]: /components/frontend/
|
||||
[geniushub docs]: /components/geniushub/
|
||||
[geofency docs]: /components/geofency/
|
||||
[glances docs]: /components/glances/
|
||||
[google docs]: /components/google/
|
||||
[google_assistant docs]: /components/google_assistant/
|
||||
[greeneye_monitor docs]: /components/greeneye_monitor/
|
||||
[hangouts docs]: /components/hangouts/
|
||||
[heos docs]: /components/heos/
|
||||
[homekit docs]: /components/homekit/
|
||||
[homekit_controller docs]: /components/homekit_controller/
|
||||
[homematic docs]: /components/homematic/
|
||||
[homematicip_cloud docs]: /components/homematicip_cloud/
|
||||
[honeywell docs]: /components/honeywell/
|
||||
[html5 docs]: /components/html5/
|
||||
[huawei_lte docs]: /components/huawei_lte/
|
||||
[hue docs]: /components/hue/
|
||||
[ihc docs]: /components/ihc/
|
||||
[incomfort docs]: /components/incomfort/
|
||||
[influxdb docs]: /components/influxdb/
|
||||
[input_datetime docs]: /components/input_datetime/
|
||||
[iqvia docs]: /components/iqvia/
|
||||
[lcn docs]: /components/lcn/
|
||||
[lifx docs]: /components/lifx/
|
||||
[liveboxplaytv docs]: /components/liveboxplaytv/
|
||||
[local_file docs]: /components/local_file/
|
||||
[locative docs]: /components/locative/
|
||||
[logi_circle docs]: /components/logi_circle/
|
||||
[mastodon docs]: /components/mastodon/
|
||||
[media_extractor docs]: /components/media_extractor/
|
||||
[media_player docs]: /components/media_player/
|
||||
[meteoalarm docs]: /components/meteoalarm/
|
||||
[mobile_app docs]: /components/mobile_app/
|
||||
[mqtt docs]: /components/mqtt/
|
||||
[mysensors docs]: /components/mysensors/
|
||||
[namecheapdns docs]: /components/namecheapdns/
|
||||
[netatmo docs]: /components/netatmo/
|
||||
[netatmo_public docs]: /components/netatmo_public/
|
||||
[netgear_lte docs]: /components/netgear_lte/
|
||||
[nextbus docs]: /components/nextbus/
|
||||
[nmap_tracker docs]: /components/nmap_tracker/
|
||||
[notify docs]: /components/notify/
|
||||
[oasa_telematics docs]: /components/oasa_telematics/
|
||||
[ohmconnect docs]: /components/ohmconnect/
|
||||
[onboarding docs]: /components/onboarding/
|
||||
[onvif docs]: /components/onvif/
|
||||
[opencv docs]: /components/opencv/
|
||||
[openuv docs]: /components/openuv/
|
||||
[opple docs]: /components/opple/
|
||||
[orangepi_gpio docs]: /components/orangepi_gpio/
|
||||
[otp docs]: /components/otp/
|
||||
[panasonic_bluray docs]: /components/panasonic_bluray/
|
||||
[philips_js docs]: /components/philips_js/
|
||||
[plex docs]: /components/plex/
|
||||
[pollen docs]: /components/pollen/
|
||||
[ps4 docs]: /components/ps4/
|
||||
[ptvsd docs]: /components/ptvsd/
|
||||
[rainmachine docs]: /components/rainmachine/
|
||||
[recorder docs]: /components/recorder/
|
||||
[rest docs]: /components/rest/
|
||||
[sendgrid docs]: /components/sendgrid/
|
||||
[serial_pm docs]: /components/serial_pm/
|
||||
[sesame docs]: /components/sesame/
|
||||
[seventeentrack docs]: /components/seventeentrack/
|
||||
[shodan docs]: /components/shodan/
|
||||
[simplisafe docs]: /components/simplisafe/
|
||||
[slack docs]: /components/slack/
|
||||
[snmp docs]: /components/snmp/
|
||||
[sonos docs]: /components/sonos/
|
||||
[spotcrime docs]: /components/spotcrime/
|
||||
[sql docs]: /components/sql/
|
||||
[startca docs]: /components/startca/
|
||||
[stream docs]: /components/stream/
|
||||
[sun docs]: /components/sun/
|
||||
[switchbot docs]: /components/switchbot/
|
||||
[switcher_kis docs]: /components/switcher_kis/
|
||||
[syncthru docs]: /components/syncthru/
|
||||
[systemmonitor docs]: /components/systemmonitor/
|
||||
[tapsaff docs]: /components/tapsaff/
|
||||
[ted5000 docs]: /components/ted5000/
|
||||
[telegram_bot docs]: /components/telegram_bot/
|
||||
[tellduslive docs]: /components/tellduslive/
|
||||
[tensorflow docs]: /components/tensorflow/
|
||||
[thethingsnetwork docs]: /components/thethingsnetwork/
|
||||
[tplink_lte docs]: /components/tplink_lte/
|
||||
[traccar docs]: /components/traccar/
|
||||
[trend docs]: /components/trend/
|
||||
[ubee docs]: /components/ubee/
|
||||
[upc_connect docs]: /components/upc_connect/
|
||||
[upnp docs]: /components/upnp/
|
||||
[velux docs]: /components/velux/
|
||||
[vesync docs]: /components/vesync/
|
||||
[vizio docs]: /components/vizio/
|
||||
[websocket_api docs]: /components/websocket_api/
|
||||
[xiaomi_aqara docs]: /components/xiaomi_aqara/
|
||||
[xmpp docs]: /components/xmpp/
|
||||
[yeelight docs]: /components/yeelight/
|
||||
[yr docs]: /components/yr/
|
||||
[zeroconf docs]: /components/zeroconf/
|
||||
[zestimate docs]: /components/zestimate/
|
||||
[zha docs]: /components/zha/
|
||||
[zwave docs]: /components/zwave/
|
BIN
source/images/blog/2019-05-release-93/automation-editor.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
source/images/blog/2019-05-release-93/components.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
source/images/supported_brands/ambiclimate.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
source/images/supported_brands/bizkaibus.png
Executable file
After Width: | Height: | Size: 53 KiB |
BIN
source/images/supported_brands/essent.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
source/images/supported_brands/incomfort.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
source/images/supported_brands/iqvia.png
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
source/images/supported_brands/meteoalarm.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 8.0 KiB |
BIN
source/images/supported_brands/switcher_boiler.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
source/images/supported_brands/visual-studio.png
Normal file
After Width: | Height: | Size: 744 KiB |