Merge branch 'current' into next

This commit is contained in:
Paulus Schoutsen 2018-10-12 17:00:15 +02:00
commit 98ccac56c7
235 changed files with 4203 additions and 1859 deletions

View File

@ -202,7 +202,7 @@ var swfobject = function() {
function hasPlayerVersion(rv) {
var pv = ua.pv, v = rv.split(".");
v[0] = parseInt(v[0], 10);
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g., "9" instead of "9.0.0"
v[2] = parseInt(v[2], 10) || 0;
return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
}

View File

@ -141,14 +141,14 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 79
current_patch_version: 3
date_released: 2018-10-02
current_minor_version: 80
current_patch_version: 0
date_released: 2018-10-12
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#release-0793---october-2"
patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View File

@ -32,7 +32,7 @@ module Jekyll
# input - a url
#
# Returns input with all urls expanded to include the full site url
# e.g. /images/awesome.gif => http://example.com/images/awesome.gif
# e.g., /images/awesome.gif => http://example.com/images/awesome.gif
#
def full_url(input)
expand_url(input, site_url)
@ -40,8 +40,8 @@ module Jekyll
# Prepends input with a url fragment
#
# input - An absolute url, e.g. /images/awesome.gif
# url - The fragment to prepend the input, e.g. /blog
# input - An absolute url, e.g., /images/awesome.gif
# url - The fragment to prepend the input, e.g., /blog
#
# Returns the modified url, e.g /blog
#

View File

@ -5,7 +5,7 @@
/**
* A series of helper classes to use arbitrarily. Only use a helper class if an
* element/component doesnt already have a class to which you could apply this
* styling, e.g. if you need to float `.main-nav` left then add `float:left;` to
* styling, e.g., if you need to float `.main-nav` left then add `float:left;` to
* that ruleset as opposed to adding the `.float--left` class to the markup.
*
* A lot of these classes carry `!important` as you will always want them to win

View File

@ -175,7 +175,7 @@
.btn--tertiary{}
/**
* Positive actions; e.g. sign in, purchase, submit, etc.
* Positive actions; e.g., sign in, purchase, submit, etc.
*/
.btn--positive{
background-color:#4A993E;
@ -183,7 +183,7 @@
}
/**
* Negative actions; e.g. close account, delete photo, remove friend, etc.
* Negative actions; e.g., close account, delete photo, remove friend, etc.
*/
.btn--negative{
background-color:#b33630;

View File

@ -22,7 +22,7 @@
*
* Where  might map to a star in your particular icon font.
*
* These all require extension in your theme stylesheet, e.g. in your own CSS:
* These all require extension in your theme stylesheet, e.g., in your own CSS:
*
.sprite{
background-image:url(path/to/your/sprite.png);

View File

@ -14,7 +14,7 @@ featured: false
You should not use this if you are also using the [DuckDNS add-on]. The DuckDNS add-on has integrated Let's Encrypt support.
</p>
Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This addon will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port.
Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This add-on will create a certificate on the first run and will auto-renew if the certificate is within 30 days of expiration. This add-on uses port 80 to verify the certificate request. You will need to stop all other add-ons that also use this port.
```json
{
@ -43,7 +43,7 @@ If you use another port such as `8123` or an SSL proxy, change the port number.
## {% linkable_title Enabling auto-renewals %}
Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificte, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry.
Out of the box, the add-on will not automatically renew your certificate. In fact, it only starts, tries to get/renew your certificate, and then stops. It's up to you to manually start it again whenever your certificate comes close to expiry.
However, you can automate this process using Home Assistant.

View File

@ -10,7 +10,7 @@ footer: true
featured: true
---
This addon allows you to set up a [Samba](https://samba.org/) server to access Hass.io folders using Windows network shares.
This add-on allows you to set up a [Samba](https://samba.org/) server to access Hass.io folders using Windows network shares.
```json
{

View File

@ -15,7 +15,7 @@ The Snips add-on depends on the Mosquitto add on to bridge to Home Assistant, so
Home Assistant comes with certain Intents builtin to handle common tasks. A complete list of Intents can be found in this wiki [Hass Snips Bundle](https://github.com/tschmidty69/hass-snips-bundle-intents/wiki).
The Snips addon by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled.
The Snips add-on by default comes with an assistant that allows you to turn on lights or switches, open covers, or add and list items to a shopping list if that component is enabled.
If using a USB microphone and speakers plugged into the Raspberry Pi output, Snips will work without any change to the configuration. Trying saying things like:
@ -71,7 +71,7 @@ There is an active [discord](https://discordapp.com/invite/3939Kqx) channel for
### {% linkable_title Examples %}
So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba addon.
So now you can turn lights on and off, let's check the weather. Log on to the [console](https://console.snips.ai/). If this is your first time, create a new assistant and add the Home Assistant skill, along with the Weather skill by snips. Download your assistant manually and copy it to the `/share` folder on your HassIO installation using the Samba add-on.
Next create a weather sensor, e.g., one for (Dark Sky)[/components/sensor.darksky/] and put the `api_key` in your `secrets.yaml` file.

View File

@ -35,7 +35,7 @@ To start this add-on for the first time, you either need to include a key (enclo
The username for login over SSH is `root`. The complete login command is `ssh root@hassio.local`.
After logging in, you will find yourself in this add-ons container. The Home Assistant configuration directory is mounted on the path `/config`.
After logging in, you will find yourself in this add-on's container. The Home Assistant configuration directory is mounted on the path `/config`.
Configuration variables:

View File

@ -22,8 +22,20 @@ alarm_control_panel:
- platform: nx584
```
Configuration variables:
- **host** (*Optional*): The host where the nx584 server process is running. Defaults to `localhost`.
- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to `5007`.
{% configuration %}
host:
description: The host where the nx584 server process is running.
required: false
default: localhost
type: string
name:
description: This parameter allows you to override the name.
required: false
default: NX584
type: string
port:
description: The port where the Alarm panel is listening.
required: false
default: 5007
type: integer
{% endconfiguration %}

View File

@ -51,13 +51,13 @@ alert:
{% configuration %}
name:
description: The friendly name of the alert.
description: The friendly name of the alert. This can include a [template][template].
required: true
type: string
done_message:
description: >
A message sent after an alert transitions from `on` to `off`. Is only sent
if an alert notification was sent for transitioning from `off` to `on`.
if an alert notification was sent for transitioning from `off` to `on`. This can include a [template][template].
required: false
type: string
entity_id:
@ -191,3 +191,5 @@ sent 30 minutes after that, and a 60 minute delay will fall between every
following notification.
For example, if the garage door opens at 2:00, a notification will be
sent at 2:15, 2:45, 3:45, 4:45, etc., continuing every 60 minutes.
[template]: /docs/configuration/templating/

View File

@ -25,49 +25,92 @@ android_ip_webcam:
- host: 192.168.1.10
```
Configuration variables:
- **host** (*Required*): The IP Address of the phone on the network.
- **port** (*Optional*): Default is set 8080. The port the IP Webcam listens on.
- **name** (*Optional*): Override the name of the phone.
- **username** (*Optional*): The username to access the phone.
- **password** (*Optional*): The password to access the phone.
- **scan_interval** (*Optional*): Default is 10 seconds. Defines the update interval of the phone.
- **sensors** array (*Optional*): Conditions to display sensor in the frontend. See the list of supported sensors.
- **switches** array (*Optional*): Conditions to display settings in the frontend. See the list of supported settings.
- **motion_sensor** (*Optional*): Activate motion sensor if auto_discovery is disabled.
{% configuration %}
host:
description: The IP Address of the phone on the network.
required: true
type: string
port:
description: The port the IP Webcam listens on.
required: false
default: 8080
type: integer
name:
description: Override the name of the phone.
required: false
default: IP Webcam
type: string
username:
description: The username to access the phone.
required: inclusive
type: string
password:
description: The password to access the phone.
required: inclusive
type: string
scan_interval:
description: Defines the update interval of the phone.
required: false
default: 10
type: integer
sensors:
description: Conditions to display sensor in the frontend. See the list of supported sensors.
required: false
type: list
keys:
audio_connections:
description: Audio Connections
battery_level:
description: Battery Level
battery_temp:
description: Battery Temperature
battery_voltage:
description: Battery Voltage
light:
description: Light Level
motion:
description: Motion
pressure:
description: Pressure
proximity:
description: Proximity
sound:
description: Sound
video_connections:
description: Video Connections
switches:
description: Conditions to display settings in the frontend. See the list of supported switches.
required: false
type: list
keys:
exposure_lock:
description: Exposure Lock
ffc:
description: Front-facing Camera
focus:
description: Focus
gps_active:
description: GPS Active
night_vision:
description: Night Vision
overlay:
description: Overlay
torch:
description: Torch
whitebalance_lock:
description: White Balance Lock
video_recording:
description: Video Recording
motion_sensor:
description: Activate motion sensor if auto_discovery is disabled.
required: false
type: boolean
{% endconfiguration %}
<p class='note'>
You need to enable logging in the Android app (`Data logging` > `Enable data logging`), if you wish to see the sensor states in Home Assistant. The sensor states stays as `unknown`, until it's enabled.
</p>
### {% linkable_title Supported features %}
Sensors:
- audio_connections
- battery_level
- battery_temp
- battery_voltage
- light
- motion
- pressure
- proximity
- sound
- video_connections
Settings (Switches):
- exposure_lock
- ffc
- focus
- gps_active
- night_vision
- overlay
- torch
- whitebalance_lock
- video_recording
## {% linkable_title Full example %}
```yaml

View File

@ -42,13 +42,28 @@ apple_tv:
credentials: CREDENTIALS_2
```
Configuration variables:
- **host** (*Required*): The IP-address of the device.
- **login_id** (*Required*): An identifier used to login to the device, see below.
- **name** (*Optional*): The name of the device used in the frontend.
- **start_off** (*Optional*): Set to true if the device should start in fake standby.
- **credentials** (*Optional*): Credentials used for AirPlay playback.
{% configuration %}
host:
description: The IP-address of the device.
required: true
type: string
login_id:
description: An identifier used to login to the device, see below.
required: true
type: string
name:
description: The name of the device used in the frontend.
required: false
type: string
start_off:
description: Set to true if the device should start in fake standby.
required: false
type: boolean
credentials:
description: Credentials used for AirPlay playback.
required: false
type: string
{% endconfiguration %}
In order to connect to the device, you need a *login id*. The easiest way to obtain this identifier is to use the `apple_tv_scan` service (described below). Additional information about `start_off` and `credentials` can also be found under the guides section.

View File

@ -30,24 +30,62 @@ axis:
- camera
```
## {% linkable_title Configuration variables %}
- **device** (*Required*): Unique name
- **host** (*Required*): The IP address to your Axis device.
- **username** (*Optional*): The username to your Axis device. Default 'root'.
- **password** (*Optional*): The password to your Axis device. Default 'pass'.
- **trigger_time** (*Optional*): Minimum time (in seconds) a sensor should keep its positive value. Default 0.
- **port** (*Optional*): Configure port web server of device is accessible from. Default 80.
- **location** (*Optional*): Physical location of your Axis device. Default not set.
- **include** (*Required*): This cannot be empty else there would be no use adding the device at all.
- **camera**: Stream MJPEG video to Home Assistant.
- **motion**: The built-in motion detection in Axis cameras.
- **vmd3**: ACAP Motion Detection app which has better algorithms for motion detection.
- **pir**: PIR sensor that can trigger on a motion.
- **sound**: Sound detector.
- **daynight**: Certain cameras have day/night mode if they have built-in IR lights.
- **tampering**: Signals when camera believes that it has been tampered with.
- **input**: Trigger on whatever you have connected to device input port.
{% configuration %}
device:
description: A unique name
required: true
type: string
host:
description: The IP address to your Axis device.
required: true
type: string
username:
description: The username to your Axis device.
required: false
default: root
type: string
password:
description: The password to your Axis device.
required: false
default: pass
type: string
trigger_time:
description: Minimum time (in seconds) a sensor should keep its positive value.
required: false
default: 0
type: integer
port:
description: Configure port web server of device is accessible from.
required: false
default: 80
type: integer
location:
description: Physical location of your Axis device.
required: false
default: not set
type: string
include:
description: This cannot be empty else there would be no use adding the device at all.
required: true
type: map
keys:
camera:
description: Stream MJPEG video to Home Assistant.
motion:
description: The built-in motion detection in Axis cameras.
vmd3:
description: ACAP Motion Detection app which has better algorithms for motion detection.
pir:
description: PIR sensor that can trigger on a motion.
sound:
description: Sound detector.
daynight:
description: Certain cameras have day/night mode if they have built-in IR lights.
tampering:
description: Signals when camera believes that it has been tampered with.
input:
description: Trigger on whatever you have connected to device input port.
{% endconfiguration %}
A full configuration example could look like this:

View File

@ -28,10 +28,18 @@ binary_sensor:
- platform: aurora
```
Configuration variables:
- **forecast_threshold** (*Optional*): Provide your own threshold number above which the sensor will trigger. Defaults to 75.
- **name** (*Optional*): The name of the sensor. Default is 'Aurora Visibility'.
{% configuration %}
forecast_threshold:
description: Provide your own threshold number above which the sensor will trigger.
required: false
default: 75
type: integer
name:
description: The name of the sensor.
required: false
default: Aurora Visibility
type: string
{% endconfiguration %}
```yaml
binary_sensor:

View File

@ -30,14 +30,36 @@ binary_sensor:
name: Window
```
Configuration variables:
- **pins** array (*Required*): Array of used pins.
- **pin_name** (*Required*): Pin numbers and corresponding names.
- **name** (*Required*): Friendly name to use for the frontend.
- **bouncetime** (*Optional*): Debounce time for reading input pin defined in milliseconds [ms]. Defaults to `50 ms`.
- **invert_logic** (*Optional*): If `true`, inverts the input logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH).
- **pull_mode** (*Optional*): Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. Defaults to `UP`.
{% configuration %}
pins:
description: List of used pins.
required: true
type: map
keys:
pin_name:
description: Port numbers and corresponding names.
required: true
type: map
keys:
name:
description: Friendly name to use for the frontend.
required: true
type: string
bouncetime:
description: Debounce time for reading input pin defined in milliseconds [ms].
required: false
default: 50
type: integer
invert_logic:
description: If `true`, inverts the input logic to ACTIVE LOW
required: false
default: false
type: boolean
pull_mode:
description: Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor.
required: false
default: UP
type: string
{% endconfiguration %}
For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black.

View File

@ -27,16 +27,45 @@ binary_sensor:
command: cat /proc/sys/net/ipv4/ip_forward
```
Configuration variables:
- **command** (*Required*): The action to take to get the value.
- **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used.
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds).
- **command_timeout** (*Optional*): Defines number of seconds for command timeout (defaults to 15 seconds).
{% configuration %}
command:
description: The action to take to get the value.
required: true
type: string
name:
description: Let you overwrite the name of the device. By default *name* from the device is used.
required: false
default: name
type: string
device_class:
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
required: false
type: string
payload_on:
description: The payload that represents enabled state.
required: false
default: ON
type: string
payload_off:
description: The payload that represents disabled state.
required: false
default: OFF
type: string
value_template:
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
required: false
type: string
scan_interval:
description: Defines number of seconds for polling interval.
required: false
default: 60
type: integer
command_timeout:
description: Defines number of seconds for command timeout.
required: false
default: 15
type: integer
{% endconfiguration %}
## {% linkable_title Examples %}

View File

@ -22,8 +22,15 @@ binary_sensor:
- platform: concord232
```
Configuration variables:
- **host** (*Optional*): The host where the concord232 server process is running. Defaults to `localhost`.
- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to 5007.
{% configuration %}
host:
description: The host where the concord232 server process is running.
required: false
default: localhost
type: string
port:
description: The port where the Alarm panel is listening.
required: false
default: 5007
type: integer
{% endconfiguration %}

View File

@ -35,16 +35,45 @@ binary_sensor:
input: FFMPEG_SUPPORTED_INPUT
```
Configuration variables:
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed.
- **name** (*Optional*): Override the name of your camera for the frontend.
- **initial_state** (*Optional*): Start `ffmpeg` with Home Assistant. Defaults to `true`.
- **changes** (*Optional*): How much needs to change between two frames to detect it as motion (a lower value is more sensitive). Defaults to 10%.
- **reset** (*Optional*): The time to reset the state after no new motion is detected. Defaults to 20 seconds.
- **repeat** (*Optional*): How many events need to be detected in *repeat_time* in order to trigger a motion. Defaults to 0 repeats (deactivated).
- **repeat_time** (*Optional*): The span of time *repeat* events need to occur in before triggering a motion. Defaults to 0 seconds (deactivated).
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., video denoise filtering.
{% configuration %}
input:
description: An FFmpeg-compatible input file, stream, or feed.
required: true
type: string
name:
description: Override the name of your camera for the frontend.
required: false
type: string
initial_state:
description: Start `ffmpeg` with Home Assistant.
required: false
default: true
type: boolean
changes:
description: How much needs to change between two frames to detect it as motion, value in percentage (a lower value is more sensitive).
required: false
default: 10%
type: integer
reset:
description: The time to reset the state after no new motion is detected.
required: false
default: 20
type: integer
repeat:
description: How many events need to be detected in *repeat_time* in order to trigger a motion, 0 repeats means deactivated.
required: false
default: 0
type: integer
repeat_time:
description: The span of time *repeat* events need to occur in before triggering a motion, 0 seconds means deactivated.
required: false
default: 0
type: integer
extra_arguments:
description: Extra options to pass to `ffmpeg`, e.g., video denoise filtering.
required: false
type: string
{% endconfiguration %}
To experiment with values (changes/100 is the scene value in `ffmpeg`):

View File

@ -30,16 +30,44 @@ binary_sensor:
input: FFMPEG_SUPPORTED_INPUT
```
Configuration variables:
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed.
- **name** (*Optional*): Override the name of your camera.
- **initial_state** (*Optional*): Default true. Start ffmpeg with home-assistant.
- **peak** (*Optional*): Default -30. The threshold of detecting noise, in dB. 0 is very loud and -100 is low.
- **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state.
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak.
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, like audio frequency filtering.
- **output** (*Optional*): Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered.
{% configuration %}
input:
description: An FFmpeg-compatible input file, stream, or feed.
required: true
type: string
name:
description: Override the name of your camera.
required: false
type: string
initial_state:
description: Start ffmpeg with home-assistant.
required: false
default: true
type: boolean
peak:
description: The threshold of detecting noise, in dB. 0 is very loud and -100 is low.
required: false
default: -30
type: integer
duration:
description: How long the noise needs to be over the peak to trigger the state.
required: false
default: 1
type: integer
reset:
description: The time to reset the state after no new noise is over the peak.
required: false
default: 20
type: integer
extra_arguments:
description: Extra options to pass to `ffmpeg`, like audio frequency filtering.
required: false
type: string
output:
description: Allows you to send the audio output of this sensor to an Icecast server or other FFmpeg-supported output, e.g., to stream with Sonos after a state is triggered.
required: false
type: string
{% endconfiguration %}
To experiment with values:

View File

@ -26,13 +26,29 @@ binary_sensor:
address: '6/0/2'
```
Configuration variables:
- **address** (*Required*): KNX group address of the binary sensor.
- **name** (*Optional*): A name for this device used within Home Assistant.
- **device_class** (*Optional*): HASS device class e.g., "motion".
- **significant_bit** (*Optional*): Specify which significant bit of the KNX value should be used. Default is 1.
- **reset_after** (*Optional*): Reset back to OFF state after specified milliseconds.
{% configuration %}
address:
description: KNX group address of the binary sensor.
required: true
type: string
name:
description: A name for this device used within Home Assistant.
required: false
type: string
device_class:
description: HASS device class e.g., "motion".
required: false
type: string
significant_bit:
description: Specify which significant bit of the KNX value should be used.
required: false
default: 1
type: integer
reset_after:
description: Reset back to OFF state after specified milliseconds.
required: false
type: integer
{% endconfiguration %}
You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time.
@ -57,10 +73,23 @@ binary_sensor:
service: homeassistant.turn_on
```
Configuration variables:
- **name** (*Optional*): A name for this device used within Home Assistant.
- **counter** (*Optional*): Set to 2 if your only want the action to be executed if the button was pressed twice. To 3 for three times button pressed. Defaults to 1.
- **hook** (Optional): Indicates if the automation should be executed on what state of the binary sensor. Values: "on" or "off". Defaults to "on".
- **action**: Specify a list of actions analog to the [automation rules](/docs/automation/action/).
{% configuration %}
name:
description: A name for this device used within Home Assistant.
required: false
type: string
counter:
description: Set to 2 if your only want the action to be executed if the button was pressed twice. To 3 for three times button pressed.
required: false
default: 1
type: integer
hook:
description: Indicates if the automation should be executed on what state of the binary sensor. Values are "on" or "off".
required: false
default: "on"
type: string
action:
description: Specify a list of actions analog to the [automation rules](/docs/automation/action/).
required: false
type: list
{% endconfiguration %}

View File

@ -32,12 +32,25 @@ binary_sensor:
coil: 110
```
Configuration variables:
- **coils** array (*Required*): The array contains a list of coils to read from.
- **name** (*Required*): Name of the sensor.
- **slave** (*Required*): The number of the slave (Optional for TCP and UDP Modbus).
- **coil** (*Required*): Coil number.
{% configuration %}
coils:
description: The array contains a list of coils to read from.
required: true
type: [map, list]
keys:
name:
description: Name of the sensor.
required: true
type: string
slave:
description: The number of the slave (Optional for TCP and UDP Modbus).
required: true
type: integer
coil:
description: Coil number.
required: true
type: integer
{% 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.

View File

@ -25,12 +25,39 @@ binary_sensor:
platform: nx584
```
Configuration variables:
- **host** (*Optional*): This is the host where the nx584 server process is running. If unset, it is assumed to be `localhost`, which will work if the server process is running on the same system as Home Assistant.
- **port** (*Optional*): The port where the server process is running. Defaults to `5007`.
- **exclude_zones** (*Optional*): This is a list of zone numbers that should be excluded. Use this to avoid exposing a zone that is of no interest, unconnected, etc.
- **zone_types** (*Optional*): This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. The list of available zone types relevant to alarm zones are: `opening`, `motion`, `gas`, `smoke`, `moisture`, `safety`.
{% configuration %}
host:
description: This is the host where the nx584 server process is running. If unset, it is assumed to be `localhost`, which will work if the server process is running on the same system as Home Assistant.
required: false
default: localhost
type: string
port:
description: The port where the server process is running.
required: false
default: 5007
type: integer
exclude_zones:
description: This is a list of zone numbers that should be excluded. Use this to avoid exposing a zone that is of no interest, unconnected, etc.
required: false
type: [list, integer]
zone_types:
description: This is a list of zone numbers mapped to zone types. Use this to designate zones as doors, motion sensors, smoke detectors, etc. See the list of available zone types relevant to alarm zones below.
required: false
type: map
keys:
opening:
description: Opening
motion:
description: Motion
gas:
description: Gas
smoke:
description: Smoke
moisture:
description: Moisture
safety:
description: Safety
{% endconfiguration %}
An extended configuration entry could look like this:

View File

@ -31,7 +31,7 @@ The requirement is that you have setup the [`xiaomi aqara` component](/component
| Gas Leak Detector | natgas | JTQJ-BF-01LM/BW | on, off | | | |
| Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | on, off | | | |
| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` |
| Button (2nd gen) | sensor_switch.aq2 | WXKG11LM | off (always) | `click` | `click_type` | `single`, `double` |
| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `click` | `click_type` | `single`, `double` |
| Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `click` | `click_type` | `single` |
| Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `click` | `click_type` | `single`, `both` |
| Cube | cube | MFKZQ01LM | off (always) | `cube_action` | `action_type`, `action_value` (rotate) | `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swing`, `alert`, `free_fall`, `rotate` (degrees at action_value) |

View File

@ -21,7 +21,7 @@ This component provides the following platforms:
- Binary Sensors: Doors, windows, condition based services, check control messages, parking lights, door lock state, charging status (electric cars) and connections status (electric cars).
- Device tracker: The location of your car.
- Lock: Control the lock of your car.
- Sensors: Mileage, remaining range, remaining fuel, charging time remaing (electric cars), charging status (electric cars), remaing range electric (electric cars).
- Sensors: Mileage, remaining range, remaining fuel, charging time remaining (electric cars), charging status (electric cars), remaining range electric (electric cars).
To enable this component in your installation, add the following to your
`configuration.yaml` file:

View File

@ -157,7 +157,7 @@ Otherwise everything following the hash sign would be considered a YAML comment.
### {% linkable_title Sensor attributes %}
- **offset_reached**: If set in the event title and parsed out will be `on`/`off` once the offset in the title in minutes is reached. So the title `Very important meeting #Important !!-10` would trigger this attribute to be `on` 10 minutes before the event starts.
- **all_day**: `True`/`False` if this is an all day event. Will be `False` if there is no event found.
- **all_day**: `true`/`false` if this is an all day event. Will be `false` if there is no event found.
- **message**: The event title with the `search` and `offset` values extracted. So in the above example for **offset_reached** the **message** would be set to `Very important meeting`
- **description**: The event description.
- **location**: The event Location.

View File

@ -36,6 +36,13 @@ from homeassistant.helpers.dispatcher import async_dispatcher_send
async_dispatcher_send(hass, 'name_of_dispatcher_signal', image_data)
```
Configuration variables:
- **signal** (*Required*): The signal name of dispatcher signal they send image data to this camera.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
{% configuration %}
signal:
description: The signal name of dispatcher signal they send image data to this camera.
required: true
type: string
name:
description: This parameter allows you to override the name of your camera.
required: false
type: string
{% endconfiguration %}

View File

@ -25,11 +25,20 @@ camera:
input: FFMPEG_SUPPORTED_INPUT
```
Configuration variables:
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed.
- **name** (*Optional*): Override the name of your camera.
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options.
{% configuration %}
input:
description: An FFmpeg-compatible input file, stream, or feed.
required: true
type: string
name:
description: Override the name of your camera.
required: false
type: string
extra_arguments:
description: Extra options to pass to `ffmpeg`, e.g., image quality or video filter options.
required: false
type: string
{% endconfiguration %}
### {% linkable_title Image quality %}

View File

@ -28,13 +28,29 @@ camera:
password: YOUR_PASSWORD
```
Configuration variables:
- **ip** (*Required*): The IP address your camera.
- **port** (*Optional*): The port that the camera is running on. The default is 88.
- **username** (*Required*): The username for accessing your camera.
- **password** (*Required*): The password for accessing your camera.
- **name** (*Optional*): This parameter allows you to override the name of your camera.
{% configuration %}
ip:
description: The IP address your camera.
required: true
type: string
port:
description: The port that the camera is running on.
required: false
default: 88
type: integer
username:
description: The username for accessing your camera.
required: true
type: string
password:
description: The password for accessing your camera.
required: true
type: string
name:
description: This parameter allows you to override the name of your camera.
required: false
type: string
{% endconfiguration %}
<p class='note'>
There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.

View File

@ -27,17 +27,48 @@ camera:
still_image_url: http://194.218.96.92/jpg/image.jpg
```
Configuration variables:
- **still_image_url** (*Required*): The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template](/topics/templating/).
- **name** (*Optional*): This parameter allows you to override the name of your camera.
- **username** (*Optional*): The username for accessing your camera.
- **password** (*Optional*): The password for accessing your camera.
- **authentication** (*Optional*): Type for authenticating the requests `basic` (default) or `digest`.
- **limit_refetch_to_url_change** (*Optional*): True/false value (default: false). Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image.
- **content_type** (*Optional*): Set the content type for the IP camera if it is not a jpg file (default: `image/jpeg`). Use `image/svg+xml` to add a dynamic svg file.
- **framerate** (*Optional*): The number of frames-per-second (FPS) of the stream (setting this too high may cause too much traffic on the network or be heavy on the camera).
- **verify_ssl** (*Optional*): True/false value (default: true). Enable or disable SSL certificate verification.
{% configuration %}
still_image_url:
description: "The URL your camera serves the image on, eg. http://192.168.1.21:2112/. Can be a [template](/topics/templating/)."
required: true
type: string
name:
description: This parameter allows you to override the name of your camera.
required: false
type: string
username:
description: The username for accessing your camera.
required: false
type: string
password:
description: The password for accessing your camera.
required: false
type: string
authentication:
description: "Type for authenticating the requests `basic` or `digest`."
required: false
default: basic
type: string
limit_refetch_to_url_change:
description: True/false value. Limits re-fetching of the remote image to when the URL changes. Only relevant if using a template to fetch the remote image.
required: false
default: false
type: boolean
content_type:
description: Set the content type for the IP camera if it is not a jpg file. Use `image/svg+xml` to add a dynamic svg file.
required: false
default: image/jpeg
type: string
framerate:
description: The number of frames-per-second (FPS) of the stream. Can cause heavy traffic on the network and/or heavy load on the camera.
required: false
type: integer
verify_ssl:
description: Enable or disable SSL certificate verification.
required: false
default: true
type: boolean
{% endconfiguration %}
<p class='img'>
<a href='/cookbook/google_maps_card/'>

View File

@ -31,9 +31,13 @@ camera:
- platform: logi_circle
```
Configuration variables:
- **scan_interval**: (*Optional*): How frequently to query for new camera stills. Defaults to 60 seconds.
{% configuration %}
scan_interval:
description: How frequently to query for new camera stills, value are in seconds.
required: false
default: 60
type: integer
{% endconfiguration %}
### {% linkable_title Service `camera.logi_circle_livestream_record` %}
@ -60,7 +64,7 @@ The path part of `filename` must be an entry in the `whitelist_external_dirs` in
### {% linkable_title Service `camera.logi_circle_set_config` %}
Sets an configuration property for your camera.
Sets a configuration property for your camera.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |

View File

@ -24,15 +24,38 @@ camera:
host: 192.168.1.111
```
Configuration variables:
- **host** (*Required*): An IP or hostname of the camera.
- **name** (*Optional*): Override the name of your camera.
- **username** (*Optional*): The username for the camera.
- **password** (*Optional*): The password for the camera.
- **port** (*Optional*): The port for the camera. This defaults to 5000.
- **profile** (*Optional*): Video profile that will be used to obtain the stream. This defaults to 0. More details below.
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg).
{% configuration %}
host:
description: An IP or hostname of the camera.
required: true
type: string
name:
description: Override the name of your camera.
required: false
type: string
username:
description: The username for the camera.
required: false
type: string
password:
description: The password for the camera.
required: false
type: string
port:
description: The port for the camera.
required: false
default: 5000
type: integer
profile:
description: Video profile that will be used to obtain the stream, more details below.
required: false
default: 0
type: integer
extra_arguments:
description: "Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg)."
required: false
type: string
{% endconfiguration %}
Most of the Onvif cameras support more than one audio/video Profile. Each profile provides different image quality. Usually, the first profile has the highest quality, and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn't able to render the highest quality image in real-time - especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in config `profile` variable.

View File

@ -36,7 +36,7 @@ Hassbian users: Don't forget to install `ffmpeg` support on your platform, other
</p>
<p class='note warning'>
The live stream writing by the camera is not an supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this platform retrives the video which was saved 1 minute earlier.
The live stream writing by the camera is not a supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this platform retrives the video which was saved 1 minute earlier.
</p>
<p class='note warning'>

View File

@ -34,7 +34,7 @@ Configuration variables:
- **max_temp** (*Optional*): Set maximum set point available (default: 35)
- **target_temp** (*Optional*): Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59, it will retain the target temperature set before restart if available.
- **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device.
- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in it's current state prior to being switched either off or on.
- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on.
- **cold_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5.
- **hot_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5.
- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off).

View File

@ -24,12 +24,16 @@ climate:
api_key: <your_key_here>
```
Configuration variables:
- **api_key** (*Required*): Your API key.
- **id** (*Optional*): A unit ID or a list of IDs. If none specified then all units accessible by the `api_key` will be used.
To get your API key visit <https://home.sensibo.com/me/api>
{% configuration %}
api_key:
description: Your Sensibo API key (To get your API key visit <https://home.sensibo.com/me/api>).
required: true
type: string
id:
description: A unit ID or a list of IDs. If none specified then all units accessible by the `api_key` will be used.
required: false
type: string
{% endconfiguration %}
<p class="note">
If you create the API key using a dedicated user (and not your main user),
@ -46,3 +50,26 @@ climate:
- id1
- id2
```
### {% linkable_title Adding a quick switch example %}
If you want a "Quick Switch" to turn your AC On / Off, you can do that using the following `Switch Template`:
{% raw %}
```yaml
switch:
- platform: template
switches:
ac:
friendly_name: "AC"
value_template: "{{ is_state('climate.ac', 'cool') or is_state('climate.ac', 'heat') or is_state('climate.ac', 'dry') or is_state('climate.ac', 'heat')}}"
turn_on:
service: climate.turn_on
data:
entity_id: climate.ac
turn_off:
service: climate.turn_off
data:
entity_id: climate.ac
```
{% endraw %}

View File

@ -33,17 +33,54 @@ cover:
travelling_time_up: 61
```
Configuration variables:
- **name** (*Optional*): A name for this device used within Home Assistant.
- **move_long_address**: KNX group address for moving the cover full up or down.
- **move_short_address** (*Optional*): KNX group address for moving the cover short time up or down. If the KNX device has a stop group address you can use that here.
- **position_address** (*Optional*): KNX group address for moving the cover to the dedicated position.
- **position_state_address** (*Optional*): Separate KNX group address for requesting the current position of the cover.
- **angle_address** (*Optional*): KNX group address for moving the cover to the dedicated angle.
- **angle_state_address** (*Optional*): Separate KNX group address for requesting the current angle of cover.
- **travelling_time_down** (*Optional*): Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25.
- **travelling_time_up** (*Optional*): Time cover needs to travel up in seconds. Needed to calculate the intermediate positions of cover while traveling. Defaults to 25.
- **invert_position** (*Optional*): Set this to true if your actuator report fully closed as 100%.
- **invert_angle** (*Optional*): Set this to true if your actuator reports tilt fully closed as 100%.
{% configuration %}
name:
description: A name for this device used within Home Assistant.
required: false
default: KNX Cover
type: string
move_long_address:
description: KNX group address for moving the cover full up or down.
required: false
type: string
move_short_address:
description: KNX group address for moving the cover short time up or down. If the KNX device has a stop group address you can use that here.
required: false
type: string
position_address:
description: KNX group address for moving the cover to the dedicated position.
required: false
type: string
position_state_address:
description: Separate KNX group address for requesting the current position of the cover.
required: false
type: string
angle_address:
description: KNX group address for moving the cover to the dedicated angle.
required: false
type: string
angle_state_address:
description: Separate KNX group address for requesting the current angle of cover.
required: false
type: string
travelling_time_down:
description: Time cover needs to travel down in seconds. Needed to calculate the intermediate positions of cover while traveling.
required: false
default: 25
type: integer
travelling_time_up:
description: Time cover needs to travel up in seconds. Needed to calculate the intermediate positions of cover while traveling.
required: false
default: 25
type: integer
invert_position:
description: Set this to true if your actuator report fully closed as 100%.
required: false
default: false
type: boolean
invert_angle:
description: Set this to true if your actuator reports tilt fully closed as 100%.
required: false
default: false
type: boolean
{% endconfiguration %}

View File

@ -33,14 +33,36 @@ cover:
name: Right Garage Door
```
Configuration variables:
- **covers** array (*Required*): List of your doors.
- **identifier** (*Required*): Name of the cover as slug. Multiple entries are possible.
- **host** (*Required*): IP address of device.
- **port** (*Optional*): HTTP Port. Default is `80`.
- **device_key** (*Required*): Access key to control device. Default is `opendoor`.
- **name** (*Optional*): Name to use in the Frontend. If not provided, it will use name configured in device.
{% configuration %}
covers:
description: List of your doors.
required: true
type: map
keys:
identifier:
description: Name of the cover as slug. Multiple entries are possible.
required: true
type: map
keys:
host:
description: IP address of device.
required: true
type: string
port:
description: HTTP Port.
required: false
default: 80
type: integer
device_key:
description: Access key to control device.
required: true
default: opendoor
type: string
name:
description: Name to use in the Frontend. If not provided, it will use name configured in device.
required: false
type: string
{% endconfiguration %}
**Example with more detail:**
<p class='img'>

View File

@ -33,9 +33,25 @@ To use the `datadog` component in your installation, add the following to your `
datadog:
```
Configuration variables:
- **host** (*Optional*): The IP address or hostname of your Datadog host, e.g., 192.168.1.23. Defaults to `localhost`.
- **port** (*Optional*): Port to use. Defaults to 8125.
- **prefix** (*Optional*): Prefix to use. Defaults to `hass`.
- **rate** (*Optional*): The sample rate of UDP packets sent to Datadog. Defaults to 1.
{% configuration %}
host:
description: The IP address or hostname of your Datadog host, e.g., 192.168.1.23.
required: false
default: localhost
type: string
port:
description: Port to use.
required: false
default: 8125
type: integer
prefix:
description: Prefix to use.
required: false
default: hass
type: string
rate:
description: The sample rate of UDP packets sent to Datadog.
required: false
default: 1
type: integer
{% endconfiguration %}

View File

@ -33,11 +33,20 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
{% configuration %}
host:
description: The IP address of your router, eg. `192.168.1.1`.
required: true
type: string
username:
description: The username of an user with administrative privileges, usually `admin`.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -34,11 +34,19 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
{% configuration %}
host:
description: The IP address of your router, e.g., `192.168.1.1`.
required: true
type: string
username:
description: The username of an user with administrative privileges, usually `admin`.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -37,16 +37,28 @@ device_tracker:
- 2004 Subaru Impreza
```
Configuration variables:
- **client_id** (*Required*): The OAuth client id (get from https://developer.automatic.com/).
- **secret** (*Required*): The OAuth client secret (get from https://developer.automatic.com/).
- **current_location** (*Optional*): Set to `true` if you have requested `scope:current_location` for your account. Home Assistant will then be able to receive periodic location updates during trips.
- **devices** (*Optional*): The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked.
{% configuration %}
client_id:
description: "The OAuth client id (get from https://developer.automatic.com/)."
required: true
type: string
secret:
description: "The OAuth client secret (get from https://developer.automatic.com/)."
required: true
type: string
current_location:
description: "Set to `true` if you have requested `scope:current_location` for your account. Home Assistant will then be able to receive periodic location updates during trips."
required: false
default: false
type: boolean
devices:
description: The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked.
required: false
type: list
{% endconfiguration %}
Home Assistant will also fire events when an update is received from Automatic. These can be used to trigger automations, as shown in the example below. A list of available event types can be found in the [Automatic Real-Time Events documentation](https://developer.automatic.com/api-reference/#real-time-events).
```yaml
# Example automatic event automation
automation:
@ -60,6 +72,7 @@ automation:
action:
- service: light.turn_off
```
<p class='note'>
You can obtain the correct ID for your vehicle from your known_devices.yaml file. Be sure to lower-case any letters contained in your vehicle's ID when using it in an automation trigger.
</p>

View File

@ -36,10 +36,18 @@ device_tracker:
- platform: bluetooth_le_tracker
```
Configuration variables:
- **track_new_devices** (*Optional*): If new discovered devices are tracked by default. Defaults to `True`.
- **interval_seconds** (*Optional*): Seconds between each scan for new devices. Defaults to `12` seconds.
{% configuration %}
track_new_devices:
description: If new discovered devices are tracked by default.
required: false
default: true
type: boolean
interval_seconds:
description: Seconds between each scan for new devices.
required: false
default: 12
type: integer
{% endconfiguration %}
As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times.
Some BTLE devices (e.g., fitness trackers) are only visible to the devices that they are paired with. In this case, the BTLE tracker won't see this device.

View File

@ -11,7 +11,6 @@ logo: bt.png
ha_category: Presence Detection
---
This platform offers presence detection by looking at connected devices to a [BT Home Hub 5](https://en.wikipedia.org/wiki/BT_Home_Hub) based router.
To use a BT Home Hub 5 router in your installation, add the following to your `configuration.yaml` file:
@ -23,8 +22,12 @@ device_tracker:
host: 192.168.1.254
```
Configuration variables:
- **host** (*Optional*): The IP address of your router, Default: 192.168.1.254.
{% configuration %}
host:
description: The IP address of your router.
required: false
default: 192.168.1.254
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -57,12 +57,19 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1.
- **username** (*Required*): The username of an user with administrative privileges.
- **password** (*Required*): The password for your given admin account.
{% configuration %}
host:
description: The IP address of your router, e.g., 192.168.1.1.
required: true
type: string
username:
description: The username of an user with administrative privileges.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -25,11 +25,20 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
{% configuration %}
host:
description: The IP address of your router, e.g., `192.168.1.1`.
required: true
type: string
username:
description: The username of an user with administrative privileges, usually `admin`.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
{% endconfiguration %}
By default Home Assistant pulls information about connected devices from DD-WRT every 5 seconds.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -31,15 +31,23 @@ device_tracker:
- platform: fritz
```
Configuration variables:
- **host** (*Optional*): The IP address of your router, eg. `192.168.1.1`. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1.
- **username** (*Optional*: The username of an user with administrative privileges, usually `admin`.
- **password** (*Optional*): The password for your given admin account.
{% configuration %}
host:
description: The IP address of your router, e.g., `192.168.1.1`. It is optional since every fritzbox is also reachable by using the IP address 169.254.1.1.
required: false
type: string
username:
description: The username of an user with administrative privileges, usually `admin`.
required: false
type: string
password:
description: The password for your given admin account.
required: false
type: string
{% endconfiguration %}
<p class='note'>
It seems that it is not necessary to use it in current generation Fritz!Box routers because the necessary data can be retrieved anonymously.
</p>
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -22,9 +22,12 @@ device_tracker:
- platform: geofency
```
Configuration variables:
- **mobile_beacons** (*Optional*): List of beacon names that are to be treated as *mobile*. The name must match the name you configure in Geofency. By default, beacons will be treated as *stationary*.
{% configuration %}
mobile_beacons:
description: List of beacon names that are to be treated as *mobile*. The name must match the name you configure in Geofency. By default, beacons will be treated as *stationary*.
required: false
type: list
{% endconfiguration %}
A full sample configuration for the `geofency` platform is shown below:

View File

@ -28,13 +28,30 @@ device_tracker:
account_name: accountname
```
Configuration variables:
- **username** (*Required*): The username for the iCloud account.
- **password** (*Required*): The password for your given username.
- **account_name** (*Optional*): 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).
- **max_interval** (*Optional*): 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. Default is 30 min. Minimum value is 1 min.
- **gps_accuracy_threshold** (*Optional*): 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. Default is 1000 meters.
{% configuration %}
username:
description: The username for the iCloud account.
required: true
type: string
password:
description: The password for your given username.
required: true
type: string
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).
required: false
type: string
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.
required: false
default: 30
type: integer
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.
required: false
default: 1000
type: integer
{% endconfiguration %}
<p class='note warning'>
Low `max_interval` may cause battery drainage as it wakes up your device to get the current location.
@ -50,7 +67,7 @@ To disable the drainage of the battery, a dynamic interval is being used for eac
2 Factor Authentication is the improved version of 2 Steps Authentication, this is still not supported by the pyicloud library. Therefore it's not possible to use it with the device_tracker yet.
4 services are available for this component:
- **icloud_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.
- **icloud_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.
- **icloud_lost_iphone**: This service will play the Lost iPhone sound on a certain iDevice. The `account_name` and `device_name` are optional.
- **icloud_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.
- **icloud_reset_account**: This service can be used to reset an iCloud account. This is helpful when not all devices are being found by the component or if you have added a new iDevice to your account. The `account_name` is optional.

View File

@ -21,18 +21,34 @@ To use a Keenetic router in your installation, add the following to your `config
# Example configuration.yaml entry
device_tracker:
- platform: keenetic_ndms2
host: !secret router_ip
username: !secret router_username
password: !secret router_password
host: YOUR_HOST
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1.
- **port** (*Optional*): The Telnet port of your router. Default is 23.
- **username** (*Required*): The username to login into the router (user should have read access to telnet interface of the router).
- **password** (*Required*): The password for the specified username.
- **interface** (*Optional*): Ihe internal name of the interface to get devices connected to. Default is 'Home'. For expert users only.
{% configuration %}
host:
description: The IP address of your router, e.g., 192.168.1.1.
required: true
type: string
port:
description: The Telnet port of your router.
required: false
default: 23
type: integer
username:
description: The username to login into the router (user should have read access to telnet interface of the router).
required: true
type: string
password:
description: The password for the specified username.
required: true
type: string
interface:
description: Ihe internal name of the interface to get devices connected to. For expert users only.
required: false
default: Home
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -29,12 +29,25 @@ device_tracker:
password: YOUR_PASSWORD
```
Configuration variables:
- **host** (*Required*): The hostname or IP address of your access point, eg. `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges (read-only is sufficient).
- **password** (*Required*): The password for your given admin account.
- **verify_ssl** (*Optional*): Verify SSL certificate for HTTPS request. Defaults to true.
{% configuration %}
host:
description: The hostname or IP address of your access point, e.g., `192.168.1.1`.
required: true
type: string
username:
description: The username of an user with administrative privileges (read-only is sufficient).
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
verify_ssl:
description: Verify SSL certificate for HTTPS request.
required: false
default: true
type: boolean
{% endconfiguration %}
## {% linkable_title Example %}

View File

@ -34,8 +34,11 @@ device_tracker:
host: 192.168.1.1
```
Configuration variables:
- **host** (*Required*): The hostname or IP address of your router, eg. `192.168.1.1`.
{% configuration %}
host:
description: The hostname or IP address of your router, e.g., `192.168.1.1`.
required: true
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -37,16 +37,28 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
- **ssl** (*Optional*): If your router enforces SSL connections, set to `true`. Defaults to `false`.
{% configuration %}
host:
description: The hostname or IP address of your router, e.g., `192.168.1.1`.
required: true
type: string
username:
description: The username of an user with administrative privileges, usually `admin`.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
ssl:
description: If your router enforces SSL connections, set to `true`.
required: false
default: false
type: boolean
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
<p class='note warning'>
Some installations have [a small bug](https://github.com/openwrt/luci/issues/576). The timeout for luci RPC calls is not set and this makes the call fail.
</p>

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Mercedes me"
title: "Mercedes me Device Tracker"
description: "Instructions on for how to integrate Mercedes me into Home Assistant."
date: 2018-01-27 10:00
sidebar: true

View File

@ -41,11 +41,24 @@ device_tracker:
password: ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router.
- **username** (*Required*: The username of an user with administrative privileges.
- **password** (*Required*): The password for your given admin account.
- **port** (*Optional*): Mikrotik API port. Defaults to `8728`.
{% configuration %}
host:
description: The IP address of your router.
required: true
type: string
username:
description: The username of an user with administrative privileges.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
port:
description: Mikrotik API port.
required: false
default: 8728
type: integer
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -26,11 +26,16 @@ device_tracker:
annetherese_n4: 'location/annetherese'
```
Configuration variables:
- **devices** (*Required*): List of devices with their topic.
- **qos** (*Optional*): The QoS level of the topic.
{% configuration %}
devices:
description: List of devices with their topic.
required: true
type: list
qos:
description: The QoS level of the topic.
required: false
type: integer
{% endconfiguration %}
Example JSON you can publish to the topic (e.g., via mqtt.publish service):

View File

@ -26,16 +26,42 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **url** (*Optional*): The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used.
- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`.
- **port** (*Optional*): The port your router communicates with.
- **username** (*Optional*): The username of a user with administrative privileges. If not provided `admin` will be used.
- **password** (*Required*): The password for your given admin account.
- **devices** (*Optional*): If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI.
- **exclude** (*Optional*): Devices to exclude from the scan.
- **accesspoints** (*Optional*): Also track devices on the specified APs. Only supports MAC address.
{% configuration %}
url:
description: The base URL, e.g., `http://routerlogin.com:5000` for example. If not provided `host` and `port` are used. If none provided autodetection of the URL will be used.
required: false
type: string
host:
description: The IP address of your router, e.g., `192.168.1.1`.
required: false
type: string
port:
description: The port your router communicates with.
required: false
default: 5000
type: integer
username:
description: The username of a user with administrative privileges.
required: false
default: admin
type: string
password:
description: The password for your given admin account.
required: true
type: string
devices:
description: If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI.
required: false
type: list
exclude:
description: Devices to exclude from the scan.
required: false
type: list
accesspoints:
description: Also track devices on the specified APs. Only supports MAC address.
required: false
type: list
{% endconfiguration %}
When `accesspoints` is specified an extra device will be reported for each device connected to the APs specified here, as `MY-LAPTOP on RBS40`. `Router` will be reported as AP name for the main AP. Only tested with Orbi.

View File

@ -36,12 +36,25 @@ device_tracker:
hosts: 192.168.1.0/24
```
Configuration variables:
- **hosts** (*Required*): The network address to scan (in any supported Nmap format). Mixing subnets and IPs is possible.
- **home_interval** (*Optional*): The number of minutes Nmap will not scan this device, assuming it is home, in order to preserve the device battery.
- **exclude** (*Optional*): Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error), so excluding that host is a good idea.
- **scan_options** (*Optional*): Configurable scan options for Nmap. Default to `-F --host-timeout 5s`
{% configuration %}
hosts:
description: The network address to scan (in any supported Nmap format). Mixing subnets and IPs is possible.
required: true
type: string
home_interval:
description: The number of minutes Nmap will not scan this device, assuming it is home, in order to preserve the device battery.
required: false
type: integer
exclude:
description: Hosts not to include in Nmap scanning. Scanning the host where Home Assistant is running can cause problems (websocket error), so excluding that host is a good idea.
required: false
type: list
scan_options:
description: Configurable scan options for Nmap.
required: false
default: -F --host-timeout 5s
type: string
{% endconfiguration %}
## {% linkable_title Examples %}

View File

@ -25,7 +25,7 @@ There are _multiple_ ways of integrating an OpenWRT router for presence detectio
* [ubus](/components/device_tracker.ubus/)
* [luci](/components/device_tracker.luci/)
* __passive/event-based__
External services which notify Home Assistant of devices via the [REST API endpoint](/developers/rest_api.markdown).
External services which notify Home Assistant of devices via the [REST API endpoint](https://developers.home-assistant.io/docs/en/external_api_rest.html).
* Advantages:
* devices typically registered in under one second when they connect
* very few network requests

View File

@ -25,15 +25,39 @@ device_tracker:
- platform: owntracks
```
Configuration variables:
- **max_gps_accuracy** (*Optional*): Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account.
- **waypoints** (*Optional*): Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `True`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions. Defaults to `True`.
- **waypoint_whitelist** (*Optional*): A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone). Defaults to all users who are connected to Home Assistant via Owntracks.
- **secret** (*Optional*): [Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present.
- **mqtt_topic** (*Optional*): The topic to subscribe for Owntracks updates on your MQTT instance (defaults to `owntracks/#`).
- **events_only** (*Optional*): Home Assistant will ignore all location updates and rely solely on geofence enter/leave events.
- **region_mapping** (*Optional*): Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`.
{% configuration %}
max_gps_accuracy:
description: Sometimes Owntracks can report GPS location with a very low accuracy (few kilometers). That can trigger false zoning in your Home Assistant installation. With the parameter, you can filter these GPS reports. The number has to be in meter. For example, if you put 200 only GPS report with an accuracy under 200 will be take in account.
required: false
type: integer
waypoints:
description: "Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions."
required: false
default: true
type: boolean
waypoint_whitelist:
description: "A list of user names (as defined for [Owntracks](/components/device_tracker.owntracks/)) who can export their waypoints from Owntracks to Home Assistant. This would be the `username` portion of the Base Topic Name, (e.g., owntracks/**username**/iPhone)"
required: false
default: All users who are connected to Home Assistant via Owntracks.
type: list
secret:
description: "[Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present."
required: false
type: string
mqtt_topic:
description: The topic to subscribe for Owntracks updates on your MQTT instance.
required: false
default: owntracks/#
type: string
events_only:
description: Home Assistant will ignore all location updates and rely solely on geofence enter/leave events.
required: false
type: boolean
region_mapping:
description: "Dictionary to remap names of regions as configured in the Owntracks app to Home Assistant zones. Use this if you have multiple homes or Home Assistant instances and want to map a different label to 'home'. `key: value` maps Owntracks region `key` to Home Assistant zone `value`."
required: false
type: list
{% endconfiguration %}
A full sample configuration for the `owntracks` platform is shown below:
@ -42,9 +66,9 @@ A full sample configuration for the `owntracks` platform is shown below:
device_tracker:
- platform: owntracks
max_gps_accuracy: 200
waypoints: True
waypoints: true
mqtt_topic: "owntracks/#"
events_only: True
events_only: true
waypoint_whitelist:
- jon
- ram
@ -107,5 +131,5 @@ You can use iBeacons of both types together, so if you have a Zone `drive` with
By default, any Owntracks user connected to Home Assistant can export their waypoint definitions (from the *Export - Export to Endpoint* menu item) which will then be translated to zone definitions in Home Assistant. The zones will be named `<user>-<device> - <waypoint name>`. This functionality can be controlled in 2 ways:
1. The configuration variable `waypoints` can be set to `False` which will disable importing waypoints for all users.
1. The configuration variable `waypoints` can be set to `false` which will disable importing waypoints for all users.
2. The configuration variable `waypoint_whitelist` can contain a list of users who are allowed to import waypoints.

View File

@ -23,9 +23,12 @@ device_tracker:
- platform: sky_hub
```
Configuration variables:
- **host** (*Optional*): The IP address of your router. Defaults to `192.168.1.254`.
{% configuration %}
host:
description: The IP address of your router.
required: false
default: 192.168.1.254
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -54,18 +54,33 @@ If you want to use encryption, you must enable SNMP version 3 by adding `authkey
device_tracker:
- platform: snmp
host: 192.168.1.1
community: username
authkey: authpass
privkey: privpass
community: USERNAME
authkey: AUTHPASS
privkey: PRIVPASS
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
```
Configuration variables:
- **host** (*Required*): The IP address of the router, eg. 192.168.1.1.
- **community** (*Required*): The SNMP community which is set for the device. Most devices have a default community set to `public` with read-only permission (which is sufficient).
- **baseoid** (*Required*): The OID prefix where wireless client registrations can be found, usually vendor specific. It's advised to use the numerical notation. To find this base OID, check vendor documentation or check the MIB file for your device.
- **authkey** (*Inclusive*): Authentication key for SNMPv3. Variable privkey must also be set.
- **privkey** (*Inclusive*): Privacy key SNMPv3. Variable authkey must also be set.
{% configuration %}
host:
description: The IP address of the router, e.g., 192.168.1.1.
required: true
type: string
community:
description: The SNMP community which is set for the device. Most devices have a default community set to `public` with read-only permission (which is sufficient).
required: true
type: string
baseoid:
description: The OID prefix where wireless client registrations can be found, usually vendor specific. It's advised to use the numerical notation. To find this base OID, check vendor documentation or check the MIB file for your device.
required: true
type: string
authkey:
description: Authentication key for SNMPv3. Variable privkey must also be set.
required: inclusive
type: string
privkey:
description: Privacy key SNMPv3. Variable authkey must also be set.
required: inclusive
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -27,8 +27,12 @@ device_tracker:
- platform: swisscom
```
Configuration variables:
- **host** (*Optional*): The IP address of your router. Set it if you are not using `192.168.1.1`.
{% configuration %}
host:
description: The IP address of your router.
required: false
default: 192.168.1.1
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -27,11 +27,20 @@ device_tracker:
home_id: YOUR_HOME_ID
```
Configuration variables:
- **username** (*Required*): The username for your Tado account.
- **password** (*Required*): The password for your Tado account.
- **home_id** (*Optional*): The id of your home of which you want to track devices. If provided, the Tado device tracker will tack *all* devices known to Tado associated with this home. See below how to find it.
{% configuration %}
username:
description: The username for your Tado account.
required: true
type: string
password:
description: The password for your Tado account.
required: true
type: string
home_id:
description: The id of your home of which you want to track devices. If provided, the Tado device tracker will tack *all* devices known to Tado associated with this home. See below how to find it.
required: false
type: integer
{% endconfiguration %}
After configuration, your device has to be at home at least once before showing up as *home* or *away*.
Polling Tado API for presence information will happen at most once every 30 seconds.

View File

@ -27,10 +27,19 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, eg. 192.168.1.1.
- **username** (*Required*: The username of an user with administrative privileges, usually *admin*.
- **password** (*Required*): The password for your given admin account.
{% configuration %}
host:
description: The IP address of your router, e.g., 192.168.1.1.
required: true
type: string
username:
description: The username of an user with administrative privileges, usually *admin*.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -36,11 +36,20 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1.
- **username** (*Required*): The username of a user with administrative privileges, usually *admin*. The Archer D9 last firmware does not require a username.
- **password** (*Required*): The password for your given admin account.
{% configuration %}
host:
description: The IP address of your router, e.g., 192.168.1.1.
required: true
type: string
username:
description: The username of an user with administrative privileges, usually *admin*. The Archer D9 last firmware does not require a username.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
{% endconfiguration %}
For Archer C9 models running firmware version 150811 or later please use the encrypted password you can retrieve like this:
@ -54,6 +63,3 @@ For Archer C9 models running firmware version 150811 or later please use the enc
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
For Archer D9 model the default ip is 192.168.1.1, the username is not necessary and you can leave that field blank.

View File

@ -69,12 +69,25 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD
```
Configuration variables:
- **host** (*Required*): The IP address of your router, eg. 192.168.1.1.
- **username** (*Required*): The username of an user with administrative privileges, usually *root*.
- **password** (*Required*): The password for your given account.
- **dhcp_software** (*Optional*): The DHCP software used in your router: `dnsmasq`, `dhcpd`, or `none`. Defaults to `dnsmasq`.
{% configuration %}
host:
description: The IP address of your router, e.g., 192.168.1.1.
required: true
type: string
username:
description: The username of an user with administrative privileges, usually `root`.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
dhcp_software:
description: "The DHCP software used in your router: `dnsmasq`, `dhcpd`, or `none`."
required: false
default: dnsmasq
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -23,9 +23,13 @@ device_tracker:
- platform: upc_connect
```
Configuration variables:
- **host** (*Optional*): The IP address of your router. Set it if you are not using `192.168.0.1`.
{% configuration %}
host:
description: The IP address of your router.
required: false
default: 192.168.0.1
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
@ -33,4 +37,3 @@ Also known to be working with the following devices:
- Irish Virgin Media Super Hub 3.0
- Ziggo Connectbox NL
- Unitymedia Connect Box (DE)

View File

@ -59,8 +59,6 @@ discovery:
- homekit
```
{% linkable_title Configuration variables: %}
{% configuration discovery %}
ignore:
description: A list of platforms that never will be automatically configured by `discovery`.

View File

@ -29,7 +29,7 @@ To use the `dweet` component in your installation, add the following to your `co
```yaml
# Example configuration.yaml entry
dweet:
name: HAExport
name: YOUR_UNIQUE_IDENTIFIER
whitelist:
- input_number.brightness
- input_boolean.notify_home
@ -37,8 +37,14 @@ dweet:
- sensor.cpu
```
Configuration variables:
- **name** (*Required*): Choose must choose an unique name.
- **whitelist** (*Required*): List of entity IDs you want to publish.
{% configuration %}
name:
description: A unique identifier for your Home Assistant instance.
required: true
type: string
whitelist:
description: List of entity IDs you want to publish
required: true
type: list
{% endconfiguration %}

View File

@ -32,19 +32,41 @@ dyson:
device_ip: DEVICE_IP_2
```
Configuration variables:
{% configuration %}
username:
description: Dyson account username (email address).
required: true
type: string
password:
description: Dyson account password.
required: true
type: string
language:
description: "Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. Other codes should be supported."
required: true
type: string
devices:
description: List of devices.
required: false
type: map
keys:
device_id:
description: Device ID. The Serial Number of the device. Found in the smart phone app device settings page.
required: true
type: string
device_ip:
description: Device IP address.
required: true
type: string
{% endconfiguration %}
- **username** (*Required*): Dyson account username (email address).
- **password** (*Required*): Dyson account password.
- **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `GB`, `AU`. But others codes should work.
- **devices** (*Optional*): List of devices.
- **device_id** (*Required*): Device ID. The Serial Number of the device. Found in the mobiles applications device settings page.
- **device_ip** (*Required*): Device IP address.
The `devices` list is optional, but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface).
`devices` list is optional but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface).
*If your are using a robot vacuum (Dyson 360 Eye), discovery is not yet supported so you have to provide `devices` list.*
<p class='note warning'>
Discovery is not yet supported for any robot vacuum models (Dyson 360 Eye). For these devices, you will need to provide them in the `devices` list.
</p>
To find devices IP address, you can use your router or `nmap`:
To find a devices IP address, you can use your router or `nmap`:
```bash
$ nmap -p 1883 XXX.XXX.XXX.XXX/YY -- open

View File

@ -21,7 +21,7 @@ To use the `emoncms_history` component in your installation, add the following t
```yaml
# Example configuration.yaml entry
emoncms_history:
api_key: put your emoncms WRITE api key here
api_key: YOUR_EMONCMS_WRITE_API_KEY
url: https://emoncms.org
inputnode: 19
whitelist:
@ -29,10 +29,26 @@ emoncms_history:
- sensor.owm_wind_speed
```
Configuration variables:
- **api_key** (*Required*): Your emoncms write api key
- **url** (*Required*): The root URL of your Emoncms installation. (Use https://emoncms.org for the cloud based version)
- **inputnode** (*Required*): Input node that will be used inside emoncms. Please make sure you use a dedicated, not used before, node for this component!
- **whitelist** (*Required*): List of entity IDs you want to publish.
- **scan_interval** (*Optional*): Defines, in seconds, how regularly the states of the whitelisted entities are being gathered and send to emoncms. Default is 30 seconds.
{% configuration %}
api_key:
description: Your Emoncms write api key
required: true
type: string
url:
description: The root URL of your Emoncms installation. (Use https://emoncms.org for the cloud based version)
required: true
type: string
inputnode:
description: Input node that will be used inside Emoncms. Please make sure you use a dedicated, not used before, node for this component!
required: true
type: integer
whitelist:
description: List of entity IDs you want to publish.
required: true
type: list
scan_interval:
description: Defines, in seconds, how regularly the states of the whitelisted entities are being gathered and send to Emoncms.
required: false
type: integer
default: 30
{% endconfiguration %}

View File

@ -29,10 +29,18 @@ To set it up, add the following information to your `configuration.yaml` file:
ffmpeg:
```
Configuration variables:
- **ffmpeg_bin** (*Optional*): Default `ffmpeg`. The name or path to the `ffmpeg` binary.
- **run_test** (*Optional*): Default True. Check if `input` is usable by ffmpeg.
{% configuration %}
ffmpeg_bin:
description: The name or path to the `ffmpeg` binary.
required: false
default: ffmpeg
type: string
run_test:
description: Check if `input` is usable by ffmpeg.
required: false
default: True
type: boolean
{% endconfiguration %}
### {% linkable_title Raspbian Debian Jessie Lite Installations %}
To get the binary on Raspbian Debian Jessie Lite on a RPi you need to perform the following:
@ -100,4 +108,3 @@ Stream mapping:
Press [q] to stop, [?] for help
frame= 223 fps= 40 q=-1.0 Lsize= 16709kB time=00:00:07.40 bitrate=18497.5kbits/s dup=58 drop=0 speed=1.32x
```

View File

@ -192,3 +192,7 @@ The request_sync service may fail with a 404 if the project_id of the Homegraph
When using NGINX, ensure that your `proxy_pass` line *does not* have a trailing `/`, as this will result in errors. Your line should look like:
proxy_pass http://localhost:8123;
### {% linkable_title Unlink and relink %}
If you're having trouble with *Account linking failed* after you unlinked your service, try clearing the browser history and cache.

View File

@ -21,9 +21,21 @@ To enable this component, add the following lines to your `configuration.yaml`:
graphite:
```
Configuration variables:
- **host** (*Option*): IP address of your graphite host, eg. http://192.168.1.10. Defaults to `localhost`
- **port** (*Optional*): Port to use. Defaults to 2003.
- **prefix** (*Optional*): Prefix is the metric prefix in graphite. Defaults to `ha`.
{% configuration %}
host:
description: IP address of your graphite host, e.g., http://192.168.1.10.
required: false
type: string
default: localhost
port:
description: This is a description of what this key is for.
required: false
type: integer
default: 2003
prefix:
description: Prefix is the metric prefix in graphite.
required: false
type: string
default: ha
{% endconfiguration %}

View File

@ -95,7 +95,7 @@ homekit:
required: false
type: list
entity_config:
description: Configuration for specific entities. All subordinate keys are the corresponding entity ids to the domains, e.g. `alarm_control_panel.alarm`.
description: Configuration for specific entities. All subordinate keys are the corresponding entity ids to the domains, e.g., `alarm_control_panel.alarm`.
required: false
type: map
keys:

View File

@ -294,7 +294,7 @@ action:
When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant will stop getting updates from devices. This may happen after rebooting the CCU for example. Due to the nature of the communication protocol this cannot be handled automatically, so you must call *homematic.reconnect* in this case. That's why it is usually a good idea to check if your HomeMatic components are still updated properly, in order to detect connection losses. This can be done in several ways through an automation:
- If you have a sensor which you know will be updated frequently (e.g. an outdoor temperature sensor or light sensor) you could set up an automation like this:
- If you have a sensor which you know will be updated frequently (e.g., an outdoor temperature sensor or light sensor) you could set up an automation like this:
```yaml
automation:
@ -309,7 +309,7 @@ When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant wi
service: homematic.reconnect
```
- If you have a CCU you can also create a system variable on the CCU, which stores it's last reboot time. Since Home Assistant can still refresh system variables from the CCU (even after a reboot), this is a pretty reliable way to detect situations where you need to call *homematic.reconnect*. This is how this can be done:
- If you have a CCU you can also create a system variable on the CCU, which stores its last reboot time. Since Home Assistant can still refresh system variables from the CCU (even after a reboot), this is a pretty reliable way to detect situations where you need to call *homematic.reconnect*. This is how this can be done:
1. Create a string variable **V_Last_Reboot** on the CCU

View File

@ -15,11 +15,6 @@ The `http` component serves all files and data required for the Home Assistant
frontend. You only need to add this to your configuration file if you want to
change any of the default settings.
<p class='note warning'>
It is HIGHLY recommended that you set the `api_password`,
especially if you are planning to expose your installation to the internet.
</p>
<p class='note'>
Don't use option `server_host` on a Hass.io installation!
</p>
@ -32,7 +27,7 @@ http:
{% configuration %}
api_password:
description: Protect Home Assistant with a password.
description: Protect the Home Assistant API with a password - this password can also be used to log in to the frontend. Where possible you should use a long lasting access token instead of this.
required: false
type: string
server_host:

View File

@ -12,7 +12,7 @@ ha_category: History
ha_release: 0.9
---
The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. For more details, [see the blog post on InfluxDB](/blog/2015/12/07/influxdb-and-grafana/).
The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.6/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available.
## {% linkable_title Configuration %}
@ -25,28 +25,117 @@ influxdb:
You will still need to create a database named `home_assistant` via InfluxDB's command line interface. For instructions on how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed.
Configuration variables:
- **host** (*Optional*): IP address of your database host, e.g., 192.168.1.10. Defaults to `localhost`.
- **port** (*Optional*): Port to use. Defaults to 8086.
- **username** (*Optional*): The username of the database user. The user needs read/write privileges on the database.
- **password** (*Optional*): The password for the database user account.
- **database** (*Optional*): Name of the database to use. Defaults to `home_assistant`. The database must already exist.
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false.
- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false.
- **max_retries** (*Optional*): Allow the component to retry if there was a network error when transmitting data
- **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id.
- **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
- **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format.
- **override_measurement** (*Optional*): Measurement name to use for this component, takes precedence over the global 'override_measurement' and component-specific 'unit_of_measurement' attribute.
- **exclude** (*Optional*): Configure which components should be excluded from recording to InfluxDB.
- **entities** (*Optional*): The list of entity ids to be excluded from recording to InfluxDB.
- **domains** (*Optional*): The list of domains to be excluded from recording to InfluxDB.
- **include** (*Optional*): Configure which components should be included in recordings to InfluxDB. If set, all other entities will not be recorded to InfluxDB. Values set by the **blacklist** option will prevail.
- **entities** (*Optional*): The list of entity ids to be included from recordings to InfluxDB.
- **domains** (*Optional*): The list of domains to be included from recordings to InfluxDB.
- **tags** (*Optional*): Tags to mark the data.
- **tags_attributes** (*Optional*): The list of attribute names which should be reported as tags and not fields to InfluxDB. For example, if set to `friendly_name`, it will be possible to group by entities' friendly names as well, in addition to their ids.
{% configuration %}
host:
type: string
description: IP address of your database host, e.g., 192.168.1.10
required: false
default: localhost
port:
type: integer
description: Port to use
required: false
default: 8086
username:
type: string
description: The username of the database user. The user needs read/write privileges on the database
required: false
password:
type: string
description: The password for the database user account.
required: false
database:
type: string
description: Name of the database to use. The database must already exist.
required: false
default: home_assistant
ssl:
type: boolean
description: Use https instead of http to connect.
required: false
default: false
verify_ssl:
type: boolean
description: Verify SSL certificate for https request.
required: false
default: true
max_retries:
type: integer
description: Set this to allow the component to retry if there was a network error when transmitting data.
required: false
default: 0
default_measurement:
type: string
description: Measurement name to use when an entity doesn't have a unit.
required: false
default: uses the entity id of the entity
override_measurement:
type: string
description: Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
required: false
exclude:
type: list
description: Configure which components should be excluded from recording to InfluxDB.
required: false
keys:
entities:
type: list
description: The list of entity ids to be excluded from recording to InfluxDB.
required: false
domains:
type: list
description: The list of domains to be excluded from recording to InfluxDB.
required: false
include:
type: list
description: Configure which components should be included in recordings to InfluxDB. If set, all other entities will not be recorded to InfluxDB. Values set by the **exclude** lists will take precedence.
required: false
keys:
entities:
type: string, list
description: The list of entity ids to be included in recording to InfluxDB.
required: false
domains:
type: string, list
description: The list of domains to be included in recording to InfluxDB.
required: false
tags:
type: string, list
description: Tags to mark the data.
default: 0
tags_attributes:
type: string, list
description: The list of attribute names which should be reported as tags and not fields to InfluxDB. For example, if set to `friendly_name`, it will be possible to group by entities' friendly names as well, in addition to their ids.
required: false
default: 0
component_config:
type: string
required: false
description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format.
keys:
override_measurement:
type: string
description: Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
required: false
component_config_domain:
type: string
required: false
description: This attribute contains domain-specific component override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format.
keys:
override_measurement:
type: string
description: Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
required: false
component_config_glob:
type: string
required: false
description: This attribute contains component-specific override values. See [Customizing devices and services](/getting-started/customizing-devices/) for format.
keys:
override_measurement:
type: string
description: Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
required: false
{% endconfiguration %}
## {% linkable_title Helper scripts %}

View File

@ -61,11 +61,11 @@ insteon:
hub_version: 1
```
Addtional configuration items are available:
Additional configuration items are available:
```yaml
insteon:
<PLM or Hub configruation>
<PLM or Hub configuration>
device_override:
- address: ADDRESS
cat: CATEGORY
@ -244,13 +244,13 @@ events. The following events are available:
- **insteon.button_on**
- **address**: (required) The Insteon device address in lower case without
dots (e.g. 1a2b3c)
dots (e.g., 1a2b3c)
- **button**: (Optional) The button id in lower case. For a 4-button remote
the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For
a one-button remote this field is not used.
- **insteon.button_of**
- **address**: (required) The Insteon device address in lower case without
dots (e.g. 1a2b3c)
dots (e.g., 1a2b3c)
- **button**: (Optional) The button id in lower case. For a 4-button remote
the values are a to d. For an 8 button remote the values are `a` to `g`. For
a one-button remote this field is not used.

View File

@ -13,7 +13,7 @@ ha_release: "0.50"
ha_qa_scale: internal
---
The `intent_script` component allows users to configure actions and responses to intents. Intents can be fired by any component that supports it. Examples are [Alexa](/components/alexa/) (Amazon Echo), [API.ai](/components/dialogflow/) (Google Assistant) and [Snips](/components/snips/).
The `intent_script` component allows users to configure actions and responses to intents. Intents can be fired by any component that supports it. Examples are [Alexa](/components/alexa/) (Amazon Echo), [Dialogflow](/components/dialogflow/) (Google Assistant) and [Snips](/components/snips/).
```yaml
# Example configuration.yaml entry

View File

@ -38,16 +38,45 @@ kira:
port: 65432
```
Configuration variables:
- **sensors** (*Optional*): Kira sensors to register
- **name** (*Optional*): Name of this sensor.
- **host** (*Optional*): Bind address for this sensor. 0.0.0.0 is default.
- **port** (*Optional*): UDP port to listen for packets on. 65432 is default.
- **remotes** (*Optional*): Remote Kira modules to register
- **name** (*Optional*): Name of this remote.
- **host** (*Required*): IP address of Kira module to send commands to.
- **port** (*Optional*): UDP port to send packets to. 65432 is default.
{% configuration %}
sensors:
description: Kira sensors to register.
required: false
type: map
keys:
name:
description: Name of this sensor.
required: false
type: string
host:
description: Bind address for this sensor.
required: false
default: 0.0.0.0
type: string
port:
description: UDP port to listen for packets on.
required: false
default: 65432
type: integer
remotes:
description: Remote Kira modules to register.
required: false
type: map
keys:
name:
description: Name of this remote.
required: false
type: string
host:
description: IP address of Kira module to send commands to.
required: true
type: string
port:
description: UDP port to send packets to.
required: false
default: 65432
type: integer
{% endconfiguration %}
If no sensors or remotes are specified, a sensor with default values will be added.
@ -70,13 +99,30 @@ The first time the Kira component is loaded, `kira_codes.yaml` will be created i
type: nec
```
Configuration variables:
- **name** (*Required*): The name of this code.
- **code** (*Required*): The data for this code (see below).
- **device** (*Optional*): The device this code is associated with. Default is "unknown".
- **type** (*Optional*): The type of this code. If this field is omitted, the type will be autodetected if possible.
- **repeat** (*Optional*): The number of times to repeat this code (on transmit). Default is 1.
{% configuration %}
name:
description: The name of this code.
required: true
type: string
code:
description: The data for this code (see below).
required: true
type: string
device:
description: The device this code is associated with.
required: false
default: unknown
type: string
type:
description: The type of this code. If this field is omitted, the type will be autodetected if possible.
required: false
type: string
repeat:
description: The number of times to repeat this code (on transmit).
required: false
default: 1
type: integer
{% endconfiguration %}
Some manufacturers (e.g., Samsung) require an IR code to be sent a number of times in a row in rapid succession (usually 3). This doesn't apply to the vast majority of devices, but it can be helpful if needed.

View File

@ -47,8 +47,12 @@ Optional, recommended for large KNX installations (>100 devices) and/or if you w
knx:
config_file: '/path/to/xknx.yaml'
```
- **config_file** (*Optional*): The path for XKNX configuration file.
{% configuration %}
config_file:
description: The path for XKNX configuration file.
required: false
type: string
{% endconfiguration %}
If the auto detection of the KNX/IP device does not work you can specify ip/port of the tunneling device:
@ -60,9 +64,17 @@ knx:
local_ip: '192.168.2.109'
```
- **host**: Host of the KNX/IP tunneling device.
- **port**: Port of the KNX/IP tunneling device.
- **local_ip**: IP of the local interface.
{% configuration %}
host:
description: Host of the KNX/IP tunneling device.
type: string
port:
description: Port of the KNX/IP tunneling device.
type: integer
local_ip:
description: IP of the local interface.
type: string
{% endconfiguration %}
Explicit connection to a KNX/IP routing device:
@ -73,7 +85,11 @@ knx:
local_ip: '192.168.2.109'
```
- **local_ip**: The local IP address of interface (which should be used for multicasting).
{% configuration %}
local_ip:
description: The local IP address of interface (which should be used for multicasting).
type: string
{% endconfiguration %}
```yaml
knx:
@ -81,9 +97,21 @@ knx:
fire_event_filter: ["1/0/*", "6/2,3,4-6/*"]
```
- **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus
- **fire_event_filter** (*Optional*): If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus.
- **state_updater** (*Optional*): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behavior.
{% configuration %}
fire_event:
description: If set to True, platform will write all received KNX messages to event bus
required: inclusive
type: boolean
fire_event_filter:
description: If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus.
required: inclusive
type: [list, string]
state_updater:
description: The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behavior.
required: false
default: true
type: boolean
{% endconfiguration %}
### {% linkable_title Services %}
@ -95,8 +123,14 @@ Service: send
Service Data: {"address": "1/0/15", "payload": 0}
```
* **address**: KNX group address
* **payload**: Payload, either an integer or an array of integers
{% configuration %}
address:
description: KNX group address
type: string
payload:
description: Payload, either an integer or an array of integers
type: [integer, list]
{% endconfiguration %}
### {% linkable_title Exposing sensor values or time to knx bus %}
@ -115,11 +149,18 @@ knx:
address: '0/0/23'
```
* **type**: Type of the exposed value. Either time or datetime or any supported type of [KNX Sensor](/components/sensor.knx/) (e.g., "temperature" or "humidity").
* **entity_id**: Entity id of the HASS component to be exposed. Not necessary for types time and datetime.
* **address**: KNX group address.
{% configuration %}
type:
description: Type of the exposed value. Either time or datetime or any supported type of [KNX Sensor](/components/sensor.knx/) (e.g., "temperature" or "humidity").
type: string
entity_id:
description: Entity id of the HASS component to be exposed. Not necessary for types time and datetime.
type: string
address:
description: KNX group address.
type: string
{% endconfiguration %}
### {% linkable_title Known issues %}
Due to lame multicast support the routing abstraction and the gateway scanner only work with Python >=3.5.

View File

@ -52,7 +52,7 @@ access_token:
required: true
type: string
api_host:
description: Override the IP address/host (and port number) of Home Assistant that the Konnected device(s) will use to communicate sensor state updates. If omitted, this is defaulted to the value of `base_url` in the `http` component. If you've set `base_url` to an external hostname, then you'll want to set this value back to your _local_ IP address and port (e.g. `http://192.168.1.101:8123`).
description: Override the IP address/host (and port number) of Home Assistant that the Konnected device(s) will use to communicate sensor state updates. If omitted, this is defaulted to the value of `base_url` in the `http` component. If you've set `base_url` to an external hostname, then you'll want to set this value back to your _local_ IP address and port (e.g., `http://192.168.1.101:8123`).
required: false
type: url
default: value of `base_url`

View File

@ -61,3 +61,22 @@ light:
type: list
default: "['HDMI', 'Cinema brighten lights', 'Cinema dim lights', 'Knight rider', 'Blue mood blobs', 'Cold mood blobs', 'Full color mood blobs', 'Green mood blobs', 'Red mood blobs', 'Warm mood blobs', 'Police Lights Single', 'Police Lights Solid', 'Rainbow mood', 'Rainbow swirl fast', 'Rainbow swirl', 'Random', 'Running dots', 'System Shutdown', 'Snake', 'Sparks Color', 'Sparks', 'Strobe blue', 'Strobe Raspbmc', 'Strobe white', 'Color traces', 'UDP multicast listener', 'UDP listener', 'X-Mas']"
{% endconfiguration %}
## {% linkable_title Example %}
To start Hyperion with an effect, use the following automation:
```yaml
automation:
- id: one
alias: Turn Hyperion effect on when light goes on
trigger:
- platform: state
entity_id: light.hyperion
to: 'on'
action:
- service: light.turn_on
data:
entity_id: light.hyperion
effect: "Full color mood blobs"
```

View File

@ -26,21 +26,39 @@ To use your KNX light in your installation, add the following lines to your `con
# Example configuration.yaml entry
light:
- platform: knx
name: Kitchen-Light-1
address: '1/0/9'
brightness_address: '1/0/11'
```
Configuration variables:
- **address** (*Required*): KNX group address for switching the light on and off.
- **name** (*Optional*): A name for this device used within Home Assistant.
- **brightness_address** (Optional): KNX group address for dimming light.
- **state_address** (*Optional*): separate KNX group address for retrieving the switch state of the light.
- **brightness_state_address** (*Optional*): separate KNX group address for retrieving the dimmed state of the light.
- **color_address** (*Optional*): separate KNX group address for setting the color of the light.
- **color_state_address** (*Optional*): separate KNX group address for retrieving the color of the light.
{% configuration %}
address:
description: KNX group address for switching the light on and off.
required: true
type: string
name:
description: A name for this device used within Home Assistant.
required: false
type: string
brightness_address:
description: KNX group address for dimming light.
required: false
type: string
state_address:
description: separate KNX group address for retrieving the switch state of the light.
required: false
type: string
brightness_state_address:
description: separate KNX group address for retrieving the dimmed state of the light.
required: false
type: string
color_address:
description: separate KNX group address for setting the color of the light.
required: false
type: string
color_state_address:
description: separate KNX group address for retrieving the color of the light.
required: false
type: string
{% endconfiguration %}
Some KNX devices can change their state internally without any messages on the KNX bus, e.g., if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object.
For switching/light actuators that are only controlled by a single group address and can't change their state internally, you don't have to configure the state address.

View File

@ -19,7 +19,7 @@ The light component supports multiple entries in <code>configuration.yaml</code>
To set the default color and brightness values when the light is turned on, create a custom `light_profiles.csv` (as described below in the `profile` attribute of `light.turn_on`).
The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g. for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting.
The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g., for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting.
### {% linkable_title Service `light.turn_on` %}
@ -29,7 +29,7 @@ Most lights do not support all attributes. You can check the platform documentat
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `entity_id` | yes | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `transition` | yes | Number that represents the time (in seconds) the light should take to transition to the new state.
| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten.
| `hs_color` | yes | A list containing two floats representing the hue and saturation of the color you want the light to be. Hue is scaled 0-360, and saturation is scaled 0-100.

View File

@ -26,10 +26,24 @@ light:
- address: a5
```
Configuration variables:
- **address** (*Required*): The X10 address of the light.
- **name** (*Optional*): The name of the light. Default is: x10_light_dev_*address*.
- **comm_type** (*Optional*): pl (powerline) or rf (radio frequency). Default is pl.
- **brightness_levels** (*Optional*): The number of brightness levels the X10 light device supports. This can either be 32, 64, or 256 (note that the max
value sent to the device will be n-1 because it starts at 0)
{% configuration %}
address:
description: The X10 address of the light.
required: true
type: string
name:
description: The name of the light.
required: false
default: x10_light_dev_address
type: string
comm_type:
description: pl (powerline) or rf (radio frequency).
required: false
default: pl
type: string
brightness_levels:
description: The number of brightness levels the X10 light device supports. This can either be 32, 64, or 256 (note that the max value sent to the device will be n-1 because it starts at 0).
required: false
default: 32
type: integer
{% endconfiguration %}

View File

@ -52,7 +52,7 @@ state_topic:
required: false
type: string
command_on_template:
description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `flash`, `transition` and `effect`."
description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `white_value`, `flash`, `transition` and `effect`."
required: true
type: string
command_off_template:

View File

@ -41,7 +41,7 @@ For more information have a look at `/usr/share/doc/lirc/README.Debian.gz` where
Now teach LIRC about your particular remote control by preparing a lircd configuration file (`/etc/lirc/lircd.conf`). Search the [LIRC remote database](http://lirc.sourceforge.net/remotes/) for your model. If you can't find it, then you can always use the `irrecord` program to learn your remote. This will create a valid configuration file. Add as many remotes as you want by pasting them into the file. If `irrecord` doesn't work (e.g., for some air conditioner remotes), then the `mode2` program is capable of reading the codes in raw mode, followed by `irrecord -a` to extract hex codes.
Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. The file has to be in the home dir of the user running Home Assistant, e.g. in `/home/homeassistant/.lircrc` if you're running in a virtual env. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this:
Next, you have to make a `~/.lircrc` file that maps keypresses to system actions. The file has to be in the home dir of the user running Home Assistant, e.g., in `/home/homeassistant/.lircrc` if you're running in a virtual env. [The configuration](http://www.lirc.org/html/configure.html) is a bit tedious but it must be done. Use the `prog = home-assistant` for all keys you want to be recognized by Home Assistant. The values you set for `button` must be the same as in the `lircd.conf` file and the values you put for `config` entry will be the sensor value in Home Assistant when you press the button. An example may look like this:
```bash
begin

View File

@ -31,7 +31,7 @@ Configuration variables:
{% configuration %}
username:
description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes."
description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g., '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes."
required: true
type: string
password:

View File

@ -24,7 +24,8 @@ Supported devices:
To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file:
**Telnet platform**
## {% linkable_title Telnet platform %}
```yaml
# Example configuration.yaml entry
media_player:
@ -32,10 +33,16 @@ media_player:
host: IP_ADDRESS
```
Configuration variables:
- **host** (*Required*): IP address of the device. Example: 192.168.1.32
- **name** (*Optional*): Name of the device.
{% configuration %}
host:
description: "IP address of the device. Example: 192.168.1.32"
required: true
type: string
name:
description: The name of the device
required: false
type: string
{% endconfiguration %}
A few notes for platform: denon

View File

@ -27,12 +27,26 @@ media_player:
host: IP_ADDRESS
```
Configuration variables:
- **host** (*Required*): IP address of the Host where Music Player Daemon is running.
- **port** (*Optional*): Port of the Music Player Daemon. Defaults to 6600.
- **name** (*Optional*): Name of your Music Player Daemon. Defaults to "MPD".
- **password** (*Optional*): Password for your Music Player Daemon.
{% configuration %}
host:
description: IP address of the Host where Music Player Daemon is running.
required: true
type: string
port:
description: Port of the Music Player Daemon.
required: false
type: integer
default: 6600
name:
description: Name of your Music Player Daemon.
required: false
type: string
default: MPD
password:
description: Password for your Music Player Daemon.
required: false
type: string
{% endconfiguration %}
Example script to load a saved playlist called "DeckMusic" and set the volume:

View File

@ -52,8 +52,8 @@ In case [discovery](/components/discovery/) does not work (GDM disabled or non-l
- **IP_ADDRESS** (*Required*): IP address of the Plex Media Server.
- **PORT** (*Required*): Port where Plex is listening. Default is 32400.
- **TOKEN** (*Optional*): Only if authentication is required. Set to `null` (without quotes) otherwise.
- **ssl** (*Optional*): Whether to use SSL/TLS or not. Defaults to `False` if not present.
- **verify** (*Optional*): Perform a verification of the certificate. To allow invalid or self-signed SSL certificates set it to `False`. Defaults to `True` if not present.
- **ssl** (*Optional*): Whether to use SSL/TLS or not. Defaults to `false` if not present.
- **verify** (*Optional*): Perform a verification of the certificate. To allow invalid or self-signed SSL certificates set it to `false`. Defaults to `true` if not present.
## {% linkable_title Customization %}

View File

@ -81,8 +81,10 @@ Currently known supported models:
- KS8000 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6020 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6100 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6290 (port must be set to 8001)
- KU7000 (port must be set to 8001)
- NU8000
- MU6170UXZG (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KS7502 (port must be set to 8001, and `pip3 install websocket-client` must be executed, turn on doesn't work, turn off works fine)
- K5600AK (partially supported, turn on works but state is not updated)

View File

@ -56,7 +56,7 @@ Initiation will show you two different values:
Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
```bash
$ pyvizio --ip={ip} pair_finish --token={challenge_token} --pin={tv_pin}
$ pyvizio --ip={ip} pair-finish --token={challenge_token} --pin={tv_pin}
```
You will need the authentication token returned by this command to configure Home Assistant.

View File

@ -24,10 +24,16 @@ media_player:
- platform: vlc
```
Configuration variables:
- **name** (*Optional*): The name to use in the frontend.
- **arguments** (*Optional*): Additional arguments to be passed to VLC.
{% configuration %}
name:
description: The name to use in the frontend.
required: false
type: string
arguments:
description: Additional arguments to be passed to VLC.
required: false
type: string
{% endconfiguration %}
Only the "music" media type is supported for now.

View File

@ -30,15 +30,33 @@ To add a Yamaha Network Receiver to your installation, add the following to your
media_player:
- platform: yamaha
```
Configuration variables:
- **name** (*Optional*): Name of the device. This overrides the
default name (often model number) that is returned by the device.
- **host** (*Optional*): IP address or hostname of the device
- **source_ignore** (*Optional*): List of sources to hide in the front-end
- **source_names** (*Optional*): Mapping of internal AVR source names to custom ones, allowing one to rename e.g., `HDMI1` to `ChromeCast`
- **zone_ignore** (*Optional*): List of zones to hide in the front-end
- **zone_names** (*Optional*): Mapping of zone names to custom ones, allowing one to rename e.g., `Main_Zone` to `Family Room`
{% configuration %}
name:
description: Name of the device. This overrides the default name (often model number) that is returned by the device.
required: false
type: string
host:
description: IP address or hostname of the device.
required: false
type: string
source_ignore:
description: List of sources to hide in the front-end.
required: false
type: list
source_names:
description: Mapping of internal AVR source names to custom ones, allowing one to rename e.g., `HDMI1` to `ChromeCast`.
required: false
type: list
zone_ignore:
description: List of zones to hide in the front-end.
required: false
type: list
zone_names:
description: Mapping of zone names to custom ones, allowing one to rename e.g., `Main_Zone` to `Family Room`.
required: false
type: list
{% endconfiguration %}
### {% linkable_title Discovery notes %}

View File

@ -24,15 +24,28 @@ media_player:
- platform: yamaha_musiccast
host: 192.168.xx.xx
```
Configuration variables:
- **host** (*Required*): IP address or hostname of the device
- **port** (*Optional*): UDP source port. If multiple devices are present, specify a different port per device
- **interval_seconds** (*Optional*): Polling interval (default: 480 seconds = 8 minutes)
{% configuration %}
host:
description: IP address or hostname of the device.
required: true
type: string
port:
description: UDP source port. If multiple devices are present, specify a different port per device.
required: false
type: integer
interval_seconds:
description: Polling interval in seconds.
required: false
type: integer
default: 480
{% endconfiguration %}
A few notes:
### {% linkable_title Supported operations %}
- Currently, this component supports powering on/off, mute, volume control, and source selection. Playback controls, for instance, play and stop are available for sources that support it.
Currently, this component supports powering on/off, mute, volume control, and source selection. Playback controls, for instance, play and stop are available for sources that support it.
### {% linkable_title Example configuration %}
A full configuration example will look like the sample below:
```yaml

View File

@ -30,15 +30,25 @@ modbus:
port: 2020
```
Configuration variables:
- **type** (*Required*): Type of the connection to Modbus. Possible values are:
- *tcp*: Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation,
- *udp*: Modbus TCP form, but using UDP for transport (removes the overheads required for TCP),
- *rtuovertcp*: Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines.
- **host** (*Required*): The IP address of your Modbus device, eg. 192.168.1.1.
- **port** (*Required*): The port for the communication.
- **timeout** (*Optional*): Timeout for slave response in seconds. (default: 3)
{% configuration %}
type:
description: Type of the connection to Modbus. Possible values are `tcp` (Modbus TCP protocol according to "MODBUS Messaging Implementation Guide version 1.0b" provided by Schneider Automation.), `udp`(Modbus TCP form, but using UDP for transport. It removes the overheads required for TCP.) and `rtuovertcp` (Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of serial lines.).
required: true
type: string
host:
description: The IP address of your Modbus device, e.g., 192.168.1.1.
required: true
type: string
port:
description: The port for the communication.
required: true
type: integer
timeout:
description: Timeout for slave response in seconds.
required: false
default: 3
type: integer
{% endconfiguration %}
For a serial connection:
@ -54,16 +64,41 @@ modbus:
parity: N
```
Configuration variables:
- **type** (*Required*): Type of the connection to Modbus.
- **method** (*Required*): Method of the connection to Modbus.
- **port** (*Required*): The port where your Modbus device is connected to your Home Assistant host.
- **baudrate** (*Required*): The speed for the serial connection.
- **stopbits** (*Required*): The stopbits for the serial connection.
- **bytesize** (*Required*): The bytesize for the serial connection.
- **parity** (*Required*): The parity for the serial connection.
- **timeout** (*Optional*): Timeout for slave response in seconds. (default: 3)
{% configuration %}
type:
description: Type of the connection to Modbus.
required: true
type: string
method:
description: Method of the connection to Modbus.
required: true
type: string
port:
description: The port where your Modbus device is connected to your Home Assistant host.
required: true
type: string
baudrate:
description: The speed for the serial connection.
required: true
type: integer
stopbits:
description: The stopbits for the serial connection.
required: true
type: integer
bytesize:
description: The bytesize for the serial connection.
required: true
type: integer
parity:
description: The parity for the serial connection.
required: true
type: string
timeout:
description: Timeout for slave response in seconds.
required: false
default: 3
type: integer
{% endconfiguration %}
### {% linkable_title Services %}

Some files were not shown because too many files have changed in this diff Show More