Merge branch 'rc' into current

This commit is contained in:
Franck Nijhof 2020-01-15 21:42:58 +01:00
commit d5d8c0c938
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
85 changed files with 3201 additions and 399 deletions

View File

@ -100,9 +100,9 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 0 current_major_version: 0
current_minor_version: 103 current_minor_version: 104
current_patch_version: 6 current_patch_version: 0
date_released: 2020-01-06 date_released: 2020-01-15
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.

View File

@ -17,7 +17,7 @@ automation:
to: 'rain' to: 'rain'
condition: condition:
- condition: state - condition: state
entity_id: group.all_devices entity_id: all
state: 'home' state: 'home'
- condition: time - condition: time
after: '14:00' after: '14:00'

View File

@ -14,7 +14,7 @@ automation:
offset: "-00:45:00" offset: "-00:45:00"
condition: condition:
condition: state condition: state
entity_id: group.all_devices entity_id: all
state: home state: home
action: action:
service: light.turn_on service: light.turn_on

View File

@ -21,7 +21,7 @@ automation:
# if we leave the house during the day. # if we leave the house during the day.
trigger: trigger:
- platform: state - platform: state
entity_id: group.all_devices entity_id: all
to: 'not_home' to: 'not_home'
condition: condition:
- platform: state - platform: state
@ -36,7 +36,7 @@ automation:
# when we get home unless it's nighttime. # when we get home unless it's nighttime.
trigger: trigger:
- platform: state - platform: state
entity_id: group.all_devices entity_id: all
to: 'home' to: 'home'
condition: condition:
- condition: state - condition: state
@ -59,9 +59,9 @@ For ManyThing support, you need to set up an `on` and `off` event.
You can use the developer tools to test your [Maker Service](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant UI, open the sidebar, click on the first icon in the developer tools. This should get you to the 'Call Service' screen. Fill in the following values: You can use the developer tools to test your [Maker Service](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant UI, open the sidebar, click on the first icon in the developer tools. This should get you to the 'Call Service' screen. Fill in the following values:
Field | Value | Field | Value |
----- | ----- | ------------ | --------------------------- |
domain | `ifttt` | domain | `ifttt` |
service | `trigger` | service | `trigger` |
Service Data | `{"event": "manything_on"}` | Service Data | `{"event": "manything_on"}` |

View File

@ -20,13 +20,13 @@ automation:
event: sunset event: sunset
offset: '-01:00:00' offset: '-01:00:00'
- platform: state - platform: state
entity_id: group.all_devices entity_id: all
to: 'home' to: 'home'
condition: condition:
# Prefix the first line of each condition configuration # Prefix the first line of each condition configuration
# with a '-'' to enter multiple # with a '-'' to enter multiple
- condition: state - condition: state
entity_id: group.all_devices entity_id: all
state: 'home' state: 'home'
- condition: time - condition: time
after: '16:00:00' after: '16:00:00'
@ -40,7 +40,7 @@ automation:
- alias: 'Rule 2 - Away Mode' - alias: 'Rule 2 - Away Mode'
trigger: trigger:
platform: state platform: state
entity_id: group.all_devices entity_id: all
to: 'not_home' to: 'not_home'
action: action:
service: light.turn_off service: light.turn_off

View File

@ -1650,7 +1650,7 @@ for tracker in trackers:
### everyone_home() ### everyone_home()
A convenience function to determine if everyone is home. Use this in preference to getting the state of `group.all_devices()` as it avoids a race condition when using state change callbacks for device trackers. A convenience function to determine if everyone is home.
#### Synopsis #### Synopsis
@ -1669,7 +1669,7 @@ if self.everyone_home():
``` ```
### anyone_home() ### anyone_home()
A convenience function to determine if one or more person is home. Use this in preference to getting the state of `group.all_devices()` as it avoids a race condition when using state change callbacks for device trackers. A convenience function to determine if one or more person is home.
#### Synopsis #### Synopsis
@ -1689,7 +1689,7 @@ if self.anyone_home():
``` ```
### noone_home() ### noone_home()
A convenience function to determine if no people are at home. Use this in preference to getting the state of group.all_devices() as it avoids a race condition when using state change callbacks for device trackers. A convenience function to determine if no people are at home.
#### Synopsis #### Synopsis

View File

@ -80,6 +80,11 @@ panel_display:
required: false required: false
default: false default: false
type: boolean type: boolean
autobypass:
description: "If this is set to `true`, then when arming (home or away), it will automatically bypass all open zones (sending '6#')."
required: false
default: false
type: boolean
zones: zones:
description: "AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/integrations/alarmdecoder) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor integrations.*" description: "AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/integrations/alarmdecoder) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor integrations.*"
required: false required: false

View File

@ -207,6 +207,7 @@ Example configuration:
```yaml ```yaml
alexa: alexa:
smart_home: smart_home:
locale: en-US
endpoint: https://api.amazonalexa.com/v3/events endpoint: https://api.amazonalexa.com/v3/events
client_id: !secret alexa_client_id client_id: !secret alexa_client_id
client_secret: !secret alexa_client_secret client_secret: !secret alexa_client_secret
@ -226,6 +227,8 @@ alexa:
display_categories: LIGHT display_categories: LIGHT
``` ```
Set the `locale` to the locale of your Alexa devices. Supported locales are: `de-DE`, `en-AU`, `en-CA`, `en-GB`, `en-IN`, `en-US`, `es-ES`, `es-MX`, `fr-CA`, `fr-FR`, `it-IT`, `ja-JP`. Default is `en-US`.
The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode (i.e. "Send Alexa Events" enabled). Please note the following if you want to enable proactive mode: The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode (i.e. "Send Alexa Events" enabled). Please note the following if you want to enable proactive mode:
- There are different endpoint URLs, depending on the region of your skill. Please check the available endpoints at <https://developer.amazon.com/docs/smarthome/send-events-to-the-alexa-event-gateway.html#endpoints> - There are different endpoint URLs, depending on the region of your skill. Please check the available endpoints at <https://developer.amazon.com/docs/smarthome/send-events-to-the-alexa-event-gateway.html#endpoints>

View File

@ -7,7 +7,6 @@ ha_category:
- Binary Sensor - Binary Sensor
- Camera - Camera
- Sensor - Sensor
- Switch
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_release: 0.49 ha_release: 0.49
--- ---
@ -19,7 +18,6 @@ There is currently support for the following device types within Home Assistant:
- Binary Sensor - Binary Sensor
- Camera - Camera
- Sensor - Sensor
- Switch (deprecated)
## Configuration ## Configuration
@ -117,34 +115,12 @@ sensors:
type: list type: list
default: None default: None
keys: keys:
motion_detector:
description: >
Return `true`/`false` when motion is detected.
**Note:** The motion_detector sensor is deprecated and will be removed in a future release.
Use **binary_sensors** option **motion_detected** instead.
sdcard: sdcard:
description: Return the SD card usage by reporting the total and used space. description: Return the SD card usage by reporting the total and used space.
ptz_preset: ptz_preset:
description: > description: >
Return the number of PTZ preset positions Return the number of PTZ preset positions
configured for the given camera. configured for the given camera.
switches:
description: >
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
default: None
keys:
motion_detection:
description: Enable/disable motion detection setting.
motion_recording:
description: Enable/disable recording on motion detection setting.
control_light: control_light:
description: > description: >
Automatically control the camera's indicator light, turning it on if the audio or video streams are enabled, and turning it off if both streams are disabled. Automatically control the camera's indicator light, turning it on if the audio or video streams are enabled, and turning it off if both streams are disabled.
@ -254,7 +230,3 @@ amcrest:
``` ```
To check if your Amcrest camera is supported/tested, visit the [supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix) link from the `python-amcrest` project. To check if your Amcrest camera is supported/tested, visit the [supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix) link from the `python-amcrest` project.
<div class='note warning'>
In previous versions, switch devices in setups with multiple cameras, would not have specific entity ID causing them to change randomly after each Home Assistant restart. The current version adds the name of the camera at the end of the switch entity ID, making it more specific and consistent and causes the name option to be required in a multi-camera system. This behavior matches the sensor behavior of the Amcrest component. Because of this, older automations may require updates to the entity ID.
</div>

View File

@ -72,7 +72,7 @@ adb_server_port:
default: 5037 default: 5037
type: integer type: integer
get_sources: get_sources:
description: Whether or not to retrieve the running apps as the list of sources for Fire TV devices; not used for Android TV devices. description: Whether or not to retrieve the running apps as the list of sources.
required: false required: false
default: true default: true
type: boolean type: boolean
@ -193,9 +193,9 @@ If the setup for your Android TV or Fire TV device fails, then there is probably
## Services ## Services
### (Fire TV devices only) `media_player.select_source` ### `media_player.select_source`
For Fire TV devices, you can launch an app using the `media_player.select_source` command. Simply provide the app ID as the `source`. You can also stop an app by prefixing the app ID with a `!`. For example, you could define [scripts](/docs/scripts) to start and stop Netflix as follows: You can launch an app on your device using the `media_player.select_source` command. Simply provide the app ID as the `source`. You can also stop an app by prefixing the app ID with a `!`. For example, you could define [scripts](/docs/scripts) to start and stop Netflix as follows:
```yaml ```yaml
start_netflix: start_netflix:
@ -251,6 +251,24 @@ You can also use the command `GET_PROPERTIES` to retrieve the properties used by
A list of various intents can be found [here](https://gist.github.com/mcfrojd/9e6875e1db5c089b1e3ddeb7dba0f304). A list of various intents can be found [here](https://gist.github.com/mcfrojd/9e6875e1db5c089b1e3ddeb7dba0f304).
### `androidtv.download` and `androidtv.upload`
You can use the `androidtv.download` service to download a file from your Android TV / Fire TV device to your Home Assistant instance.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name of Android TV / Fire TV entity.
| `device_path` | no | The filepath on the Android TV / Fire TV device.
| `local_path` | no | The filepath on your Home Assistant instance.
Similarly, you can use the `androidtv.upload` service to upload a file from Home Assistant instance to Android TV / Fire TV devices.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | Name(s) of Android TV / Fire TV entities.
| `device_path` | no | The filepath on the Android TV / Fire TV device.
| `local_path` | no | The filepath on your Home Assistant instance.
## Custom State Detection ## Custom State Detection
The Android TV integration works by polling the Android TV / Fire TV device at a regular interval and collecting a handful of properties. Unfortunately, there is no standard API for determining the state of the device to which all apps adhere. Instead, the backend `androidtv` package uses three of the properties that it collects to determine the state: `audio_state`, `media_session_state`, and `wake_lock_size`. The correct logic for determining the state differs depending on the current app, and the backend `androidtv` package implements app-specific state detection logic for a handful of apps. Of course, it is not feasible to implement custom logic for each and every app in the `androidtv` package. Moreover, the correct state detection logic may differ across devices and device configurations. The Android TV integration works by polling the Android TV / Fire TV device at a regular interval and collecting a handful of properties. Unfortunately, there is no standard API for determining the state of the device to which all apps adhere. Instead, the backend `androidtv` package uses three of the properties that it collects to determine the state: `audio_state`, `media_session_state`, and `wake_lock_size`. The correct logic for determining the state differs depending on the current app, and the backend `androidtv` package implements app-specific state detection logic for a handful of apps. Of course, it is not feasible to implement custom logic for each and every app in the `androidtv` package. Moreover, the correct state detection logic may differ across devices and device configurations.

View File

@ -52,6 +52,11 @@ coils:
description: Coil number. description: Coil number.
required: true required: true
type: integer type: integer
device_class:
description: The [type/class](/integrations/binary_sensor/#device-class) of the binary sensor to set the icon in the frontend.
required: false
type: device_class
default: None
{% endconfiguration %} {% endconfiguration %}
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation. It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.

View File

@ -119,17 +119,17 @@ Force a refresh of the Blink system.
Trigger a camera to take a new still image. Trigger a camera to take a new still image.
| Service Data Attribute | Optional | Description | | Service Data Attribute | Optional | Description |
|------------------------|----------|----------------------------------------| | ---------------------- | -------- | -------------------------------------- |
| `name` | no | Name of camera to take new image with. | | `name` | no | Name of camera to take new image with. |
### `blink.save_video` ### `blink.save_video`
Save the last recorded video of a camera to a local file. Note that in most cases, Home Assistant will need to know that the directory is writable via the `whitelist_external_dirs` in your `configuration.yaml` file (see example below). Save the last recorded video of a camera to a local file. Note that in most cases, Home Assistant will need to know that the directory is writable via the `whitelist_external_dirs` in your `configuration.yaml` file (see example below).
| Service Data Attribute | Optional | Description | | Service Data Attribute | Optional | Description |
|------------------------|----------|------------------------------------------| | ---------------------- | -------- | ---------------------------------------- |
| `name` | no | Name of camera containing video to save. | | `name` | no | Name of camera containing video to save. |
| `filename` | no | Location of save file. | | `filename` | no | Location of save file. |
```yaml ```yaml
@ -178,7 +178,7 @@ Here, this example assumes your blink module is named `My Sync Module` and that
alias: Arm Blink When Away alias: Arm Blink When Away
trigger: trigger:
platform: state platform: state
entity_id: group.all_devices entity_id: all
to: 'not_home' to: 'not_home'
action: action:
service: alarm_control_panel.alarm_arm_away service: alarm_control_panel.alarm_arm_away
@ -194,7 +194,7 @@ Similar to the previous example, this automation will disarm blink when arriving
alias: Disarm Blink When Home alias: Disarm Blink When Home
trigger: trigger:
platform: state platform: state
entity_id: group.all_devices entity_id: all
to: 'home' to: 'home'
action: action:
service: alarm_control_panel.alarm_disarm service: alarm_control_panel.alarm_disarm

View File

@ -0,0 +1,25 @@
---
title: Brother Printer
description: Instructions on how to integrate a Brother printer into Home Assistant.
logo: brother.png
ha_category:
- System Monitor
ha_release: 0.104
ha_iot_class: Local Polling
ha_config_flow: true
---
The `Brother Printer` integration allows you to read current data from your local Brother printer.
It usually provides information about the device's state, the left amount of ink or toner and the remaining life of the drum or other parts of the printer.
The integration monitors every supported part.
## Configuration
To add `Brother Printer` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Brother Printer**.
<div class="note warning">
Some very old Brother printers use different data format and these models are not supported. The integration will show information about that during configuration.
</div>

View File

@ -105,7 +105,7 @@ Note: deCONZ automatically signals Home Assistant when new sensors are added, bu
## Remote control devices ## Remote control devices
Remote controls (ZHASwitch category) will not be exposed as regular entities, but as events named `deconz_event` with a payload of `id` and `event`. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level. Remote controls (ZHASwitch category) will not be exposed as regular entities, but as events named `deconz_event` with a payload of `id` and `event` and in case of the Aqara Magic Cube also `gesture`. Id will be the device name from deCONZ and Event will be the momentary state of the switch. Gesture is used for some Aqara Magic Cube specific events like: flip 90 degrees, flip 180 degrees, clockwise and counter clockwise rotation. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level.
Typical values for switches, the event codes are 4 numbers where the first and last number are of interest here. Typical values for switches, the event codes are 4 numbers where the first and last number are of interest here.
@ -120,6 +120,20 @@ Where for example on a Philips Hue Dimmer, 2001 would be holding the dim up butt
For the IKEA Tradfri remote the first digit equals, 1 for the middle button, 2 for up, 3 for down, 4 for left, and 5 for right (e.g., "event: 1002" for middle button short release). For the IKEA Tradfri remote the first digit equals, 1 for the middle button, 2 for up, 3 for down, 4 for left, and 5 for right (e.g., "event: 1002" for middle button short release).
Specific gestures for the Aqara Magic Cube are:
| Gesture | Description |
|---------|-------------|
| 0 | Awake |
| 1 | Shake |
| 2 | Free fall |
| 3 | Flip 90 |
| 4 | Flip 180 |
| 5 | Move on any side |
| 6 | Double tap on any side |
| 7 | Turn clockwise |
| 8 | Turn counter clockwise |
### Finding your events ### Finding your events
Navigate to **Developer tools->Events**. In the section **Listen to events** add `deconz_event` and press **START LISTENING**. All events from deCONZ will now be shown and by pushing your remote button while monitoring the log it should be fairly easy to find the events you are looking for. Navigate to **Developer tools->Events**. In the section **Listen to events** add `deconz_event` and press **START LISTENING**. All events from deCONZ will now be shown and by pushing your remote button while monitoring the log it should be fairly easy to find the events you are looking for.
@ -141,6 +155,7 @@ Currently supported devices as device triggers:
- Aqara Mini Switch - Aqara Mini Switch
- Aqara Round Switch - Aqara Round Switch
- Aqara Square Switch - Aqara Square Switch
- Aqara Magic Cube
#### Requesting support for new device trigger #### Requesting support for new device trigger
@ -199,6 +214,18 @@ automation:
brightness: > brightness: >
{% set bri = state_attr('light.lamp', 'brightness') | int %} {% set bri = state_attr('light.lamp', 'brightness') | int %}
{{ [bri-30, 0] | max }} {{ [bri-30, 0] | max }}
- alias: 'Turn lamp on when turning cube clockwise'
initial_state: 'on'
trigger:
platform: event
event_type: deconz_event
event_data:
id: remote_control_1
gesture: 7
action:
service: light.turn_on
entity_id: light.lamp
``` ```
{% endraw %} {% endraw %}
@ -447,7 +474,6 @@ The `entity_id` name will be `sensor.device_name`, where `device_name` is define
- Philips Hue Motion Sensor - Philips Hue Motion Sensor
- IKEA Trådfri Remote - IKEA Trådfri Remote
- Philips Hue Dimmer Switch - Philips Hue Dimmer Switch
- Xiaomi Cube
- Xiaomi Aqara Smart Light Switch - Xiaomi Aqara Smart Light Switch
- Xiaomi Aqara Smart Wireless Switch - Xiaomi Aqara Smart Wireless Switch
- Xiaomi Smart Home Wireless Switch - Xiaomi Smart Home Wireless Switch

View File

@ -94,4 +94,14 @@ A few notes:
- To remotely power on Marantz receivers with Home Assistant, the Auto-Standby feature must be enabled in the receiver's settings. - To remotely power on Marantz receivers with Home Assistant, the Auto-Standby feature must be enabled in the receiver's settings.
- Sound mode: The command to set a specific sound mode is different from the value of the current sound mode reported by the receiver (sound_mode_raw). There is a key-value structure (sound_mode_dict) that matches the raw sound mode to one of the possible commands to set a sound mode (for instance {'MUSIC':['PLII MUSIC']}. If you get a "Not able to match sound mode" warning, please open an issue on the [denonavr library](https://github.com/scarface-4711/denonavr), stating which raw sound mode could not be matched so it can be added to the matching dictionary. You can find the current raw sound mode under "Development Tools/States" in the front panel. - Sound mode: The command to set a specific sound mode is different from the value of the current sound mode reported by the receiver (sound_mode_raw). There is a key-value structure (sound_mode_dict) that matches the raw sound mode to one of the possible commands to set a sound mode (for instance {'MUSIC':['PLII MUSIC']}. If you get a "Not able to match sound mode" warning, please open an issue on the [denonavr library](https://github.com/scarface-4711/denonavr), stating which raw sound mode could not be matched so it can be added to the matching dictionary. You can find the current raw sound mode under "Development Tools/States" in the front panel.
#### Service `denonavr.get_command`
Generic commands are supported, in particular, any command supported by the telnet protocol can be sent to `/goform/formiPhoneAppDirect.xml`, e.g., `/goform/formiPhoneAppDirect.xml?VSMONI2` to switch HDMI outputs on supported receivers. IR remote codes can also be sent to this endpoint, e.g. "/goform/formiPhoneAppDirect.xml?RCKSK0410370" as a mute toggle. A comprehensive list of telnet protocol commands is available at https://ca.denon.com/ca/product/hometheater/receivers/avrx4400h?docname=AVR-X6400H_X4400H_X3400H_X2400H_X1400H_S930H_S730H_PROTOCOL_V01.xlsx and a full list of IR codes at http://www.denon-hifi.nl/uk/product/hometheater/avreceivers/avr3313?docname=AVR3313_IR_CODE_V01.pdf
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------- |
| `entity_id` | no | Name of entity to send command to. For example `media_player.marantz`|
| `command` | no | Command to send to device, e.g. `/goform/formiPhoneAppDirect.xml?VSMONI2`|
[Denon]: /integrations/denon [Denon]: /integrations/denon

View File

@ -0,0 +1,41 @@
---
title: Elgato Key Light
description: Instructions on how to integrate an Elgato Key Light with Home Assistant.
logo: elgato.jpg
ha_category:
- Light
ha_release: 0.104
ha_iot_class: Local Polling
ha_qa_scale: platinum
ha_config_flow: true
---
The [Elgato Key Light](https://www.elgato.com/en/gaming/key-light) sets the
bar for high-end studio lightning. With 80 LEDs, that put out a massive
2500 lumens, and can change the color temperature as well.
The LED light panel is created specifically, and designed for streamers
and content creators, many of whom operate on platforms like YouTube and Twitch.
## Configuration
This integration can be configured using the integrations in the
Home Assistant frontend.
Menu: **Configuration** -> **Integrations**.
In most cases, Elgato Key Lights devices will be automatically discovered by
Home Assistant. Those automatically discovered devices are listed
on the integrations page.
If for some reason (e.g., due to lack of mDNS support on your network),
the Elgato Key Light isn't discovered, it can be added manually.
Click on the `+` sign to add an integration and click on **Elgato Key Light**.
After completing the configuration flow, the Key Light integration will be
available.
## Lights
This integration adds the Key Light device as a light in Home Assistant, and
allows you to control the color temperature, brightness, and its on/off state.

View File

@ -21,7 +21,7 @@ The `enocean` integration adds support for some of these devices. You will need
There is currently support for the following device types within Home Assistant: There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor) - Wall switches - [Binary Sensor](#binary-sensor) - Wall switches
- [Sensor](#sensor) - Power meters, temperature sensors and humidity sensors - [Sensor](#sensor) - Power meters, temperature sensors, humidity sensors and window handles
- [Light](#light) - Dimmers - [Light](#light) - Dimmers
- [Switch](#switch) - [Switch](#switch)
@ -34,7 +34,7 @@ The following devices have been confirmed to work out of the box:
- Omnio WS-CH-102-L-rw battery-less wall switch - Omnio WS-CH-102-L-rw battery-less wall switch
- Permundo PSC234 (switch and power monitor) - Permundo PSC234 (switch and power monitor)
- EnOcean STM-330 temperature sensor - EnOcean STM-330 temperature sensor
- Hoppe SecuSignal window handle from Somfy
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 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. If it does, it will most likely work.
@ -162,6 +162,7 @@ The EnOcean sensor platform currently supports the following device types:
* [power sensor](#power-sensor) * [power sensor](#power-sensor)
* [humidity sensor](#humidity-sensor) * [humidity sensor](#humidity-sensor)
* [temperature sensor](#temperature-sensor) * [temperature sensor](#temperature-sensor)
* [window handle](#window-handle)
To use your EnOcean device, you first have to set up your [EnOcean hub](#hub) and then add the following to your `configuration.yaml` file: 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:
@ -190,7 +191,6 @@ device_class:
default: powersensor default: powersensor
{% endconfiguration %} {% endconfiguration %}
### Power sensor ### Power sensor
This has been tested with a Permundo PSC234 switch, but any device sending EEP **A5-12-01** messages will work. This has been tested with a Permundo PSC234 switch, but any device sending EEP **A5-12-01** messages will work.
@ -206,7 +206,6 @@ sensor:
device_class: powersensor device_class: powersensor
``` ```
### Humidity sensor ### Humidity sensor
The following [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) are supported: The following [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) are supported:
@ -300,6 +299,29 @@ sensor:
range_to: 250 range_to: 250
``` ```
### Window handle
As of now, the Hoppe SecuSignal window handle from Somfy has been successfully tested. However, any mechanical window handle that follows the EnOcean RPS telegram spec F6 10 00 (Hoppe AG) is supported.
To configure a window handle, add the following code to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry for window handle EEP F6-10-00
sensor:
- name: Living Room Window Handle
platform: enocean
id: [0xDE,0xAD,0xBE,0xEF]
device_class: windowhandle
```
The configuration does not have any optional parameters.
The window handle sensor can have the following states:
- **closed**: The window handle is in closed position (typically down, or 6 o'clock)
- **open**: The window handle is in open position (typically left or right, or 3 o'clock or 9 o'clock)
- **tilt**: The window handle is in tilt position (typically up or 12 o'clock)
## Switch ## 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. An EnOcean switch can take many forms. Currently, only a few types have been tested: Permundo PSC234 and Nod On SIN-2-1-01.

View File

@ -29,6 +29,14 @@ ip_address:
description: The local IP address of your Envoy. Leave blank to use the default host name 'envoy', but this may not always be reliable. You should be able to just browse to this IP address. description: The local IP address of your Envoy. Leave blank to use the default host name 'envoy', but this may not always be reliable. You should be able to just browse to this IP address.
required: false required: false
type: string type: string
username:
description: Access more information beyond the basics, such as Inverter data. Some Envoy devices do not use the standard username which is used by the API. This lets the user use a different username than the default of 'envoy'.
required: false
type: string
password:
description: Password to be used with the username configuration variable.
required: false
type: string
monitored_conditions: monitored_conditions:
description: The list of conditions to monitor. If you have an Envoy that doesn't support consumption metrics (ie. Envoy-C), it's best only configure the production metrics. description: The list of conditions to monitor. If you have an Envoy that doesn't support consumption metrics (ie. Envoy-C), it's best only configure the production metrics.
required: false required: false

View File

@ -64,7 +64,7 @@ The first time Home Assistant will connect to your Freebox, you will need to
authorize it by pressing the right arrow on the facade of the Freebox when authorize it by pressing the right arrow on the facade of the Freebox when
prompted to do so. prompted to do so.
To make the WiFi switch working you will have to add "Modification des réglages de la Freebox To make the WiFi switch and the reboot service working you will have to add "Modification des réglages de la Freebox
" permission to Home Assistant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications". " permission to Home Assistant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications".
### Supported routers ### Supported routers
@ -96,6 +96,12 @@ refreshes the devices states.
This platform offers you sensors to monitor a Freebox router. The monitored conditions are This platform offers you sensors to monitor a Freebox router. The monitored conditions are
instant upload and download rates in KB/s. instant upload and download rates in KB/s.
## Service
### Service `freebox.reboot`
This service will reboot your Freebox router. It does not take any parameter. Be aware there is no confirmation.
## Switch ## Switch
This platform offers you a switch to toggle the Wifi on or off. This will toggle all WiFi interfaces of the router (all SSID and all bands). This platform offers you a switch to toggle the Wifi on or off. This will toggle all WiFi interfaces of the router (all SSID and all bands).

View File

@ -0,0 +1,32 @@
---
title: GIOŚ
description: Instructions on how to integrate GIOŚ (Polish Chief Inspectorate Of Environmental Protection) air quality service into Home Assistant.
logo: gios.png
ha_category:
- Health
ha_release: 0.104
ha_iot_class: Cloud Polling
ha_config_flow: true
---
The `gios` integration uses the [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) web service as a source for air quality data for your location.
## Setup
To obtain `station_id` of the measuring station, go to [GIOŚ](http://powietrze.gios.gov.pl/pjp/current) page, select the measuring station on the map and click the "More Info" link. The address of the opened page will look like this: `http://powietrze.gios.gov.pl/pjp/current/station_details/chart/291` and `291` will be `station_id` of measuring station.
## Configuration
To add GIOŚ to your installation, go to **Configuration** >> **Integrations** in the UI and enable the GIOŚ integration.
{% configuration %}
name:
description: Manually specify Name.
required: false
type: string
default: GIOŚ
station_id:
description: Specify ID of the measuring station.
required: true
type: integer
{% endconfiguration %}

View File

@ -104,8 +104,6 @@ google_assistant:
light.living_room: light.living_room:
expose: false expose: false
room: LIVING_ROOM room: LIVING_ROOM
group.all_automations:
expose: false
``` ```
{% configuration %} {% configuration %}
@ -198,10 +196,6 @@ Currently, the following domains are available to be used with Google Assistant,
- sensor (temperature setting for temperature sensors and humidity setting for humidity sensors) - sensor (temperature setting for temperature sensors and humidity setting for humidity sensors)
- Alarm Control Panel (arm/disarm) - Alarm Control Panel (arm/disarm)
<div class='note warning'>
The domain `groups` contains groups containing all items, such as `group.all_automations`. When telling Google Assistant to shut down everything, this will lead in this example to disabling all automations.
</div>
### Secure Devices ### Secure Devices
Certain devices are considered secure, including anything in the `lock` domain, `alarm_control_panel` domain and `covers` with device types `garage` and `door`. Certain devices are considered secure, including anything in the `lock` domain, `alarm_control_panel` domain and `covers` with device types `garage` and `door`.

View File

@ -62,18 +62,6 @@ control:
type: string type: string
{% endconfiguration %} {% endconfiguration %}
## Default groups
Some integrations automatically create special groups containing integration entities. These groups are named like `group.all_...`, for example:
- `group.all_switches`
- `group.all_lights`
- `group.all_devices`
- `group.all_scripts`
- `group.all_automations`
You can see list of these groups in **States** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page of the **Developer Tools**.
## Group behavior ## Group behavior
By default when any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`. If you set the `all` option to `true` though, this behavior is inverted and all members of the group have to be `on` for the group to turn on as well. By default when any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`. If you set the `all` option to `true` though, this behavior is inverted and all members of the group have to be `on` for the group to turn on as well.
@ -150,40 +138,3 @@ Notice in the example below that in order to refer to the group "Living Room", y
- group.living_room - group.living_room
- group.bedroom - group.bedroom
``` ```
Default groups appear in the HOME tab, if not overridden by user views and groups. Default groups are hidden by default, so you must [customize](/docs/configuration/customizing-devices/) them to be visible in your custom groups and views.
```yaml
# Example configuration.yaml to include default groups in custom view
customize:
group.all_automations:
hidden: false
group.all_scripts:
hidden: false
group:
automation_view:
name: Automation
view: true
entities:
- group.all_automations
- group.all_scripts
```
## Customize group order
You can also order your groups using [customize](/docs/configuration/customizing-devices/) with `order: ` if they don't show up in the order you want them in.
```yaml
# Example configuration.yaml to order groups with order:
customize:
group.all_automations:
order: 1
group.all_scripts:
order: 2
group:
automation_view:
name: Automation
view: true
entities:
- group.all_automations
- group.all_scripts
```

View File

@ -21,6 +21,10 @@ HERE offers a Freemium Plan which includes 250,000 free Transactions per month.
By default HERE will deactivate your account if you exceed the free Transaction limit for the month. You can add payment details to reenable your account as described [here](https://developer.here.com/faqs) By default HERE will deactivate your account if you exceed the free Transaction limit for the month. You can add payment details to reenable your account as described [here](https://developer.here.com/faqs)
### Migrate from app_code to api_key
HERE has changed its authentication mechanism. It is no longer possible to use `app_id` and `app_code`. Existing users have to follow the [migration guide](https://developer.here.com/documentation/authentication/dev_guide/topics/api-key-credentials.html) in order to retrieve the now needed `api_key`.
## Configuration ## Configuration
To enable the sensor, add the following lines to your `configuration.yaml` file: To enable the sensor, add the following lines to your `configuration.yaml` file:
@ -29,8 +33,7 @@ To enable the sensor, add the following lines to your `configuration.yaml` file:
# Example entry for configuration.yaml # Example entry for configuration.yaml
sensor: sensor:
- platform: here_travel_time - platform: here_travel_time
app_id: "YOUR_APP_ID" api_key: "YOUR_API_KEY"
app_code: "YOUR_APP_CODE"
origin_latitude: "51.222975" origin_latitude: "51.222975"
origin_longitude: "9.267577" origin_longitude: "9.267577"
destination_latitude: "51.257430" destination_latitude: "51.257430"
@ -38,12 +41,8 @@ sensor:
``` ```
{% configuration %} {% configuration %}
app_id: api_key:
description: "Your application's API id (get one by following the instructions above)." description: "Your application's API key (get one by following the instructions above)."
required: true
type: string
app_code:
description: "Your application's API code (get one by following the instructions above)."
required: true required: true
type: string type: string
origin_latitude: origin_latitude:
@ -111,15 +110,13 @@ Tracking can be set up to track entities of type `device_tracker`, `zone`, `sens
sensor: sensor:
# Tracking entity to entity # Tracking entity to entity
- platform: here_travel_time - platform: here_travel_time
app_id: "YOUR_APP_ID" api_key: "YOUR_API_KEY"
app_code: "YOUR_APP_CODE"
name: Phone To Home name: Phone To Home
origin_entity_id: device_tracker.mobile_phone origin_entity_id: device_tracker.mobile_phone
destination_entity_id: zone.home destination_entity_id: zone.home
# Full config # Full config
- platform: here_travel_time - platform: here_travel_time
app_id: "YOUR_APP_ID" api_key: "YOUR_API_KEY"
app_code: "YOUR_APP_CODE"
name: Work to Home By Bike name: Work to Home By Bike
origin_entity_id: zone.work origin_entity_id: zone.work
destination_latitude: 59.2842 destination_latitude: 59.2842

View File

@ -12,6 +12,8 @@ ha_category:
- Switch - Switch
- Binary Sensor - Binary Sensor
- Sensor - Sensor
- Fan
- Health
ha_release: 0.68 ha_release: 0.68
ha_iot_class: Local Polling ha_iot_class: Local Polling
ha_config_flow: true ha_config_flow: true
@ -35,8 +37,10 @@ There is currently support for the following device types within Home Assistant:
- Light (HomeKit lights) - Light (HomeKit lights)
- Lock (HomeKit lock) - Lock (HomeKit lock)
- Switch (HomeKit switches) - Switch (HomeKit switches)
- Binary Sensor (HomeKit motion sensors and contact sensors) - Binary Sensor (HomeKit motion, contact and smoke sensors)
- Sensor (HomeKit humidity, temperature, co2 and light level sensors) - Sensor (HomeKit humidity, temperature, co2 and light level sensors)
- Fan
- Air Quality
HomeKit IP accessories for these device types may work with some caveats: HomeKit IP accessories for these device types may work with some caveats:

View File

@ -136,6 +136,10 @@ host:
description: IP address of CCU/Homegear device. description: IP address of CCU/Homegear device.
required: true required: true
type: string type: string
port:
description: "Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010"
required: false
type: integer
username: username:
description: When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU. description: When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU.
required: false required: false
@ -175,6 +179,7 @@ homematic:
hosts: hosts:
ccu2: ccu2:
host: 127.0.0.1 host: 127.0.0.1
port: 2001
username: Admin username: Admin
password: secret password: secret

View File

@ -105,6 +105,7 @@ Within this delay the device registration should be completed in the App, otherw
* Key Ring Remote Control - alarm (*HmIP-KRCA*) (battery only) * Key Ring Remote Control - alarm (*HmIP-KRCA*) (battery only)
* Alarm Siren (*HmIP-ASIR, -B1*) (battery only) * Alarm Siren (*HmIP-ASIR, -B1*) (battery only)
* Remote Control for brand switches 2-button (*HmIP-BRC2*) (battery only) * Remote Control for brand switches 2-button (*HmIP-BRC2*) (battery only)
* Pluggable Power Supply Monitoring (*HmIP-PMFS*)
* homematicip_cloud.climate * homematicip_cloud.climate
* Climate group (*HmIP-HeatingGroup*) * Climate group (*HmIP-HeatingGroup*)
@ -126,6 +127,7 @@ Within this delay the device registration should be completed in the App, otherw
* Shutter actuator for flush-mount (*HmIP-FROLL*) * Shutter actuator for flush-mount (*HmIP-FROLL*)
* Blind Actuator for brand switches (*HmIP-BBL*) * Blind Actuator for brand switches (*HmIP-BBL*)
* Blind Actuator for flush-mount (*HmIP-FBL*) * Blind Actuator for flush-mount (*HmIP-FBL*)
* Garage door module for Tormatic (*HmIP-MOD_TM*)
* homematicip_cloud.light * homematicip_cloud.light
* Switch actuator and meter for brand switches (*HmIP-BSM*) * Switch actuator and meter for brand switches (*HmIP-BSM*)
@ -156,6 +158,7 @@ Within this delay the device registration should be completed in the App, otherw
* Switch Circuit Board - 1x channels (*HmIP-PCBS*) * Switch Circuit Board - 1x channels (*HmIP-PCBS*)
* Switch Circuit Board - 2x channels (*HmIP-PCBS2*) * Switch Circuit Board - 2x channels (*HmIP-PCBS2*)
* Printed Circuit Board Switch Battery (*HmIP-PCBS-BAT*) * Printed Circuit Board Switch Battery (*HmIP-PCBS-BAT*)
* Switch Actuator for heating systems 2 channels (*HmIP-WHS2*)
* homematicip_cloud.weather * homematicip_cloud.weather
* Weather Sensor basic (*HmIP-SWO-B*) * Weather Sensor basic (*HmIP-SWO-B*)
@ -183,6 +186,7 @@ Afterward, this device can be implemented into Home Assistant.
- `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately. - `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately.
- `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index. - `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index.
- `homematicip_cloud.dump_hap_config`: Dump the configuration of the Homematic IP Access Point(s). - `homematicip_cloud.dump_hap_config`: Dump the configuration of the Homematic IP Access Point(s).
- `homematicip_cloud.reset_energy_counter`: Reset energy counter of measuring actuators.
### Service Examples ### Service Examples
@ -267,6 +271,16 @@ action:
anonymize: True anonymize: True
``` ```
Reset energy counter of measuring actuators.
```yaml
...
action:
service: homematicip_cloud.reset_energy_counter
data:
entity_id: switch.livingroom
```
## Additional info ## Additional info

View File

@ -106,13 +106,56 @@ notify:
required: false required: false
type: map type: map
keys: keys:
name:
description: Name of the notification service.
default: "`huawei_lte`"
required: false
type: string
recipient: recipient:
description: The phone number of a default recipient or a list with multiple recipients. description: The phone number of a default recipient or a list with multiple recipients.
required: false required: false
type: [string, list] type: [string, list]
{% endconfiguration %} {% endconfiguration %}
### Tested devices ## Services
The following router action services are available. When invoked by a user, administrator access is required.
### Service `huawei_lte.clear_traffic_statistics`
Clear traffic statistics.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `url` | yes, if only one router configured | Router URL. |
### Service `huawei_lte.reboot`
Reboot router.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `url` | yes, if only one router configured | Router URL. |
### Service `huawei_lte.suspend_integration`
Suspend integration. Suspending logs the integration out from the router, and stops accessing it.
Useful e.g. if accessing the router web interface from another source such as a web browser is temporarily required.
Invoke the `huawei_lte.resume_integration` service to resume.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `url` | yes, if only one router configured | Router URL. |
### Service `huawei_lte.resume_integration`
Resume suspended integration.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `url` | yes, if only one router configured | Router URL. |
## Tested devices
Devices we know to be working with this integration based on the [documentation of used libraries](https://github.com/Salamek/huawei-lte-api/#huawei-lte-api) and reports by users: Devices we know to be working with this integration based on the [documentation of used libraries](https://github.com/Salamek/huawei-lte-api/#huawei-lte-api) and reports by users:

View File

@ -4,46 +4,69 @@ description: Instructions on how to use iCloud to track devices in Home Assistan
logo: icloud.png logo: icloud.png
ha_category: ha_category:
- Presence Detection - Presence Detection
- Sensor
ha_iot_class: Cloud Polling
ha_release: '0.10' ha_release: '0.10'
ha_config_flow: true
--- ---
The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track the location of their iOS devices. The `icloud` integration allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices.
There is currently support for the following platforms within Home Assistant:
- [Device Tracker](#device-tracker)
- [Sensor](#sensor)
It does require that your devices are registered with the [Find My](https://www.apple.com/uk/icloud/find-my/) service. It does require that your devices are registered with the [Find My](https://www.apple.com/uk/icloud/find-my/) service.
To integrate iCloud in Home Assistant, add the following section to your `configuration.yaml` file: ## Setup the integration
There is two ways to integrate iCloud in Home Assistant
### Via the frontend
Menu: *Configuration* -> *Integrations*. Search for "iCloud", add your credentials, click submit.
If you add the integration for the first time for an account:
1. Choose a trusted device from the list and submit.
2. It will send you a text message on your trusted device, add the received code to the next form and submit (if you missed the right code, you will be back to the previous step, and retry).
3. You are done!
If you already added the integration before, you are done!
### Via the configuration file
Add the following section to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
device_tracker: icloud:
- platform: icloud - username: USERNAME
username: USERNAME
password: PASSWORD password: PASSWORD
account_name: accountname
``` ```
{% configuration %} {% configuration %}
username: username:
description: The username for the iCloud account. description: Your iCloud account email.
required: true required: true
type: string type: string
password: password:
description: The password for your given username. description: Your iCloud account password.
required: true required: true
type: string type: string
account_name: account_name:
description: The friendly name for the account_name. If this isn't given, it will use the account_name of the username (so the part before the `@` in the email address). description: A friendly name for your iCloud account. If this isn't given, it will use the part before the `@` of the username.
required: false required: false
type: string type: string
max_interval: max_interval:
description: Maximum interval in minutes between subsequent location upates. This tracker uses dynamic intervals for requesting location updates. When iphone is stationary, interval will eventually be set to `max_interval` to save battery. When iphone starts moving again interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min. description: Maximum interval in minutes between subsequent location updates. This tracker uses dynamic intervals for requesting location updates. When the iPhone is stationary, the interval will eventually be set to `max_interval` to save battery. When the iPhone starts moving again, the interval will be dynamically updated to 1 min. Note that updating interval to 1 min might be delayed by maximum `max_interval` minutes. Minimum value is 1 min.
required: false required: false
default: 30 default: 30
type: integer type: integer
gps_accuracy_threshold: gps_accuracy_threshold:
description: iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows more precise location monitoring and fewer false positive zone changes. description: iCloud location updates come with some gps_accuracy varying from 10 to 5000 meters. This setting defines the accuracy threshold in meters for a location update. Less accurate updates will be discarded by this tracker. This allows for more precise location monitoring and fewer false-positive zone changes.
required: false required: false
default: 1000 default: 500
type: integer type: integer
{% endconfiguration %} {% endconfiguration %}
@ -52,7 +75,9 @@ Low `max_interval` may cause battery drainage as it wakes up your device to get
</div> </div>
<div class='note warning'> <div class='note warning'>
You may receive an email from Apple stating that someone has logged into your account. You may receive an email and a notification from Apple saying that someone has logged into your account.
For the notification, press "Allow", then "OK".
</div> </div>
If 2 Step Authentication is enabled for your iCloud account, some time after Home Assistant startup the integration will ask which device you want to use as the Trusted Device via a notification in the Home Assistant UI. The integration will send an SMS prompt to that device with the auth code to enter in Home Assistant. The duration of this authentication is determined by Apple, but is currently 2 months, so you will only need to verify your account every two months. If 2 Step Authentication is enabled for your iCloud account, some time after Home Assistant startup the integration will ask which device you want to use as the Trusted Device via a notification in the Home Assistant UI. The integration will send an SMS prompt to that device with the auth code to enter in Home Assistant. The duration of this authentication is determined by Apple, but is currently 2 months, so you will only need to verify your account every two months.
@ -61,8 +86,36 @@ If 2 Step Authentication is enabled for your iCloud account, some time after Hom
To prevent excessive battery drainage, a dynamic interval is used for each individual device instead of a fixed interval for all devices linked to one account. The dynamic interval is based on the current zone of a device, the distance towards home and the battery level of the device. To prevent excessive battery drainage, a dynamic interval is used for each individual device instead of a fixed interval for all devices linked to one account. The dynamic interval is based on the current zone of a device, the distance towards home and the battery level of the device.
4 services are available for this component: ## In case of troubleshooting
- **update**: This service can be used to ask for an update of a certain iDevice. The `account_name` and `device_name` are optional. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iphone location. Can be used in automations when manual location update is needed, e.g., to check if anyone is home when door's been opened.
- **lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional. Go into your Home Assistant configuration `.storage` folder and delete the "icloud" folder, then retry.
- **set_interval**: This service will change the dynamic interval of an iDevice. The `account_name` and `device_name` are optional. If `interval` is used in the service_data, the iDevice will be updated with that new interval. That interval will be fixed until the iDevice changes zone or if this service is called again. If `interval` isn't used in the service_data, the interval for that iDevice will revert back to its default dynamic interval based on its current zone, its distance towards home and its battery level.
- **reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are found by the integration or if you have added a new iDevice to your account. The `account_name` is optional. ## Platforms
### Device Tracker
The iCloud integration will track available devices on your iCloud account.
### Sensor
The iCloud integration will add a battery sensor for each iCloud devices available on your iCloud account.
## Services
4 services are available:
### Service `icloud.update`
This service can be used to ask an update of a certain iDevice or all devices linked to an iCloud account. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iPhone location. It can be used in automations when a manual location update is needed, e.g., to check if anyone is home when a door been opened.
### Service `icloud.play_sound`
This service will play the Lost iPhone sound on your iDevice. It will still ring if you are on "Mute" or "Do not disturb" mode.
### Service `icloud.display_message`
This service will display a message on your iDevice. It can also ring your device.
### Service `icloud.lost_device`
This service will put your iDevice on "lost" mode (compatible devices only). You have to provide a phone number with a suffixed [country code](https://en.wikipedia.org/wiki/List_of_country_calling_codes) and a message.

View File

@ -44,6 +44,18 @@ input_boolean:
type: icon type: icon
{% endconfiguration %} {% endconfiguration %}
### Services
This integration provides the following services to modify the state of the `input_boolean` and a service to reload the
configuration without restarting Home Assistant itself.
| Service | Data | Description |
| ------- | ---- | ----------- |
| `turn_on` | `entity_id(s)`<br>`area_id(s)` | Set the value of specific `input_boolean` entities to `on`
| `turn_off` | `entity_id(s)`<br>`area_id(s)` | Set the value of specific `input_boolean` entities to `off`
| `toggle` | `entity_id(s)`<br>`area_id(s)` | Toggle the value of specific `input_boolean` entities
| `reload` | | Reload `input_boolean` configuration |
### Restore State ### Restore State
If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping. If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping.

View File

@ -84,7 +84,7 @@ If you set a valid value for `initial` this integration will start with state se
### Services ### Services
Available service: `input_datetime.set_datetime`. Available service: `input_datetime.set_datetime` and `input_datetime.reload`.
Service data attribute | Format String | Description Service data attribute | Format String | Description
-|-|- -|-|-
@ -94,6 +94,8 @@ Service data attribute | Format String | Description
To set both the date and time in the same call, use `date` and `time` together, or use `datetime` by itself. Using `datetime` has the advantage that both can be set using one template. To set both the date and time in the same call, use `date` and `time` together, or use `datetime` by itself. Using `datetime` has the advantage that both can be set using one template.
`input_dateteime.reload` service allows one to reload `input_datetime`'s configuration without restarting Home Assistant itself.
## Automation Examples ## Automation Examples
The following example shows the usage of the `input_datetime` as a trigger in an The following example shows the usage of the `input_datetime` as a trigger in an

View File

@ -75,6 +75,18 @@ input_number:
type: icon type: icon
{% endconfiguration %} {% endconfiguration %}
### Services
This integration provides the following services to modify the state of the `input_number` and a service to reload the
configuration without restarting Home Assistant itself.
| Service | Data | Description |
| ------- | ---- | ----------- |
| `decrement` | `entity_id(s)`<br>`area_id(s)` | Decrement the value of specific `input_number` entities by `step`
| `increment` | `entity_id(s)`<br>`area_id(s)` | Increment the value of specific `input_number` entities by `step`
| `reload` | | Reload `input_number` configuration |
| `set_value` | `value`<br>`entity_id(s)`<br>`area_id(s)` | Set the value of specific `input_number` entities
### Restore State ### Restore State
If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping. If you set a valid value for `initial` this integration will start with state set to that value. Otherwise, it will restore the state it had prior to Home Assistant stopping.

View File

@ -76,6 +76,7 @@ This integration provides three services to modify the state of the `input_selec
| `set_options` | `options`<br>`entity_id(s)` | Set the options for specific `input_select` entities. | `set_options` | `options`<br>`entity_id(s)` | Set the options for specific `input_select` entities.
| `select_previous` | | Select the previous option. | `select_previous` | | Select the previous option.
| `select_next` | | Select the next option. | `select_next` | | Select the next option.
| `reload` | | Reload `input_select` configuration |
### Scenes ### Scenes

View File

@ -73,11 +73,12 @@ input_text:
### Services ### Services
This integration provides a single service to modify the state of the `input_text`. This integration provides a service to modify the state of the `input_text` and a service to reload the `input_text` configuration without restarting Home Assistant itself.
| Service | Data | Description | | Service | Data | Description |
| ------- | ---- | ----------- | | ------- | ---- | ----------- |
| `set_value` | `value`<br>`entity_id(s)` | Set the value for specific `input_text` entities. | `set_value` | `value`<br>`entity_id(s)` | Set the value for specific `input_text` entities.
| `reload` | | Reload `input_text` configuration |
### Restore State ### Restore State

View File

@ -0,0 +1,54 @@
---
title: IntesisHome
description: Instructions how to integrate IntesisHome AC devices with Home Assistant
logo: intesishome.png
ha_category: Climate
ha_release: 0.104
ha_iot_class: Cloud Push
---
The `IntesisHome` climate platform lets you control [IntesisHome](https://www.intesishome.com) and [Airconwithme](https://www.airconwithme.com) devices. IntesisHome provides integrations with air conditioners, including Panasonic, Daikin, Fujitsu, Toshiba, LG and more.
Note: IntesisHome products are a separate product line to IntesisBox. This platform does not support IntesisBox devices (which can be controlled locally using the WMP protocol).
## Configuration
To set it up, add the following information to your `configuration.yaml` file:
```yaml
climate:
- platform: intesishome
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: "Your username for [IntesisHome.com](https://user.intesishome.com) / [Airconwithme](https://user.airconwithme.com)"
required: true
type: string
password:
description: Your password for IntesisHome
required: true
type: string
device:
description: "`IntesisHome` or `airconwithme`."
required: false
default: IntesisHome
type: string
{% endconfiguration %}
This component opens a TCP connection with the IntesisHome API to receive temperature and status updates, and to issue commands.
By default, the component will be named using the friendly device name from the IntesisHome website or application.
If internet connectivity is lost, the device will be marked as unavailable after 5 minutes.
### Supported services
Available services:
- `climate.set_temperature`
- `climate.set_fan_mode`
- `climate.set_operation_mode`
- `climate.set_swing_mode`
- `climate.turn_on`
- `climate.turn_off`

View File

@ -0,0 +1,85 @@
---
title: KEF
description: Instructions on how to integrate KEF Speakers into Home Assistant.
logo: kef.png
ha_category:
- Media Player
ha_iot_class: Local Polling
ha_release: 0.104
---
The `kef` platform allows you to control the [KEF LS50 Wireless](https://international.kef.com/products/ls50-wireless) and [KEF LSX](https://international.kef.com/products/lsx) speakers from Home Assistant.
Supported devices:
- KEF LS50 Wireless
- KEF LSX (untested)
To add KEF Speakers to your installation, add the following to your `configuration.yaml` file:
## Configuration
```yaml
# Example configuration.yaml entry
- platform: kef
host: IP_ADDRESS
type: LS50
```
{% configuration %}
host:
description: "IP address of the device. Example: 192.168.1.32"
required: true
type: string
type:
description: The speaker type, either `LS50` or `LSX`.
required: true
type: string
name:
description: The name of the device
required: false
default: KEF
type: string
port:
description: The port of the device
required: false
default: 50001
type: integer
maximum_volume:
description: Maximum volume allowed. Number between 0 and 1.
required: false
default: 0.5
type: float
volume_step:
description: Volume step when increasing volume.
required: false
default: 0.05
type: float
inverse_speaker_mode:
description: Switch channels from L/R to R/L.
required: false
default: false
type: boolean
standby_time:
description: The speakers automatically turn to standby mode after either `20` or `60` minutes. Leave out for the speaker to never go into standby mode.
required: false
type: integer
{% endconfiguration %}
## Advanced configuration example
```yaml
# Example configuration.yaml entry
- platform: kef
host: IP_ADDRESS
type: LS50
name: My KEF speakers
maximum_volume: 0.6
volume_step: 0.05
```
Notes:
- The LS50 Wireless is tested with the latest firmware of 19-11-2019: `p6.3001902221.105039422` and older firmware: `p6.2101809171.105039422`
[KEF Speakers]: /integrations/kef/

View File

@ -99,18 +99,6 @@ devices:
required: false required: false
default: true default: true
type: boolean type: boolean
aliasses:
description: (**deprecated**) Alternative RFLink ID's this device is known by.
required: false
type: [list, string]
group_aliasses:
description: "(**deprecated**) `aliases` which only respond to group commands."
required: false
type: [list, string]
no_group_aliasses:
description: "(**deprecated**) `aliases` which do not respond to group commands."
required: false
type: [list, string]
{% endconfiguration %} {% endconfiguration %}
### Light state ### Light state

View File

@ -0,0 +1,29 @@
---
title: Local IP Address
description: Instructions on how to integrate the Local IP Address sensor into Home Assistant.
logo: home-assistant.png
ha_category:
- Network
ha_iot_class: Local Polling
ha_release: 0.104
ha_config_flow: true
---
The `local_ip` sensor will expose the local (LAN) IP address of your Home Assistant instance. This can be useful when your instance has a static public hostname (for example, if you use the Nabu Casa service), but have a dynamically allocated local LAN address (for example, configured via DHCP).
The sensor can be added via the user interface or using the `configuration.yaml` file. To enable this sensor, via the `configuration.yaml` file, add the following minimal configuration:
```yaml
# Example configuration.yaml entry
local_ip:
```
To configure via the user interface, select the `Local IP Address` integration.
{% configuration %}
name:
description: Friendly name of the sensor.
required: false
type: string
default: local_ip
{% endconfiguration %}

View File

@ -51,6 +51,16 @@ payload_unlock:
required: false required: false
type: string type: string
default: UNLOCK default: UNLOCK
state_locked:
description: The value that represents the lock to be in locked state
required: false
type: string
default: locked
state_unlocked:
description: The value that represents the lock to be in unlocked state
required: false
type: string
default: unlocked
optimistic: optimistic:
description: Flag that defines if lock works in optimistic mode. description: Flag that defines if lock works in optimistic mode.
required: false required: false

View File

@ -33,6 +33,10 @@ To edit `/boot/config.txt` on Hass.io use [this documentation](https://developer
When an interface adapter is used, sensors can be accessed on Linux hosts via [owfs 1-Wire file system](https://owfs.org/). When using an interface adapter and the owfs, the `mount_dir` option must be configured to correspond a directory, where owfs device tree has been mounted. When an interface adapter is used, sensors can be accessed on Linux hosts via [owfs 1-Wire file system](https://owfs.org/). When using an interface adapter and the owfs, the `mount_dir` option must be configured to correspond a directory, where owfs device tree has been mounted.
### owserver
When an interface adapter is used, you can also access sensors on a remote or local Linux host that is running owserver. owserver by default runs on port 4304. Use the `host` option to specify the host or IP of the remote server, and the optional `port` option to change the port from the default.
### Units with multiple sensors ### Units with multiple sensors
This platform works with devices with multiple sensors which will cause a discontinuity in recorded values. Existing devices will receive a new ID and therefore show up as new devices. This platform works with devices with multiple sensors which will cause a discontinuity in recorded values. Existing devices will receive a new ID and therefore show up as new devices.
@ -72,6 +76,15 @@ mount_dir:
description: Location of device tree if owfs driver used. description: Location of device tree if owfs driver used.
required: false required: false
type: string type: string
host:
description: Remote or local host running owserver.
required: false
type: string
port:
description: "The port number of the owserver (requires `host`)."
required: false
type: integer
default: 4304
{% endconfiguration %} {% endconfiguration %}
### Configuration Example ### Configuration Example

View File

@ -87,6 +87,8 @@ person:
- device_tracker.beacon - device_tracker.beacon
``` ```
If you change the YAML, you can reload it by calling the `person.reload` service.
### Customizing the picture for a person ### Customizing the picture for a person
By following the instructions on the [customizing entities](/docs/configuration/customizing-devices#entity_picture) page, you can customize the picture used for a person entity in the `customize:` section of your configuration. For example: By following the instructions on the [customizing entities](/docs/configuration/customizing-devices#entity_picture) page, you can customize the picture used for a person entity in the `customize:` section of your configuration. For example:

View File

@ -11,7 +11,7 @@ ha_codeowners:
- '@johnluetke' - '@johnluetke'
--- ---
The `pi_hole` integration allows you to retrieve statistics and interact with a single [Pi-hole](https://pi-hole.net/) system. The `pi_hole` integration allows you to retrieve statistics and interact with a [Pi-hole](https://pi-hole.net/) system.
## Configuration ## Configuration
@ -20,16 +20,23 @@ To enable this integration with the default configuration, add the following lin
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
pi_hole: pi_hole:
- host: IP_ADDRESS
``` ```
{% configuration %} {% configuration %}
host: host:
description: > description: >
The hostname (and port), e.g., '192.168.0.3:4865' of the host where Pi-hole is running. If your Pi-Hole instance is the Hass.io add-on, you *must* specify port `4865`. The hostname (and port), e.g. '192.168.0.3:4865' of the host where Pi-hole is running. Hass.io add-on users should be sure to specify port `4865`.
required: true
type: string
name:
description: >
The name for this Pi-hole. This name will be a part of the sensors created, e.g. `name: My Awesome Pi-hole` would result in sensor names beginning with `sensor.my_awesome_pi_hole_`.
**Note:** If you configure multiple Pi-Holes, each one *must* have a unique name.
required: false required: false
type: string type: string
default: pi.hole default: Pi-hole
location: location:
description: The installation location of the Pi-hole API. description: The installation location of the Pi-hole API.
required: false required: false
@ -53,14 +60,39 @@ api_key:
default: None default: None
{% endconfiguration %} {% endconfiguration %}
### Full example ### Full examples
Single Pi-hole running via Hass.io add-on:
```yaml ```yaml
# Example configuration.yaml entry
pi_hole: pi_hole:
host: 'localhost:4865' - host: 'localhost:4865'
ssl: false ```
verify_ssl: false
Multiple Pi-holes:
```yaml
pi_hole:
- host: '192.168.0.2'
- host: '192.168.0.3'
name: 'Secondary Pi-Hole'
```
Pi-hole with a self-signed certificate:
```yaml
pi_hole:
- host: 'pi.hole'
ssl: true
verify_ssl: false
```
Pi-hole with an `api_key` that allows it to be enabled or disabled:
```yaml
pi_hole:
- host: 'pi.hole'
api_key: !secret pi_hole_api_key
``` ```
## Services ## Services
@ -69,17 +101,22 @@ The platform provides the following services to interact with your Pi-hole.
### Service `pi_hole.disable` ### Service `pi_hole.disable`
Disable your Pi-hole for the specified amount of time. Disables configured Pi-hole(s) for the specified amount of time.
| Service data attribute | Required | Type | Description | | Service data attribute | Required | Type | Description |
| ---------------------- | -------- | -------- | ----------- | | ---------------------- | -------- | -------- | ----------- |
| `duration` | `True` | timedelta | Time for which Pi-hole should be disabled | | `duration` | `True` | timedelta | Time for which Pi-hole should be disabled |
| `name` | `False` | string | If preset, disables the named Pi-hole, otherwise, disables all configured Pi-holes |
_Note: This service requires `api_key` to be specified in the configuration._ _Note: This service requires `api_key` to be specified in the configuration._
### Service `pi_hole.enable` ### Service `pi_hole.enable`
Enable your Pi-hole. Enables configured Pi-holes(s).
| Service data attribute | Required | Type | Description |
| ---------------------- | -------- | -------- | ----------- |
| `name` | `False` | string | If preset, enables the named Pi-hole, otherwise, enables all configured Pi-holes |
_Note: This service requires `api_key` to be specified in the configuration._ _Note: This service requires `api_key` to be specified in the configuration._

View File

@ -22,6 +22,7 @@ There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor) - [Binary Sensor](#binary-sensor)
- [Sensor](#sensor) - [Sensor](#sensor)
- [Switch](#switch) - [Switch](#switch)
- [Light](#light)
## Configuration ## Configuration
@ -304,6 +305,52 @@ switch:
state: 'off' state: 'off'
``` ```
## Light
Pilight dimmer devices, which can have different brightness values, can be used as a light.
The configuration parameters are the same for dimmers and switches.
{% configuration %}
lights:
description: The list that contains all command lights.
required: true
type: string
keys:
entry:
description: Name of the command light, which are the same like for switches. Multiple entries are possible.
required: true
type: list
{% endconfiguration %}
### Example
```yaml
light:
- platform: pilight
lights:
test2:
on_code:
protocol: kaku_dimmer
id: 23298822
unit: 10
'on': 1
off_code:
protocol: kaku_dimmer
id: 23298822
unit: 10
'off': 1
on_code_receive:
protocol: kaku_dimmer
id: 23298822
unit: 10
state: 'on'
off_code_receive:
protocol: kaku_dimmer
id: 23298822
unit: 10
state: 'off'
```
## Troubleshooting ## Troubleshooting
- A list of tested RF transceiver hardware is available [here](https://manual.pilight.org/electronics/index.html). This might be useful before buying. - A list of tested RF transceiver hardware is available [here](https://manual.pilight.org/electronics/index.html). This might be useful before buying.

View File

@ -48,7 +48,7 @@ wait_for_ack:
default: true default: true
type: boolean type: boolean
ignore_devices: ignore_devices:
description: List of device id's to ignore. Supports wildcards (`*`) at the end. description: List of device id's to ignore. Supports wildcards (`*`, `?`).
required: false required: false
type: [list, string] type: [list, string]
reconnect_interval: reconnect_interval:
@ -137,10 +137,6 @@ rflink:
This configuration will ignore the button `1` of the `newkaku` device with ID `000001`, all devices of the `digitech` protocol and all switches of the `kaku` protocol device with codewheel ID `1`. This configuration will ignore the button `1` of the `newkaku` device with ID `000001`, all devices of the `digitech` protocol and all switches of the `kaku` protocol device with codewheel ID `1`.
<div class='note'>
Wildcards only work at the end of the ID, not in the middle or front!
</div>
### Device support ### Device support
Even though a lot of devices are supported by RFLink, not all have been tested/implemented. If you have a device supported by RFLink but not by this integration please consider testing and adding support yourself. Even though a lot of devices are supported by RFLink, not all have been tested/implemented. If you have a device supported by RFLink but not by this integration please consider testing and adding support yourself.

View File

@ -11,6 +11,7 @@ ha_category:
- Light - Light
ha_release: 0.42 ha_release: 0.42
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_config_flow: true
--- ---
The `ring` implementation allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant. The `ring` implementation allows you to integrate your [Ring.com](https://ring.com/) devices in Home Assistant.
@ -22,14 +23,18 @@ There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor) - [Sensor](#sensor)
- [Switch](#switch) - [Switch](#switch)
Currently only doorbells are supported by this sensor.
<p class='note'> <p class='note'>
This component does NOT allow for live viewing of your Ring camera within Home Assistant. This component does NOT allow for live viewing of your Ring camera within Home Assistant.
</p> </p>
## Configuration ## Configuration
Go to the integrations page in your config and click on new integration -> Ring.
## YAML configuration
YAML configuration is around for people that prefer YAML, but it's not preferred! The YAML method does not work with two-factor authentication and it requires you to store your username/password. The normal method only requires you to enter username/password once.
To enable device linked in your [Ring.com](https://ring.com/) account, add the following to your `configuration.yaml` file: To enable device linked in your [Ring.com](https://ring.com/) account, add the following to your `configuration.yaml` file:
```yaml ```yaml
@ -48,36 +53,11 @@ password:
description: The password for accessing your Ring account. description: The password for accessing your Ring account.
required: true required: true
type: string type: string
scan_interval:
description: How frequently to query for new video, or current sensor values in seconds
required: false
type: integer
default: 10
{% endconfiguration %} {% endconfiguration %}
## Binary Sensor ## Binary Sensor
Once you have enabled the [Ring integration](/integrations/ring), you can start using a binary sensor. Add the following to your `configuration.yaml` file: Once you have enabled the [Ring integration](/integrations/ring), you can start using a binary sensor. Currently, it supports doorbell, external chimes and stickup cameras.
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: ring
```
{% configuration %}
monitored_conditions:
description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled.
required: false
type: list
keys:
ding:
description: Return a boolean value when the doorbell button was pressed.
motion:
description: Return a boolean value when a movement was detected by the Ring doorbell.
{% endconfiguration %}
Currently it supports doorbell, external chimes and stickup cameras.
## Camera ## Camera
@ -85,24 +65,7 @@ Currently it supports doorbell, external chimes and stickup cameras.
Please note that downloading and playing Ring video will require a Ring Protect plan. Please note that downloading and playing Ring video will require a Ring Protect plan.
</div> </div>
Once you have enabled the [Ring integration](/integrations/ring), you can start using the camera platform. Add the following to your `configuration.yaml` file: Once you have enabled the [Ring integration](/integrations/ring), you can start using the camera platform. Currently, it supports doorbell and stickup cameras.
```yaml
# Example configuration.yaml entry
camera:
- platform: ring
```
{% configuration %}
ffmpeg_arguments:
description: Extra options to pass to ffmpeg, e.g., image quality or video filter options.
required: false
type: string
{% endconfiguration %}
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/integrations/ffmpeg/) documentation.
Currently it supports doorbell and stickup cameras.
## Saving the videos captured by your Ring Door Bell ## Saving the videos captured by your Ring Door Bell
@ -154,58 +117,12 @@ hass.services.call("downloader", "download_file", data)
## Sensor ## Sensor
Once you have enabled the [Ring integration](/integrations/ring), you can start using the sensor platform. Add the following to your `configuration.yaml` file: Once you have enabled the [Ring integration](/integrations/ring), you can start using the sensor platform. Currently, it supports doorbell, external chimes and stickup cameras.
```yaml
# Example configuration.yaml entry
sensor:
- platform: ring
```
{% configuration %}
monitored_conditions:
type: list
required: false
description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled.
keys:
battery:
description: Return the battery level from device.
last_activity:
description: Return the timestamp from the last event captured (ding/motion/on demand) by the Ring doorbell camera.
last_ding:
description: Return the timestamp from the last time the Ring doorbell button was pressed.
last_motion:
description: Return the timestamp from the last motion event captured by the Ring doorbell camera.
volume:
description: Return the volume level from the device.
wifi_signal_category:
description: Return the WiFi signal level from the device.
wifi_signal_strength:
description: Return the WiFi signal strength (dBm) from the device.
{% endconfiguration %}
Currently it supports doorbell, external chimes and stickup cameras.
## Switch ## Switch
Once you have enabled the [Ring integration](/integrations/ring), you can start using the switch platform. Add the following to your `configuration.yaml` file: Once you have enabled the [Ring integration](/integrations/ring), you can start using the switch platform. This will add a switch for every camera that supports a siren. Note the siren will only turn on for 30 seconds before automatically turning off.
```yaml
# Example configuration.yaml entry
switch:
- platform: ring
```
This will add a switch for every camera that supports a siren. Note the siren will only turn on for 30 seconds before automatically turning off.
## Light ## Light
Once you have enabled the [Ring integration](/integrations/ring), you can start using the light platform. Add the following to your `configuration.yaml` file: Once you have enabled the [Ring integration](/integrations/ring), you can start using the light platform. This will add a light for every camera that supports a light (such as a floodlight).
```yaml
# Example configuration.yaml entry
light:
- platform: ring
```
This will add a light for every camera that supports a light (such as a flood light).

View File

@ -73,6 +73,11 @@ registers:
description: Unit to attach to value. description: Unit to attach to value.
required: false required: false
type: integer type: integer
device_class:
description: The [type/class](/integrations/sensor/#device-class) of the sensor to set the icon in the frontend.
required: false
type: device_class
default: None
count: count:
description: Number of registers to read. description: Number of registers to read.
required: false required: false

View File

@ -63,13 +63,9 @@ devices:
description: "Alternative RFLink ID's this device is known by." description: "Alternative RFLink ID's this device is known by."
required: false required: false
type: [list, string] type: [list, string]
aliasses:
description: "(**deprecated**) Alternative RFLink ID's this device is known by."
required: false
type: [list, string]
{% endconfiguration %} {% endconfiguration %}
## Sensors types ## Sensor types
Sensor type values: Sensor type values:

View File

@ -0,0 +1,33 @@
---
title: Sentry
description: Record errors to Sentry.
logo: sentry.svg
ha_category:
- System Monitor
ha_iot_class: Cloud Polling
ha_release: 0.104
ha_config_flow: true
---
The `sentry` integration integrates with [Sentry](https://sentry.io/) to capture both logged errors as well as unhandled exceptions in Home Assistant.
## Configuration
To use the `sentry` integration in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sentry:
dsn: SENTRY_DSN
```
{% configuration %}
dsn:
description: The DSN provided to you by Sentry.
required: true
type: string
environment:
description: An environment name to associate with events.
required: false
type: string
{% endconfiguration %}

View File

@ -0,0 +1,81 @@
---
title: Signal Messenger
description: Instructions on how to integrate Signal Messenger within Home Assistant.
logo: signal_messenger.png
ha_category:
- Notifications
ha_release: 0.104
---
The `signal_messenger` integration uses the [Signal Messenger REST API](https://github.com/bbernhard/signal-cli-rest-api) to deliver notifications from Home Assistant to your Android or iOs device.
## Setup
The requirements are:
- You need to set up the Signal Messenger REST API.
- You need a spare phone number to register with the Signal Messenger service.
Please follow those [instructions](https://github.com/bbernhard/signal-cli-rest-api/blob/master/doc/HOMEASSISTANT.md), to set up the Signal Messenger REST API.
## Configuration
To send Signal Messenger notifications with Home Assistant, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry for Signal Messenger
notify:
- name: signal
platform: signal_messenger
url: "http://127.0.0.1:8080" # the URL where the Signal Messenger REST API is listening
number: YOUR_PHONE_NUMBER # the sender number
recipients: # one or more recipients
- RECIPIENT1
```
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
type: string
default: notify
url:
description: The URL where the Signal Messenger REST API listens for incoming requests.
required: true
type: string
number:
description: The sender number.
required: true
type: string
recipients:
description: A list of recipients.
required: true
type: string
{% endconfiguration %}
## Examples
A few examples on how to use this integration.
### Text message
```yaml
...
action:
service: notify.NOTIFIER_NAME
data:
message: "That's an example that sends a simple text message to the recipients specified in the configuration.yaml"
```
### Text message with an attachment
```yaml
...
action:
service: notify.NOTIFIER_NAME
data:
message: "Alarm in the living room!"
attachment: "/tmp/surveillance_camera.jpg"
```

View File

@ -33,7 +33,7 @@ This integration provides the following platforms:
2. Open the integrations page and add the StarLine integration. 2. Open the integrations page and add the StarLine integration.
3. Fill in your application ID, secret, login and password. 3. Fill in your application ID, secret, login and password.
After adding the integration, you can configure the API update interval on the integration page. After adding the integration, you can configure the API update interval using [`starline.set_scan_interval`](#set-scan-interval) service.
<div class='note'> <div class='note'>

View File

@ -0,0 +1,35 @@
---
title: "Stookalert"
description: "Instructions on how to use Stookalert data within Home Assistant"
logo: stookalert.png
ha_category:
- Binary Sensor
- Environment
ha_release: 0.104
ha_iot_class: Cloud Polling
---
The `stookalert` sensor platform queries the [RIVM stookalert](https://www.rivm.nl/stookalert) API for unfavorable weather conditions or poor air quality. With a Stookalert, the RIVM calls on people not to burn wood. This can prevent health problems in people in the area.
## Configuration
To enable the platform, add the following lines to your `configuration.yaml` file:
```yaml
binary_sensor:
- platform: stookalert
province: YOUR_NL_PROVINCE
```
{% configuration %}
province:
description: a province to use for the binary sensor's state. Currently only provinces in the Netherlands are supported. Valid values are `Drenthe`, `Flevoland`, `Friesland`, `Gelderland`, `Groningen`, `Limburg`, `Noord-Brabant`, `Noord-Holland`, `Overijssel`, `Utrecht`, `Zeeland` or `Zuid-Holland`.
required: true
type: string
name:
description: The sensor name to use in the frontend.
required: false
default: "Stookalert"
type: string
{% endconfiguration %}

View File

@ -0,0 +1,86 @@
---
title: Sure Petcare
description: Instructions on how to integrate the Sure Petcare cat and pet flaps into Home Assistant.
logo: sure_petcare.png
ha_category:
- Binary Sensor
- Sensor
ha_release: 0.104
ha_iot_class: Cloud Polling
---
The `surepetcare` component allows you to get information on your Sure Petcare Connect Pet or Cat Flap.
## Configuration
To add a flap and pet, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
surepetcare:
username: x@y.com
password: v3rys3cr3t!
household_id: 1337
flaps: [{id: 2337, name: Flap}]
pets: [{id: 3337, name: Pet}]
```
{% configuration %}
username:
description: The Sure Petcare Username/Email
required: true
type: string
password:
description: The Sure Petcare Password
required: true
type: string
household_id:
description: The Sure Petcare household_id
required: true
type: integer
flaps:
description: The Sure Petcare flaps
required: true
type: map
keys:
id:
description: The Sure Petcare id of a flap
required: true
type: integer
name:
description: A name for the flap
required: true
type: string
pets:
description: Pets managed by Sure Petcare flap(s)
required: true
type: map
keys:
id:
description: The Sure Petcare id of a pet
required: true
type: integer
name:
description: The name of the pet
required: true
type: string
icon:
description: "Icon to display (e.g., `mdi:cat`)"
required: false
default: "mdi:cat"
type: string
scan_interval:
description: "Minimum time interval between updates. Supported formats: `scan_interval: 'HH:MM:SS'`, `scan_interval: 'HH:MM'` and Time period dictionary (see example below)."
required: false
default: 3 minutes
type: time
device_class:
description: The type/class of the sensor to set the icon in the frontend.
required: false
default: lock
type: device_class
{% endconfiguration %}
## Getting the IDs of your household, flaps and pets
For now, please use the [sp_cli.py](https://github.com/rcastberg/sure_petcare/blob/master/sp_cli.py) from [@rcastberg](https://github.com/rcastberg) to fetch the IDs from the Sure Petcare API. With default setting, the IDs will be written as JSON to `~/.surepet.cache`.

View File

@ -82,20 +82,20 @@ devices:
default: 1 default: 1
type: integer type: integer
group: group:
description: Allow light to respond to group commands (ALLON/ALLOFF). description: Allow switch to respond to group commands (ALLON/ALLOFF).
required: false required: false
default: true default: true
type: boolean type: boolean
aliases: aliases:
description: "(**deprecated**) Alternative RFLink ID's this device is known by." description: Alternative RFLink ID's this device is known by.
required: false required: false
type: [list, string] type: [list, string]
group_aliases: group_aliases:
description: "(**deprecated**) `aliases` which only respond to group commands." description: "`aliases` which only respond to group commands."
required: false required: false
type: [list, string] type: [list, string]
no_group_aliases: no_group_aliases:
description: "(**deprecated**) `aliases` which do not respond to group commands." description: "`aliases` which do not respond to group commands."
required: false required: false
type: [list, string] type: [list, string]
{% endconfiguration %} {% endconfiguration %}

View File

@ -13,7 +13,7 @@ ha_codeowners:
- '@michaelarnauts' - '@michaelarnauts'
--- ---
The `tado` integration platform is used as an interface to the [my.tado.com](https://my.tado.com/webapp/#/account/sign-in) website. The `tado` integration platform is used as an interface to the [my.tado.com](https://my.tado.com/) website.
There is currently support for the following device types within Home Assistant: There is currently support for the following device types within Home Assistant:
@ -34,16 +34,21 @@ tado:
{% configuration %} {% configuration %}
username: username:
description: Your username for my.tado.com. description: Your username for [my.tado.com](https://my.tado.com/).
required: true required: true
type: string type: string
password: password:
description: Your password for my.tado.com. description: Your password for [my.tado.com](https://my.tado.com/).
required: true required: true
type: string type: string
fallback:
description: Indicates if you want to fallback to Smart Schedule on the next Schedule change, or stay in Manual mode until you set the mode back to Auto.
required: false
type: boolean
default: true
{% endconfiguration %} {% endconfiguration %}
The tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/webapp/#/account/sign-in), which is used by their website and now by this component. The tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/), which is used by their website and now by this component.
It currently supports presenting the current temperature, the setting temperature and the current operation mode. Switching the mode is also supported. If no user is at home anymore, the devices are showing the away-state. Switching to away-mode is not supported. It currently supports presenting the current temperature, the setting temperature and the current operation mode. Switching the mode is also supported. If no user is at home anymore, the devices are showing the away-state. Switching to away-mode is not supported.

View File

@ -328,7 +328,7 @@ Message editor:
platform: event platform: event
event_type: telegram_callback event_type: telegram_callback
event_data: event_data:
data: '/edit_msg' command: '/edit_msg'
action: action:
- service: telegram_bot.answer_callback_query - service: telegram_bot.answer_callback_query
data_template: data_template:
@ -360,7 +360,7 @@ Keyboard editor:
platform: event platform: event
event_type: telegram_callback event_type: telegram_callback
event_data: event_data:
data: '/remove button' command: '/remove button'
action: action:
- service: telegram_bot.answer_callback_query - service: telegram_bot.answer_callback_query
data_template: data_template:
@ -385,7 +385,7 @@ Only acknowledges the 'NO' answer:
platform: event platform: event
event_type: telegram_callback event_type: telegram_callback
event_data: event_data:
data: '/do_nothing' command: '/do_nothing'
action: action:
- service: telegram_bot.answer_callback_query - service: telegram_bot.answer_callback_query
data_template: data_template:
@ -394,6 +394,29 @@ Only acknowledges the 'NO' answer:
``` ```
{% endraw %} {% endraw %}
Telegram callbacks also support arguments and commands the same way as normal messages.
{% raw %}
```yaml
- alias: 'Telegram bot repeats arguments on callback query'
hide_entity: true
trigger:
platform: event
event_type: telegram_callback
event_data:
command: '/repeat'
action:
- service: telegram_bot.answer_callback_query
data_template:
show_alert: true
callback_query_id: '{{ trigger.event.data.id }}'
message: 'I repeat: {{trigger.event.data["args"]}}'
```
{% endraw %}
In this case, having a callback with `/repeat 1 2 3` with pop a notification saying `I repeat: [1, 2, 3]`
For a more complex usage of the `telegram_bot` capabilities, using [AppDaemon](/docs/ecosystem/appdaemon/tutorial/) is advised. For a more complex usage of the `telegram_bot` capabilities, using [AppDaemon](/docs/ecosystem/appdaemon/tutorial/) is advised.
This is how the previous 4 automations would be through a simple AppDaemon app: This is how the previous 4 automations would be through a simple AppDaemon app:

View File

@ -12,6 +12,7 @@ ha_category:
- Switch - Switch
ha_release: 0.53 ha_release: 0.53
ha_iot_class: Cloud Polling ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners: ha_codeowners:
- '@zabuldon' - '@zabuldon'
--- ---
@ -21,7 +22,7 @@ The `Tesla` integration offers integration with the [Tesla](https://auth.tesla.c
This integration provides the following platforms: This integration provides the following platforms:
- Binary sensors - such as parking and charger connection. - Binary sensors - such as parking and charger connection.
- Sensors - such as Battery level, Inside/Outside temperature, odometer, and estimated range. - Sensors - such as Battery level, Inside/Outside temperature, odometer, estimated range, and charging rate.
- Device tracker - to track location of your car - Device tracker - to track location of your car
- Lock - Door lock. Enables you to control Tesla's door lock - Lock - Door lock. Enables you to control Tesla's door lock
- Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system. - Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system.
@ -29,7 +30,11 @@ This integration provides the following platforms:
## Configuration ## Configuration
To use Tesla in your installation, add the following to your `configuration.yaml` file: Home Assistant offers the Tesla integration through **Configuration** -> **Integrations** -> **Tesla**.
Enter username and password and then continue.
Alternatively, Home Assistant will also load Tesla via the `configuration.yaml`. Add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry

View File

@ -22,13 +22,14 @@ sensor:
- 'time' - 'time'
- 'date' - 'date'
- 'date_time' - 'date_time'
- 'date_time_utc'
- 'date_time_iso' - 'date_time_iso'
- 'time_date' - 'time_date'
- 'time_utc' - 'time_utc'
- 'beat' - 'beat'
``` ```
- **display_options** array (*Required*): The option to display. The types *date_time*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](https://www.swatch.com/en_us/internet-time). - **display_options** array (*Required*): The option to display. The types *date_time*, *date_time_utc*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](https://www.swatch.com/en_us/internet-time).
<p class='img'> <p class='img'>
<img src='{{site_root}}/images/screenshots/time_date.png' /> <img src='{{site_root}}/images/screenshots/time_date.png' />

View File

@ -96,6 +96,10 @@ Manually finish a running timer earlier than scheduled. You can also use `entity
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |
| `entity_id` | no | Name of the entity to take action, e.g., `timer.timer0`. | | `entity_id` | no | Name of the entity to take action, e.g., `timer.timer0`. |
### Service `timer.reload`
Reload `timer`'s configuration without restarting Home Assistant itself. This service takes no service data attributes.
### Use the service ### Use the service
Select <img src='/images/screenshots/developer-tool-services-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> **Services** from the **Developer Tools**. Choose **timer** from the list of **Domains**, select the **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**. Select <img src='/images/screenshots/developer-tool-services-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> **Services** from the **Developer Tools**. Choose **timer** from the list of **Domains**, select the **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**.

View File

@ -0,0 +1,57 @@
---
title: "Transports Metropolitans de Barcelona"
description: "Instructions on how to integrate TMB iBus sensor within Home Assistant."
logo: tmb.png
ha_category:
- Transport
ha_release: 0.104
ha_iot_class: Local Polling
---
This sensor will provide you the remaining time, in minutes, for the next bus in a specific stop by using the [iBus service](https://www.tmb.cat/en/barcelona/tmb-ibus).
You must create an application on [developer.tmb.cat](https://developer.tmb.cat/account/applications/public/new) to obtain the `app_id` and `app_key` values that you will need.
Add the data to your `configuration.yaml` file as shown in the example:
```yaml
# Example configuration.yaml entry
sensor:
- platform: tmb
app_id: !secret tmb_app_id
app_key: !secret tmb_app_key
stops:
- line: V25
stop: 3258
```
{% configuration %}
app_id:
description: Your TMB APP identifier.
required: true
type: string
app_key:
description: Your TMB APP key.
required: true
type: string
stops:
description: List of bus stops to track.
required: false
type: list
keys:
line:
description: Identifier of the line to track.
required: true
type: string
stop:
description: Stop identifier.
required: true
type: integer
name:
description: Name you want to use to identifier that stop.
required: false
type: string
default: "LINE - STOP"
{% endconfiguration %}
Data provided by [TMB](https://tmb.cat/).

View File

@ -39,7 +39,7 @@ source:
required: true required: true
type: string type: string
cycle: cycle:
description: How often to reset the counter. Valid values are `hourly`, `daily`, `weekly`, `monthly` and `yearly`. description: How often to reset the counter. Valid values are `hourly`, `daily`, `weekly`, `monthly`, `quarterly` and `yearly`.
required: true required: true
type: string type: string
offset: offset:

View File

@ -8,6 +8,7 @@ ha_category:
- Climate - Climate
- Sensor - Sensor
- Switch - Switch
- Light
ha_iot_class: Local Push ha_iot_class: Local Push
ha_release: '0.50' ha_release: '0.50'
ha_config_flow: true ha_config_flow: true
@ -15,7 +16,7 @@ ha_codeowners:
- '@cereal2nd' - '@cereal2nd'
--- ---
The `velbus` integration supports the Velbus USB, Velbus serial and a TCP/IP gateway. The `velbus` integration is used to control [Velbus](https://www.velbus.eu/?lang=en) modules. It supports the Velbus USB, Velbus serial and a TCP/IP gateway.
There is currently support for the following device types within Home Assistant: There is currently support for the following device types within Home Assistant:
@ -24,6 +25,9 @@ There is currently support for the following device types within Home Assistant:
- Sensor - Sensor
- Switch - Switch
- Cover - Cover
- Light
The pushbutton LEDs of input modules are disabled by default. These can be enabled from the `Devices` panel in the `Configuration` page of the web interface.
## Configuration ## Configuration
@ -38,7 +42,7 @@ velbus:
port: 'PORT_STRING' port: 'PORT_STRING'
``` ```
## Port Sstring ## Port String
The port string used in the user interface or the configuration file can have 2 formats: The port string used in the user interface or the configuration file can have 2 formats:
@ -51,3 +55,55 @@ port:
required: true required: true
type: string type: string
{% endconfiguration %} {% endconfiguration %}
## Example automation
The Velbus integration allows you to link a Velbus button (i.e., a button of a [VMBGPOD](https://www.velbus.eu/products/view/?id=416302&lang=en) module) to a controllable entity of Home Assistant.
The actual linking can be realized by two automation rules. One rule to control the device using the push button and a second rule to update the LED state of the push button as soon as the entity state changes.
```yaml
# Control light living from Velbus push_button_10
- id: 'Control_light_living_from_Velbus'
alias: Control light living using Velbus push_button_10
trigger:
- entity_id: binary_sensor.push_button_10
platform: state
to: 'on'
condition: []
action:
- entity_id: light.living
service: light.toggle
# Keep status LED push_button_10 in sync to status light living
- id: 'Update LED of push_button_10'
alias: Update LED state of push_button_10
trigger:
- entity_id: light.living
platform: state
to: 'on'
- entity_id: light.living
platform: state
to: 'off'
condition: []
action:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity_id: light.led_push_button_10
state: 'on'
- condition: state
entity_id: light.living
state: 'off'
- condition: and
conditions:
- condition: state
entity_id: light.led_push_button_10
state: 'off'
- condition: state
entity_id: light.living
state: 'on'
- entity_id: light.led_push_button_10
service: light.toggle
```

View File

@ -55,6 +55,10 @@ password:
description: Password for the thermostat. description: Password for the thermostat.
required: false required: false
type: string type: string
pin:
description: Pin for Lockscreen (required if lock screen enabled)
required: false
type: string
ssl: ssl:
description: Whether to use SSL or not when communicating. description: Whether to use SSL or not when communicating.
required: false required: false
@ -82,6 +86,7 @@ climate:
ssl: true ssl: true
username: OPTIONAL_AUTH_USER_HERE username: OPTIONAL_AUTH_USER_HERE
password: OPTIONAL_AUTH_PASS_HERE password: OPTIONAL_AUTH_PASS_HERE
pin: LOCKSCREEN_PIN
timeout: 5 timeout: 5
humidifier: false humidifier: false
``` ```

View File

@ -45,6 +45,11 @@ password:
description: The password for accessing your camera. description: The password for accessing your camera.
required: true required: true
type: string type: string
authentication:
description: "Type for authenticating the requests `basic` or `digest`."
required: false
default: basic
type: string
security_level: security_level:
description: The security level of the user accessing your camera. This could be `admin` or `viewer`. description: The security level of the user accessing your camera. This could be `admin` or `viewer`.
required: false required: false
@ -83,6 +88,7 @@ camera:
ssl: true ssl: true
username: !secret fd_camera_username username: !secret fd_camera_username
password: !secret fd_camera_pwd password: !secret fd_camera_pwd
authentication: digest
security_level: admin security_level: admin
verify_ssl: false verify_ssl: false
framerate: 5 framerate: 5

View File

@ -99,11 +99,6 @@ device_class:
required: false required: false
type: string type: string
default: tv default: tv
suppress_warning:
description: Set to `true` to disable self-signed certificate warnings.
required: false
default: false
type: string
{% endconfiguration %} {% endconfiguration %}
## Notes and limitations ## Notes and limitations

View File

@ -16,13 +16,12 @@ There is currently support for the following device types within Home Assistant:
- [Media Player](#media-player) - [Media Player](#media-player)
- [Notifications](#notifications) - [Notifications](#notifications)
## Media Player
To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](https://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others). To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](https://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others).
Once basic configuration is added to your `configuration.yaml` file. A notification should be visible in the frontend's **Notification** section. Follow the instructions and accept the pairing request on your TV. Once basic configuration is added to your `configuration.yaml` file. A notification should be visible in the frontend's **Notification** section. Follow the instructions and accept the pairing request on your TV.
Pairing information will be saved to the `filename:` provided in the configuration. This process is IP address-sensitive, in case the IP address of your TV would change in future. Pairing information will be saved to a configuration file `webostv.conf` in the Home Assistant configuration directory. This process is IP address-sensitive, in case the IP address of your TV would change in future.
### Configuration ### Configuration
@ -30,28 +29,23 @@ To add a TV to your installation, add the following to your `configuration.yaml`
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
media_player: webostv:
- platform: webostv
``` ```
{% configuration %} {% configuration %}
host: host:
description: "The IP of the LG webOS Smart TV, e.g., `192.168.0.10`." description: "The IP of the LG webOS Smart TV, e.g., `192.168.0.10`."
required: false required: true
type: string type: string
name: name:
description: The name you would like to give to the LG webOS Smart TV. description: The name you would like to give to the LG webOS Smart TV.
required: false required: false
type: string type: string
filename: standby_connection:
description: "The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. **NOTE**: When using multiple TVs each TV will need its own unique file." description: Keep connection alive when TV is in standby (this should be set to try if and only if the "Standby+" option is enabled in the TV UI.)
required: false required: false
type: string type: boolean
default: webostv.conf default: false
timeout:
description: The timeout for communication with the TV in seconds.
required: false
type: time
turn_on_action: turn_on_action:
description: Defines an [action](/docs/automation/action/) to turn the TV on. description: Defines an [action](/docs/automation/action/) to turn the TV on.
required: false required: false
@ -67,30 +61,30 @@ customize:
type: list type: list
{% endconfiguration %} {% endconfiguration %}
If you do not specify `host:`, all LG webOS Smart TVs within your network will be auto-discovered.
### Example ### Example
A full configuration example will look like the sample below: A full configuration example will look like the sample below:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
webostv:
host: 192.168.0.10
name: Living Room TV
standby_connection: true
turn_on_action:
service: persistent_notification.create
data:
message: "Turn on action"
customize:
sources:
- livetv
- youtube
- makotv
- netflix
media_player: media_player:
- platform: webostv
host: 192.168.0.10 notify:
name: Living Room TV
filename: webostv.conf
timeout: 5
turn_on_action:
service: persistent_notification.create
data:
message: "Turn on action"
customize:
sources:
- livetv
- youtube
- makotv
- netflix
``` ```
Avoid using `[ ]` in the `name:` of your device. Avoid using `[ ]` in the `name:` of your device.
@ -107,14 +101,17 @@ On newer models (2017+), WakeOnLan may need to be enabled in the TV settings by
# Example configuration.yaml entry # Example configuration.yaml entry
wake_on_lan: # enables `wake_on_lan` domain wake_on_lan: # enables `wake_on_lan` domain
webostv:
host: 192.168.0.10
#other settings
turn_on_action:
service: wake_on_lan.send_magic_packet
data:
mac: "B4:E6:2A:1E:11:0F"
media_player: media_player:
- platform: webostv
host: 192.168.0.10 notify:
#other settings
turn_on_action:
service: wake_on_lan.send_magic_packet
data:
mac: "B4:E6:2A:1E:11:0F"
``` ```
Any other [actions](/docs/automation/action/) to power on the device can be configured. Any other [actions](/docs/automation/action/) to power on the device can be configured.
@ -154,61 +151,47 @@ The behaviour of the next and previous buttons is different depending on the act
- if the source is 'LiveTV' (television): next/previous buttons act as channel up/down - if the source is 'LiveTV' (television): next/previous buttons act as channel up/down
- otherwise: next/previous buttons act as next/previous track - otherwise: next/previous buttons act as next/previous track
### Generic commands and buttons
Available services: `button`, `command`
#### Service `webostv.button`
| Service data attribute | Optional | Description |
|------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Target a specific webostv media player. |
| `button` | no | Name of the button. Known possible values are `LEFT`, `RIGHT`, `DOWN`, `UP`, `HOME`, `BACK`, `ENTER`, `DASH`, `INFO`, `ASTERISK`, `CC`, `EXIT`, `MUTE`, `RED`, `GREEN`, `BLUE`, `VOLUMEUP`, `VOLUMEDOWN`, `CHANNELUP`, `CHANNELDOWN`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9` |
#### Service `webostv.command`
| Service data attribute | Optional | Description |
|------------------------|----------|---------------------------------------------------------|
| `entity_id` | no | Target a specific webostv media player. |
| `command` | no | Endpoint for the command, e.g. `media.controls/rewind`. The full list of known endpoints is available at https://github.com/bendavid/aiopylgtv/blob/master/aiopylgtv/endpoints.py |
#### Example
```yaml
script:
home_button:
sequence:
- service: webostv.button
data:
entity_id: media_player.lg_webos_smart_tv
button: "HOME"
rewind_command:
sequence:
- service: webostv.command
data:
entity_id: media_player.lg_webos_smart_tv
command: "media.controls/rewind"
```
## Notifications ## Notifications
The `webostv` notify platform allows you to send notifications to a LG webOS Smart TV. The `webostv` notify platform allows you to send notifications to a LG webOS Smart TV.
When the TV is first connected, you will need to accept Home Assistant on the TV to allow communication.
To add a TV to your installation, add the following to your `configuration.yaml` file and follow the configurator instructions:
```yaml
# Example configuration.yaml entry
notify:
- platform: webostv
host: 192.168.0.112
name: livingroom_tv
filename: webostv.conf
```
{% configuration %}
host:
description: The IP of the LG webOS Smart TV, e.g., 192.168.0.10
required: true
type: string
name:
description: The name you would like to give to the LG webOS Smart TV.
required: true
type: string
filename:
description: "The filename where the pairing key with the TV should be stored. This path is relative to Home Assistant's config directory. **NOTE**: When using multiple TVs each TV will need its own unique file."
required: false
type: string
default: webostv.conf
icon:
description: The path to an image file to use as the icon in notifications.
required: false
type: [string, icon]
{% endconfiguration %}
A possible automation could be:
{% raw %}
```yaml
# Example configuration.yaml entry
automation:
- alias: Open a window
trigger:
platform: numeric_state
entity_id: sensor.netatmo_livingroom_co2
above: 999
action:
service: notify.livingroom_tv
data:
message: "You should open a window! (Livingroom Co2: {{ states('sensor.netatmo_livingroom_co2') }}ppm)"
```
{% endraw %}
The icon can be overridden for individual notifications by providing a path to an alternative icon image to use: The icon can be overridden for individual notifications by providing a path to an alternative icon image to use:
```yaml ```yaml

View File

@ -43,11 +43,11 @@ automation:
event: sunset event: sunset
offset: "-01:00:00" offset: "-01:00:00"
- platform: state - platform: state
entity_id: group.all_devices entity_id: all
state: home state: home
condition: condition:
- platform: state - platform: state
entity_id: group.all_devices entity_id: all
state: home state: home
- platform: time - platform: time
after: "16:00:00" after: "16:00:00"

File diff suppressed because it is too large Load Diff

View File

@ -180,7 +180,6 @@
/components/binary_sensor.sleepiq /integrations/sleepiq /components/binary_sensor.sleepiq /integrations/sleepiq
/components/binary_sensor.smartthings /integrations/smartthings#binary-sensor /components/binary_sensor.smartthings /integrations/smartthings#binary-sensor
/components/binary_sensor.spc /integrations/spc#binary-sensor /components/binary_sensor.spc /integrations/spc#binary-sensor
/components/binary_sensor.tahoma /integrations/tahoma
/components/binary_sensor.tapsaff /integrations/tapsaff /components/binary_sensor.tapsaff /integrations/tapsaff
/components/binary_sensor.tcp /integrations/tcp#binary-sensor /components/binary_sensor.tcp /integrations/tcp#binary-sensor
/components/binary_sensor.tellduslive /integrations/tellduslive /components/binary_sensor.tellduslive /integrations/tellduslive
@ -307,7 +306,6 @@
/components/cover.scsgate /integrations/scsgate#cover /components/cover.scsgate /integrations/scsgate#cover
/components/cover.smartthings /integrations/smartthings#cover /components/cover.smartthings /integrations/smartthings#cover
/components/cover.supla /integrations/supla /components/cover.supla /integrations/supla
/components/cover.tahoma /integrations/tahoma
/components/cover.tellduslive /integrations/tellduslive /components/cover.tellduslive /integrations/tellduslive
/components/cover.tellstick /integrations/tellstick#cover /components/cover.tellstick /integrations/tellstick#cover
/components/cover.tuya /integrations/tuya /components/cover.tuya /integrations/tuya
@ -625,7 +623,6 @@
/components/scene.lutron /integrations/lutron#scene /components/scene.lutron /integrations/lutron#scene
/components/scene.lutron_caseta /integrations/lutron_caseta#scene /components/scene.lutron_caseta /integrations/lutron_caseta#scene
/components/scene.smartthings /integrations/smartthings#scene /components/scene.smartthings /integrations/smartthings#scene
/components/scene.tahoma /integrations/tahoma
/components/scene.tuya /integrations/tuya /components/scene.tuya /integrations/tuya
/components/scene.velux /integrations/velux /components/scene.velux /integrations/velux
/components/scene.vera /integrations/vera /components/scene.vera /integrations/vera
@ -883,7 +880,6 @@
/components/sensor.systemmonitor /integrations/systemmonitor /components/sensor.systemmonitor /integrations/systemmonitor
/components/sensor.sytadin /integrations/sytadin /components/sensor.sytadin /integrations/sytadin
/components/sensor.tado /integrations/tado /components/sensor.tado /integrations/tado
/components/sensor.tahoma /integrations/tahoma
/components/sensor.tank_utility /integrations/tank_utility /components/sensor.tank_utility /integrations/tank_utility
/components/sensor.tautulli /integrations/tautulli /components/sensor.tautulli /integrations/tautulli
/components/sensor.tcp /integrations/tcp#sensor /components/sensor.tcp /integrations/tcp#sensor
@ -1034,7 +1030,6 @@
/components/switch.switchbot /integrations/switchbot /components/switch.switchbot /integrations/switchbot
/components/switch.switcher_kis /integrations/switcher_kis /components/switch.switcher_kis /integrations/switcher_kis
/components/switch.switchmate /integrations/switchmate /components/switch.switchmate /integrations/switchmate
/components/switch.tahoma /integrations/tahoma
/components/switch.tellduslive /integrations/tellduslive /components/switch.tellduslive /integrations/tellduslive
/components/switch.tellstick /integrations/tellstick#switch /components/switch.tellstick /integrations/tellstick#switch
/components/switch.telnet /integrations/telnet /components/switch.telnet /integrations/telnet
@ -1893,7 +1888,6 @@
/components/systemmonitor /integrations/systemmonitor /components/systemmonitor /integrations/systemmonitor
/components/sytadin /integrations/sytadin /components/sytadin /integrations/sytadin
/components/tado /integrations/tado /components/tado /integrations/tado
/components/tahoma /integrations/tahoma
/components/tank_utility /integrations/tank_utility /components/tank_utility /integrations/tank_utility
/components/tapsaff /integrations/tapsaff /components/tapsaff /integrations/tapsaff
/components/tautulli /integrations/tautulli /components/tautulli /integrations/tautulli

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 717.11 249.68"><title>sentry-logo-black</title><path d="M430.56,143.76,386.07,86.33H375v77h11.22v-59l45.74,59h9.82v-77H430.56Zm-112-14.27H358.4v-10H318.52V96.31h45v-10H307.07v77h57v-10H318.52Zm-46.84-9.78c-15.57-3.72-19.83-6.69-19.83-13.84,0-6.46,5.71-10.81,14.22-10.81,7.09,0,14.07,2.51,21.3,7.67l6.06-8.54c-8-6.13-16.65-9-27.13-9-15.25,0-25.89,9-25.89,21.92,0,13.84,9,18.63,25.5,22.63,14.51,3.35,18.93,6.5,18.93,13.5s-6,11.38-15.35,11.38c-9.07,0-16.81-3-25-9.82l-6.79,8.08a47.82,47.82,0,0,0,31.41,11.6c16.49,0,27.14-8.87,27.14-22.6C296.27,130.23,289.38,124,271.68,119.71Zm373.9-33.37-23.19,36.31-23-36.31H586l30.51,46.54v30.47h11.56V132.53l30.5-46.19ZM450.87,96.76H476.1v66.58h11.57V96.76h25.23V86.33h-62ZM566.4,133.28c11.64-3.21,18-11.37,18-23,0-14.78-10.84-24-28.28-24H522v77h11.45V135.62h19.42l19.54,27.72h13.37l-21.1-29.58Zm-33-7.52V96.53H555c11.27,0,17.74,5.31,17.74,14.56,0,8.91-6.92,14.67-17.62,14.67ZM144.9,65.43a13.75,13.75,0,0,0-23.81,0l-19.6,33.95,5,2.87a96.14,96.14,0,0,1,47.83,77.4H140.56a82.4,82.4,0,0,0-41-65.54l-5-2.86L76.3,143l5,2.87a46.35,46.35,0,0,1,22.46,33.78H72.33a2.27,2.27,0,0,1-2-3.41l8.76-15.17a31.87,31.87,0,0,0-10-5.71L60.42,170.5a13.75,13.75,0,0,0,11.91,20.62h43.25v-5.73A57.16,57.16,0,0,0,91.84,139l6.88-11.92a70.93,70.93,0,0,1,30.56,58.26v5.74h36.65v-5.73A107.62,107.62,0,0,0,117.09,95.3L131,71.17a2.27,2.27,0,0,1,3.93,0l60.66,105.07a2.27,2.27,0,0,1-2,3.41H179.4c.18,3.83.2,7.66,0,11.48h14.24a13.75,13.75,0,0,0,11.91-20.62Z" style="fill:#221f20"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB