Merge remote-tracking branch 'upstream/next' into next

This commit is contained in:
Zack Arnett 2018-10-15 12:35:54 -04:00
commit 774958b675
332 changed files with 6633 additions and 2585 deletions

View File

@ -202,7 +202,7 @@ var swfobject = function() {
function hasPlayerVersion(rv) { function hasPlayerVersion(rv) {
var pv = ua.pv, v = rv.split("."); var pv = ua.pv, v = rv.split(".");
v[0] = parseInt(v[0], 10); 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; 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; 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 # Home Assistant release details
current_major_version: 0 current_major_version: 0
current_minor_version: 79 current_minor_version: 80
current_patch_version: 3 current_patch_version: 0
date_released: 2018-10-02 date_released: 2018-10-12
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.
# Major release: # Major release:
patch_version_notes: "#release-0793---october-2" patch_version_notes: "#"
# Minor release (Example #release-0431---april-25): # Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments # Date we moved to Discourse for comments

View File

@ -32,7 +32,7 @@ module Jekyll
# input - a url # input - a url
# #
# Returns input with all urls expanded to include the full site 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) def full_url(input)
expand_url(input, site_url) expand_url(input, site_url)
@ -40,8 +40,8 @@ module Jekyll
# Prepends input with a url fragment # Prepends input with a url fragment
# #
# input - An absolute url, e.g. /images/awesome.gif # input - An absolute url, e.g., /images/awesome.gif
# url - The fragment to prepend the input, e.g. /blog # url - The fragment to prepend the input, e.g., /blog
# #
# Returns the modified url, 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 * 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 * 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. * 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 * A lot of these classes carry `!important` as you will always want them to win

View File

@ -175,7 +175,7 @@
.btn--tertiary{} .btn--tertiary{}
/** /**
* Positive actions; e.g. sign in, purchase, submit, etc. * Positive actions; e.g., sign in, purchase, submit, etc.
*/ */
.btn--positive{ .btn--positive{
background-color:#4A993E; 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{ .btn--negative{
background-color:#b33630; background-color:#b33630;

View File

@ -22,7 +22,7 @@
* *
* Where  might map to a star in your particular icon font. * 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{ .sprite{
background-image:url(path/to/your/sprite.png); 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. 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> </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 ```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 %} ## {% 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. However, you can automate this process using Home Assistant.

View File

@ -10,7 +10,7 @@ footer: true
featured: 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 ```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). 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: 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 %} ### {% 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. 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`. 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: Configuration variables:

View File

@ -22,8 +22,20 @@ alarm_control_panel:
- platform: nx584 - platform: nx584
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Optional*): The host where the nx584 server process is running. Defaults to `localhost`. description: The host where the nx584 server process is running.
- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to `5007`. 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

@ -12,33 +12,10 @@ ha_release: 0.24
ha_category: Alarm ha_category: Alarm
--- ---
The `simplisafe` platform enables the ability to control a [SimpliSafe](http://simplisafe.com/) control panel. The `simplisafe` alarm control panel platform gives users the ability to
control a SimpliSafe home alarm system.
To enable this, add the following lines to your `configuration.yaml`: You must have the [`simplisafe` component](/components/simplisafe/) configured
to use this platform. After configuring that component, any alarm control
panels defined will automatically appear.
```yaml
# Example configuration.yaml entry
alarm_control_panel:
platform: simplisafe
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: Username for the SimpliSafe account.
required: true
type: string
password:
description: Password for SimpliSafe account.
required: true
type: string
name:
description: The name of the alarm. Default is the SimpliSafe alarm id.
required: false
type: string
code:
description: Specifies a code to enable or disable the alarm in the frontend.
required: false
type: string
{% endconfiguration %}

View File

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

View File

@ -17,7 +17,13 @@ The `android_ip_webcam` component turns an Android phone into a network camera w
It's setup as an MJPEG camera and all settings as switches inside of Home Assistant. You can also expose the sensors. If you have multiple phones, you can use all options inside a list. It's setup as an MJPEG camera and all settings as switches inside of Home Assistant. You can also expose the sensors. If you have multiple phones, you can use all options inside a list.
To set it up, download [the IP Webcam app][app], and add the following information to your `configuration.yaml` file: ## {% linkable_title Setup %}
Download [the IP Webcam app](https://play.google.com/store/apps/details?id=com.pas.webcam) and launch the app. You will be able to the IP address of the device.
## {% linkable_title Configuration %}
To set it up the component, add the following information to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -25,49 +31,92 @@ android_ip_webcam:
- host: 192.168.1.10 - host: 192.168.1.10
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP Address of the phone on the network. description: The IP address of the phone on the network.
- **port** (*Optional*): Default is set 8080. The port the IP Webcam listens on. required: true
- **name** (*Optional*): Override the name of the phone. type: string
- **username** (*Optional*): The username to access the phone. port:
- **password** (*Optional*): The password to access the phone. description: The port the IP Webcam listens on.
- **scan_interval** (*Optional*): Default is 10 seconds. Defines the update interval of the phone. required: false
- **sensors** array (*Optional*): Conditions to display sensor in the frontend. See the list of supported sensors. default: 8080
- **switches** array (*Optional*): Conditions to display settings in the frontend. See the list of supported settings. type: integer
- **motion_sensor** (*Optional*): Activate motion sensor if auto_discovery is disabled. 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: The audio connections
battery_level:
description: The battery level
battery_temp:
description: The battery temperature
battery_voltage:
description: The battery voltage
light:
description: The light level
motion:
description: Motion detection
pressure:
description: The current pressure
proximity:
description: The proximity
sound:
description: The sound detection
video_connections:
description: The 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: Control the exposure lock
ffc:
description: Control the front-facing camera.
focus:
description: Control the focus.
gps_active:
description: Control the GPS.
night_vision:
description: Control the night vision.
overlay:
description: Control the overlay.
torch:
description: Control the torch.
whitebalance_lock:
description: Control the white balance lock.
video_recording:
description: Control the video recording.
motion_sensor:
description: Activate motion sensor if `auto_discovery` is disabled.
required: false
type: boolean
{% endconfiguration %}
<p class='note'> <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. 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> </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 %} ## {% linkable_title Full example %}
```yaml ```yaml
@ -104,4 +153,3 @@ android_ip_webcam:
- torch - torch
``` ```
[app]: https://play.google.com/store/apps/details?id=com.pas.webcam

View File

@ -42,13 +42,28 @@ apple_tv:
credentials: CREDENTIALS_2 credentials: CREDENTIALS_2
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP-address of the device. description: The IP-address of the device.
- **login_id** (*Required*): An identifier used to login to the device, see below. required: true
- **name** (*Optional*): The name of the device used in the frontend. type: string
- **start_off** (*Optional*): Set to true if the device should start in fake standby. login_id:
- **credentials** (*Optional*): Credentials used for AirPlay playback. 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. 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 - camera
``` ```
## {% linkable_title Configuration variables %} {% configuration %}
device:
- **device** (*Required*): Unique name description: A unique name
- **host** (*Required*): The IP address to your Axis device. required: true
- **username** (*Optional*): The username to your Axis device. Default 'root'. type: string
- **password** (*Optional*): The password to your Axis device. Default 'pass'. host:
- **trigger_time** (*Optional*): Minimum time (in seconds) a sensor should keep its positive value. Default 0. description: The IP address to your Axis device.
- **port** (*Optional*): Configure port web server of device is accessible from. Default 80. required: true
- **location** (*Optional*): Physical location of your Axis device. Default not set. type: string
- **include** (*Required*): This cannot be empty else there would be no use adding the device at all. username:
- **camera**: Stream MJPEG video to Home Assistant. description: The username to your Axis device.
- **motion**: The built-in motion detection in Axis cameras. required: false
- **vmd3**: ACAP Motion Detection app which has better algorithms for motion detection. default: root
- **pir**: PIR sensor that can trigger on a motion. type: string
- **sound**: Sound detector. password:
- **daynight**: Certain cameras have day/night mode if they have built-in IR lights. description: The password to your Axis device.
- **tampering**: Signals when camera believes that it has been tampered with. required: false
- **input**: Trigger on whatever you have connected to device input port. 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: A full configuration example could look like this:

View File

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

View File

@ -30,14 +30,36 @@ binary_sensor:
name: Window name: Window
``` ```
Configuration variables: {% configuration %}
pins:
- **pins** array (*Required*): Array of used pins. description: List of used pins.
- **pin_name** (*Required*): Pin numbers and corresponding names. required: true
- **name** (*Required*): Friendly name to use for the frontend. type: map
- **bouncetime** (*Optional*): Debounce time for reading input pin defined in milliseconds [ms]. Defaults to `50 ms`. keys:
- **invert_logic** (*Optional*): If `true`, inverts the input logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH). pin_name:
- **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`. 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. 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 command: cat /proc/sys/net/ipv4/ip_forward
``` ```
Configuration variables: {% configuration %}
command:
- **command** (*Required*): The action to take to get the value. description: 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. required: true
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. type: string
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON". name:
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF". description: Let you overwrite the name of the device. By default *name* from the device is used.
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. required: false
- **scan_interval** (*Optional*): Defines number of seconds for polling interval (defaults to 60 seconds). default: name
- **command_timeout** (*Optional*): Defines number of seconds for command timeout (defaults to 15 seconds). 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 %} ## {% linkable_title Examples %}

View File

@ -22,8 +22,15 @@ binary_sensor:
- platform: concord232 - platform: concord232
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Optional*): The host where the concord232 server process is running. Defaults to `localhost`. description: The host where the concord232 server process is running.
- **port** (*Optional*): The port where the Alarm panel is listening. Defaults to 5007. 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

@ -30,11 +30,21 @@ binary_sensor:
id: [0x01,0x90,0x84,0x3C] id: [0x01,0x90,0x84,0x3C]
``` ```
Configuration variables: {% configuration %}
id:
- **id** (*Required*): The ID of the device. This is the 4 bytes long number written on the dimmer. description: The ID of the device. This is the 4 bytes long number written on the dimmer.
- **name** (*Optional*): An identifier for the switch in the frontend. required: true
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend. type: list
name:
description: An identifier for the switch in the frontend.
required: false
default: EnOcean binary sensor
type: string
device_class:
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
required: false
type: device_class
{% endconfiguration %}
EnOcean binary sensors only generate 'button_pressed' events. The event data has following four fields: EnOcean binary sensors only generate 'button_pressed' events. The event data has following four fields:

View File

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

View File

@ -30,16 +30,44 @@ binary_sensor:
input: FFMPEG_SUPPORTED_INPUT input: FFMPEG_SUPPORTED_INPUT
``` ```
Configuration variables: {% configuration %}
input:
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. description: An FFmpeg-compatible input file, stream, or feed.
- **name** (*Optional*): Override the name of your camera. required: true
- **initial_state** (*Optional*): Default true. Start ffmpeg with home-assistant. type: string
- **peak** (*Optional*): Default -30. The threshold of detecting noise, in dB. 0 is very loud and -100 is low. name:
- **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state. description: Override the name of your camera.
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak. required: false
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, like audio frequency filtering. type: string
- **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. 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: To experiment with values:

View File

@ -26,13 +26,29 @@ binary_sensor:
address: '6/0/2' address: '6/0/2'
``` ```
Configuration variables: {% configuration %}
address:
- **address** (*Required*): KNX group address of the binary sensor. description: KNX group address of the binary sensor.
- **name** (*Optional*): A name for this device used within Home Assistant. required: true
- **device_class** (*Optional*): HASS device class e.g., "motion". type: string
- **significant_bit** (*Optional*): Specify which significant bit of the KNX value should be used. Default is 1. name:
- **reset_after** (*Optional*): Reset back to OFF state after specified milliseconds. 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. 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 service: homeassistant.turn_on
``` ```
Configuration variables: {% configuration %}
name:
- **name** (*Optional*): A name for this device used within Home Assistant. description: 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. required: false
- **hook** (Optional): Indicates if the automation should be executed on what state of the binary sensor. Values: "on" or "off". Defaults to "on". type: string
- **action**: Specify a list of actions analog to the [automation rules](/docs/automation/action/). 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,13 +32,26 @@ binary_sensor:
coil: 110 coil: 110
``` ```
Configuration variables: {% 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 %}
- **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.
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation. It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
## {% linkable_title Full example %} ## {% linkable_title Full example %}

View File

@ -109,12 +109,14 @@ value_template:
required: false required: false
type: string type: string
force_update: force_update:
description: > description: Sends update events even if the value hasn't changed. Useful if you want to have meaningful value graphs in history.
Sends update events even if the value has not changed. required: false
Useful if you want to have meaningful value graphs in history.
reqired: false
type: boolean type: boolean
default: false default: False
off_delay:
description: For sensors that only sends On state updates, this variable sets a delay in seconds after which the sensor state will be updated back to Off.
required: false
type: integer
device: device:
description: 'Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.' description: 'Information about the device this binary sensor is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
required: false required: false

View File

@ -25,12 +25,39 @@ binary_sensor:
platform: nx584 platform: nx584
``` ```
Configuration variables: {% configuration %}
host:
- **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. 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.
- **port** (*Optional*): The port where the server process is running. Defaults to `5007`. required: false
- **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. default: localhost
- **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`. 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: An extended configuration entry could look like this:

View File

@ -13,26 +13,8 @@ ha_release: 0.19
ha_iot_class: "Local Polling" ha_iot_class: "Local Polling"
--- ---
The `octoprint` sensor platform let you monitor various states of your 3D printer and its print jobs.
The `octoprint` binary sensor platform let you monitor if your 3D printer is printing or if there was a printing error.
<p class='note'> <p class='note'>
You must have the [OctoPrint component](/components/octoprint/) configured to use this sensor. You must have the [OctoPrint component](/components/octoprint/) configured to use this binary sensor. After configuring that component, binary sensors automatically appear.
</p> </p>
To set it up, add the following information to your `configuration.yaml` file:
```yaml
binary_sensor:
- platform: octoprint
monitored_conditions:
- Printing
- Printing Error
```
Configuration variables:
- **monitored_conditions** array (*Required*): States to monitor.
- **Printing**: State of the printer.
- **Printing Error**: Error while printing.
- **name** (*Optional*): The name of the sensor. Default is 'OctoPrint'.

View File

@ -25,10 +25,16 @@ binary_sensor:
- platform: ring - platform: ring
``` ```
Configuration variables: {% configuration %}
monitored_conditions:
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled. description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions below will be enabled.
- **ding**: Return a boolean value when the doorbell button was pressed. required: false
- **motion**: Return a boolean value when a movement was detected by the Ring doorbell. type: list
keys:
ding:
description: Return a boolean value when the doorbell button was pressed.
motion:
description: Return a boolean value when a movement was detected by the Ring doorbell.
{% endconfiguration %}
Currently it supports doorbell, external chimes and stickup cameras. Currently it supports doorbell, external chimes and stickup cameras.

View File

@ -28,8 +28,14 @@ binary_sensor:
- motion - motion
``` ```
Configuration variables: {% configuration %}
monitored_conditions:
- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. type: list
- **button**: Return a boolean value when the doorbell button was pressed. required: true
- **motion**: Return a boolean value when movement was detected by the Skybell doorbell. description: Conditions to display in the frontend. The following conditions can be monitored.
keys:
button:
description: Returns whether the doorbell button was pressed.
motion:
description: Returns whether movement was detected by the Skybell doorbell.
{% endconfiguration %}

View File

@ -30,12 +30,37 @@ binary_sensor:
Configuration options for the a TCP Sensor: Configuration options for the a TCP Sensor:
- **name** (*Required*): The name you'd like to give the sensor in Home Assistant. {% configuration %}
- **host** (*Required*): The hostname/IP address to connect to. name:
- **port** (*Required*): The port to connect to the host on. required: true
- **payload** (*Required*): What to send to the host in order to get the response we're interested in. description: The name you'd like to give the sensor in Home Assistant.
- **value_on** (*Required*): The value returned when the device is "on". type: string
- **timeout** (*Optional*): How long in seconds to wait for a response from the service before giving up and disconnecting. Defaults to 10. host:
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. By default it's assumed that the entire response is the value. required: true
- **buffer_size** (*Optional*): The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. Defaults to 1024. description: The hostname/IP address to connect to.
type: string
port:
required: true
description: The port to connect to the host on.
type: integer
payload:
required: true
description: What to send to the host in order to get the response we're interested in.
type: string
value_on:
required: true
description: The value returned when the device is "on".
type: string
timeout:
required: false
description: How long in seconds to wait for a response from the service before giving up and disconnecting. Defaults to 10.
type: integer
value_template:
required: false
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value. By default it's assumed that the entire response is the value.
type: string
buffer_size:
required: false
description: The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. Defaults to 1024.
type: integer
{% endconfiguration %}

View File

@ -14,7 +14,7 @@ logo: home-assistant.png
ha_qa_scale: internal ha_qa_scale: internal
--- ---
The `template` platform supports sensors which breaks out the `state` and The `template` platform supports sensors which break out the `state` and
`state_attributes` from other entities. The state of a Template Binary Sensor `state_attributes` from other entities. The state of a Template Binary Sensor
can only be `on` or `off`. can only be `on` or `off`.

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 | | | | | Gas Leak Detector | natgas | JTQJ-BF-01LM/BW | on, off | | | |
| Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | 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 (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 (Single) | 86sw1 | WXKG03LM | off (always) | `click` | `click_type` | `single` |
| Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `click` | `click_type` | `single`, `both` | | 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) | | 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

@ -13,11 +13,11 @@ ha_release: "0.40"
ha_iot_class: "Cloud Polling" ha_iot_class: "Cloud Polling"
--- ---
The `blink` component lets you view camera images and motion events The `blink` component lets you view camera images and motion events from [Blink](http://blinkforhome.com) camera and security systems.
from [Blink](http://blinkforhome.com) camera and security systems.
You will need your Blink login information (username, which is ## {% linkable_title Setup %}
usually your email address, and password) to use this module.
You will need your Blink login information (username, which is usually your email address, and password) to use this module.
## {% linkable_title Configuration %} ## {% linkable_title Configuration %}
@ -32,43 +32,49 @@ blink:
{% configuration %} {% configuration %}
username: username:
description: The username for accessing your Blink account. description: The username for accessing your Blink account.
required: true required: true
type: string type: string
password: password:
description: The password for accessing your Blink account. description: The password for accessing your Blink account.
required: true required: true
type: string type: string
scan_interval: scan_interval:
description: How frequently to query for new data. Defaults to 60 seconds. description: How frequently to query for new data. Defaults to 60 seconds.
required: false required: false
type: integer type: integer
binary_sensors: binary_sensors:
description: Binary sensor configuration options. description: Binary sensor configuration options.
required: false required: false
type: map type: map
keys: keys:
monitored_conditions: monitored_conditions:
description: The conditions to create sensors from. description: The conditions to create sensors from.
required: false required: false
type: list type: list
default: all (`motion_enabled`, `motion_detected`) default: all (`motion_enabled`, `motion_detected`)
sensors: sensors:
description: Sensor configuration options. description: Sensor configuration options.
required: false required: false
type: map type: map
keys: keys:
monitored_conditions: monitored_conditions:
description: The conditions to create sensors from. description: The conditions to create sensors from.
required: false required: false
type: list type: list
default: all (`battery`, `temperature`, `status`, `wifi_strength`) default: all (`battery`, `temperature`, `status`, `wifi_strength`)
{% endconfiguration %} {% endconfiguration %}
Once Home Assistant starts, the `blink` component will create the following platforms:
- An `alarm_control_panel` to arm/disarm the whole blink system (note, `alarm_arm_home` is not implemented and will not actually do anything, despite it being an option in the GUI).
- A `camera` for each camera linked to your Blink sync module.
- A `sensor` per camera for every item listed in `monitored_conditions` (if no items specified in your `configuration.yaml`, all of them will be added by default).
- A `binary_sensor` for each item listed in `monitored_conditions` (if no items specified in your `configuration.yaml`, all of them will be added by default).
Since the cameras are battery operated, setting the `scan_interval` must be done with care so as to not drain the battery too quickly, or hammer Blink's servers with too many API requests. The cameras can be manually updated via the `trigger_camera` service which will ignore the throttling caused by `scan_interval`. As a note, all of the camera-specific sensors are only polled when a new image is requested from the camera. This means that relying on any of these sensors to provide timely and accurate data is not recommended. Since the cameras are battery operated, setting the `scan_interval` must be done with care so as to not drain the battery too quickly, or hammer Blink's servers with too many API requests. The cameras can be manually updated via the `trigger_camera` service which will ignore the throttling caused by `scan_interval`. As a note, all of the camera-specific sensors are only polled when a new image is requested from the camera. This means that relying on any of these sensors to provide timely and accurate data is not recommended.
**Note:** Each camera reports two different states, one as `sensor.blink_<camera_name>_status` and the other as `binary_sensor.blink_<camera_name>_motion_enabled`. The `motion_enabled` property reports if the `camera` is ready to detect motion *regardless if the system is actually armed**. The `status` property is more descriptive, and can be one of the following states: Please note that each camera reports two different states: one as `sensor.blink_<camera_name>_status` and the other as `binary_sensor.blink_<camera_name>_motion_enabled`. The `motion_enabled` property reports if the `camera` is ready to detect motion *regardless if the system is actually armed**. The `status` property is more descriptive, and can be one of the following states:
- `disabled`: System is disabled. - `disabled`: System is disabled.
- `disarmed`: Camera and/or system are disarmed and not ready to detect motion. - `disarmed`: Camera and/or system are disarmed and not ready to detect motion.
@ -94,7 +100,6 @@ blink:
- wifi_strength - wifi_strength
``` ```
## {% linkable_title Services %} ## {% linkable_title Services %}
### {% linkable_title `blink.blink_update` %} ### {% linkable_title `blink.blink_update` %}
@ -111,7 +116,7 @@ Trigger a camera to take a new still image.
### {% linkable_title `blink.save_video` %} ### {% linkable_title `blink.save_video` %}
Save the last recorded video of a camera to a local file. Note that in most cases, home-assistant will need to know that the directory is writable via the `whitelist_external_dirs` in your `configuration.yaml` file (see example below). Save the last recorded video of a camera to a local file. Note that in most cases, Home Assistant will need to know that the directory is writable via the `whitelist_external_dirs` in your `configuration.yaml` file (see example below).
| Service Data Attribute | Optional | Description | | Service Data Attribute | Optional | Description |
|------------------------|----------|------------------------------------------| |------------------------|----------|------------------------------------------|
@ -126,3 +131,7 @@ homeassistant:
- '/tmp' - '/tmp'
- '/path/to/whitelist' - '/path/to/whitelist'
``` ```
### {% linkable_title Other Services %}
In addition to the services mentioned above, there are generic `camera` and `alarm_control_panel` services available for use as well. The `camera.enable_motion_detection` and `camera.disable_motion_detection` services allow for individual cameras to be enabled and disabled, respectively, within the Blink system. The `alarm_control_panel.alarm_arm_away` and `alarm_control_panel.alarm_disarm` services allow for the whole system to be armed and disarmed, respectively.

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). - 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. - Device tracker: The location of your car.
- Lock: Control the lock 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 To enable this component in your installation, add the following to your
`configuration.yaml` file: `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 %} ### {% 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. - **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` - **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. - **description**: The event description.
- **location**: The event Location. - **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) async_dispatcher_send(hass, 'name_of_dispatcher_signal', image_data)
``` ```
Configuration variables: {% configuration %}
- **signal** (*Required*): The signal name of dispatcher signal they send image data to this camera. signal:
- **name** (*Optional*): This parameter allows you to override the name of your camera. 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 input: FFMPEG_SUPPORTED_INPUT
``` ```
Configuration variables: {% configuration %}
input:
- **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. description: An FFmpeg-compatible input file, stream, or feed.
- **name** (*Optional*): Override the name of your camera. required: true
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. 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 %} ### {% linkable_title Image quality %}

View File

@ -28,18 +28,34 @@ camera:
password: YOUR_PASSWORD password: YOUR_PASSWORD
``` ```
Configuration variables: {% configuration %}
ip:
- **ip** (*Required*): The IP address your camera. description: The IP address your camera.
- **port** (*Optional*): The port that the camera is running on. The default is 88. required: true
- **username** (*Required*): The username for accessing your camera. type: string
- **password** (*Required*): The password for accessing your camera. port:
- **name** (*Optional*): This parameter allows you to override the name of your camera. 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'> <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. There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
</p> </p>
### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %} ### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %}
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry. Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.

View File

@ -27,17 +27,48 @@ camera:
still_image_url: http://194.218.96.92/jpg/image.jpg still_image_url: http://194.218.96.92/jpg/image.jpg
``` ```
Configuration variables: {% configuration %}
still_image_url:
- **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/). description: "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. required: true
- **username** (*Optional*): The username for accessing your camera. type: string
- **password** (*Optional*): The password for accessing your camera. name:
- **authentication** (*Optional*): Type for authenticating the requests `basic` (default) or `digest`. description: This parameter allows you to override the name of your camera.
- **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. required: false
- **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. type: string
- **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). username:
- **verify_ssl** (*Optional*): True/false value (default: true). Enable or disable SSL certificate verification. 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'> <p class='img'>
<a href='/cookbook/google_maps_card/'> <a href='/cookbook/google_maps_card/'>

View File

@ -31,13 +31,17 @@ camera:
- platform: logi_circle - platform: logi_circle
``` ```
Configuration variables: {% configuration %}
scan_interval:
- **scan_interval**: (*Optional*): How frequently to query for new camera stills. Defaults to 60 seconds. 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` %} ### {% linkable_title Service `camera.logi_circle_livestream_record` %}
Initiates a recording of the camera's live stream. Initiates a recording of the camera's live stream.
| Service data attribute | Optional | Description | | Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |
@ -60,10 +64,10 @@ The path part of `filename` must be an entry in the `whitelist_external_dirs` in
### {% linkable_title Service `camera.logi_circle_set_config` %} ### {% 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 | | Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- | | ---------------------- | -------- | ----------- |
| `entity_id` | yes | Name(s) of entities to set the operation mode for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. | | `entity_id` | yes | Name(s) of entities to set the operation mode for, e.g., `camera.living_room_camera`. If blank, targets all Logi Circle cameras. |
| `mode` | no | Configuration property to set. Allowed values: `BATTERY_SAVING`, `LED`, `PRIVACY_MODE` | | `mode` | no | Configuration property to set. Allowed values: `BATTERY_SAVING`, `LED`, `PRIVACY_MODE` |
| `value` | no | Mode value. Allowed values: `true`, `false` | | `value` | no | Mode value. Allowed values: `true`, `false` |

View File

@ -29,11 +29,19 @@ camera:
- platform: netatmo - platform: netatmo
``` ```
Configuration variables: {% configuration %}
home:
- **home** (*Optional*): Will display the cameras of this home only. description: Will display the cameras of this home only.
- **cameras** array (*Optional*): Cameras to use. Multiple entities allowed. required: false
- **camera_name**: Name of the camera to display. type: string
cameras:
description: Cameras to use. Multiple entities allowed.
required: false
type: list
keys:
camera_name:
description: Name of the camera to display.
{% endconfiguration %}
If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below. If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below.

View File

@ -24,15 +24,38 @@ camera:
host: 192.168.1.111 host: 192.168.1.111
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): An IP or hostname of the camera. description: An IP or hostname of the camera.
- **name** (*Optional*): Override the name of your camera. required: true
- **username** (*Optional*): The username for the camera. type: string
- **password** (*Optional*): The password for the camera. name:
- **port** (*Optional*): The port for the camera. This defaults to 5000. description: Override the name of your camera.
- **profile** (*Optional*): Video profile that will be used to obtain the stream. This defaults to 0. More details below. required: false
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g., image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg). 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. 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

@ -25,10 +25,17 @@ camera:
- platform: ring - platform: ring
``` ```
Configuration variables: {% configuration %}
ffmpeg_arguments:
- **ffmpeg_arguments**: (*Optional*): Extra options to pass to ffmpeg, e.g., image quality or video filter options. description: Extra options to pass to ffmpeg, e.g., image quality or video filter options.
- **scan_interval**: (*Optional*): How frequently to query for new video. Defaults to 90 seconds. required: false
type: string
scan_interval:
description: How frequently to query for new video in seconds.
required: false
default: 90
type: integer
{% endconfiguration %}
**Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation. **Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/) documentation.

View File

@ -16,6 +16,8 @@ ha_iot_class: "Local Polling"
   
The `synology` camera platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant. The `synology` camera platform allows you to watch the live streams of your [Synology](https://www.synology.com/) Surveillance Station based IP cameras in Home Assistant.
## {% linkable_title Configuration %}
To enable your Surveillance Station cameras in your installation, add the following to your `configuration.yaml` file: To enable your Surveillance Station cameras in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
@ -27,16 +29,43 @@ camera:
password: YOUR_PASSWORD password: YOUR_PASSWORD
``` ```
Configuration variables: {% configuration %}
name:
description: A name for this Synology camera.
required: false
default: Synology Camera
type: string
url:
description: The URL to your Synology, including port.
required: true
type: string
username:
description: The username for accessing Surveillance Station.
required: true
type: string
password:
description: The password for accessing Surveillance Station.
required: true
type: string
timeout:
description: The timeout in seconds used when connecting to the Surveillance Station.
required: false
default: 5
type: integer
whitelist:
description: A list of which cameras you want to add, the names must be the same as in Surveillance Station. If omitted all cameras are added.
required: false
type: list
verify_ssl:
description: Verify SSL/TLS certificate for HTTPS request.
required: false
default: true
type: boolean
{% endconfiguration %}
- **url** (*Required*): The URL to your synology, including port. ## {% linkable_title Full example %}
- **username** (*Required*): The username for accessing surveillance station.
- **password** (*Required*): The password for accessing surveillance station.
- **timeout** (*Optional*): The timeout in seconds used when connecting to the Surveillance Station. Defaults to 5.
- **whitelist** (*Optional*): A list of which cameras you want to add, the names must be the same as in Surveillance Station. If omitted all cameras are added.
- **verify_ssl** (*Optional*): True to require a valid certificate, False to disable certificate checking. Defaults to `True`.
A full sample configuration for the `synology` platform is shown below: A full sample configuration for the `synology` camera platform is shown below:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -50,5 +79,5 @@ camera:
``` ```
<p class='note'> <p class='note'>
Most users will need to set `verify_ssl` to false unless they have installed a valid SSL certificate in place of the built in self-signed certificate. Most users will need to set `verify_ssl` to false unless they have installed a valid SSL/TLS certificate in place of the built in self-signed certificate.
</p> </p>

View File

@ -36,7 +36,7 @@ Hassbian users: Don't forget to install `ffmpeg` support on your platform, other
</p> </p>
<p class='note warning'> <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>
<p class='note warning'> <p class='note warning'>

View File

@ -65,14 +65,34 @@ camera:
password: my_password_123 password: my_password_123
``` ```
Configuration variables: {% configuration %}
name:
- **name** (*Required*): A human-friendly name for the camera. description: A human-friendly name for the camera.
- **host** (*Required*): The IP address or hostname of the camera. required: true
- **password** (*Required*): The password to the FTP server on the camera (from above). type: string
- **path** (*Optional*): The path to the raw MP4 files. Defaults to `/tmp/sd/record`. host:
- **username** (*Optional*): The user that can access the FTP server. Defaults to `root`. description: The IP address or hostname of the camera.
- **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). required: true
type: string
password:
description: The password for the FTP server running on the camera. Can be any string as the current firmware doesn't allow setting FTP passwords.
required: true
type: string
path:
description: The path to the raw MP4 files.
required: false
default: /media/mmcblk0p1/record
type: string
username:
description: The user that can access the FTP server.
required: false
default: root
type: string
ffmpeg_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 %} ## {% linkable_title Image quality %}

View File

@ -34,7 +34,7 @@ Configuration variables:
- **max_temp** (*Optional*): Set maximum set point available (default: 35) - **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. - **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. - **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. - **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. - **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). - **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

@ -33,12 +33,38 @@ climate:
Scan interval is expressed in seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell. Scan interval is expressed in seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell.
</p> </p>
Configuration variables: {% configuration %}
username:
- **username** (*Required*): The username of an user with access. description: The username of an user with access.
- **password** (*Required*): The password for your given admin account. required: true
- **region** (*Optional*): Region identifier (either 'eu' or 'us'). Defaults to 'eu' if not provided. type: string
- **scan_interval**(*Optional*): Scan interval is expressed in seconds. Recommended value of 600 seconds. Default value is 120 seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell. password:
- **away_temperature** (*Optional*) (*only for eu region*): Heating setpoint when away mode is on. If omitted it defaults to 16.0 deg C. description: The password for your given admin account.
- **away_cool_temperature** (*Optional*) (*only for us region*): Cooling setpoint when away mode is on. If omitted it defaults to 30.0 deg C. required: true
- **away_heat_temperature** (*Optional*) (*only for us region*): Heating setpoint when away mode is on. If omitted it defaults to 16.0 deg C. type: string
region:
description: Region identifier (either 'eu' or 'us').
required: false
default: eu
type: string
scan_interval:
description: Scan interval is expressed in seconds. Recommended value of 600 seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell.
required: false
default: 120
type: integer
away_temperature:
description: "(*only for eu region*) Heating setpoint when away mode is on, in deg C."
required: false
default: 16.0
type: float
away_cool_temperature:
description: "(*only for us region*) Cooling setpoint when away mode is on, in deg C."
required: false
default: 30.0
type: float
away_heat_temperature:
description: "(*only for us region*) Heating setpoint when away mode is on, in deg C."
required: false
default: 16.0
type: float
{% endconfiguration %}

View File

@ -0,0 +1,39 @@
---
layout: page
title: "Mill heater"
description: "Instructions on how to integrate Mill heater into Home Assistant."
date: 2018-10-10 15:00 +0200
sidebar: true
comments: false
sharing: true
footer: true
logo: mill.png
ha_category: Climate
ha_release: 0.81
ha_iot_class: "Cloud Polling"
---
Integrates Mill heater into Home Assistant.
The component requires that the heater is set as an [independent device](https://millheat.zendesk.com/hc/en-us/articles/115001123491-What-is-an-Independent-device-) in the Mill app.
To enable this platform, add the following lines to your `configuration.yaml` file:
```yaml
climate:
- platform: mill
username: email@gmail.com
password: pswd
```
{% configuration %}
username:
description: Your registered Mill email.
required: true
type: string
password:
description: Your Mill password.
required: true
type: string
{% endconfiguration %}

View File

@ -26,11 +26,19 @@ climate:
- platform: netatmo - platform: netatmo
``` ```
Configuration variables: {% configuration %}
relay:
- **relay** (*Optional*): Will display the thermostats of this relay only. description: Will display the thermostats of this relay only.
- **thermostat** array (*Optional*): Thermostat to use. required: false
- **thermostat_name**: Name of the thermostat to display. type: string
thermostat:
description: Thermostat to use.
required: false
type: list
keys:
thermostat_name:
description: Name of the thermostat to display.
{% endconfiguration %}
If **relay** and **thermostat** are not provided, all thermostats will be displayed. If **relay** and **thermostat** are not provided, all thermostats will be displayed.

View File

@ -24,12 +24,16 @@ climate:
api_key: <your_key_here> api_key: <your_key_here>
``` ```
Configuration variables: {% configuration %}
api_key:
- **api_key** (*Required*): Your API key. description: Your Sensibo API key (To get your API key visit <https://home.sensibo.com/me/api>).
- **id** (*Optional*): A unit ID or a list of IDs. If none specified then all units accessible by the `api_key` will be used. required: true
type: string
To get your API key visit <https://home.sensibo.com/me/api> 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"> <p class="note">
If you create the API key using a dedicated user (and not your main user), If you create the API key using a dedicated user (and not your main user),
@ -46,3 +50,26 @@ climate:
- id1 - id1
- id2 - 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

@ -28,13 +28,32 @@ comfoconnect:
host: 192.168.1.213 host: 192.168.1.213
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The ip or hostname of the ComfoConnect LAN C bridge. description: The IP or hostname of the ComfoConnect LAN C bridge.
- **name** (*Optional*): The name of this device as you want to see it in Home Assistant. required: true
- **token** (*Optional*): The token you want to use when registering with the device. This is a random 32 char hexadecimal string. The default value is `00000000000000000000000000000001`. type: string
- **user_agent** (*Optional*): The name you want to supply when registering with the device. The default value is `Home Assistant`. name:
- **pin** (*Optional*): The pin code to use when registering. This is `0000` by default. You only need to change this if you have changed the factory default pin. description: The name of this device as you want to see it in Home Assistant.
required: false
default: ComfoAirQ
type: string
token:
description: The token you want to use when registering with the device. This is a random 32 char hexadecimal string.
required: false
default: "`00000000000000000000000000000001`"
type: string
user_agent:
description: The name you want to supply when registering with the device.
required: false
default: "`Home Assistant`"
type: string
pin:
description: The pin code to use when registering. You only need to change this if you have changed the factory default pin.
required: false
default: "`0000`"
type: integer
{% endconfiguration %}
To register the sensors, add the following to your `configuration.yaml` file: To register the sensors, add the following to your `configuration.yaml` file:

View File

@ -33,17 +33,54 @@ cover:
travelling_time_up: 61 travelling_time_up: 61
``` ```
Configuration variables: {% configuration %}
name:
- **name** (*Optional*): A name for this device used within Home Assistant. description: A name for this device used within Home Assistant.
- **move_long_address**: KNX group address for moving the cover full up or down. required: false
- **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. default: KNX Cover
- **position_address** (*Optional*): KNX group address for moving the cover to the dedicated position. type: string
- **position_state_address** (*Optional*): Separate KNX group address for requesting the current position of the cover. move_long_address:
- **angle_address** (*Optional*): KNX group address for moving the cover to the dedicated angle. description: KNX group address for moving the cover full up or down.
- **angle_state_address** (*Optional*): Separate KNX group address for requesting the current angle of cover. required: false
- **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. type: string
- **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. move_short_address:
- **invert_position** (*Optional*): Set this to true if your actuator report fully closed as 100%. 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.
- **invert_angle** (*Optional*): Set this to true if your actuator reports tilt fully closed as 100%. 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 name: Right Garage Door
``` ```
Configuration variables: {% configuration %}
covers:
- **covers** array (*Required*): List of your doors. description: List of your doors.
- **identifier** (*Required*): Name of the cover as slug. Multiple entries are possible. required: true
- **host** (*Required*): IP address of device. type: map
- **port** (*Optional*): HTTP Port. Default is `80`. keys:
- **device_key** (*Required*): Access key to control device. Default is `opendoor`. identifier:
- **name** (*Optional*): Name to use in the Frontend. If not provided, it will use name configured in device. 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:** **Example with more detail:**
<p class='img'> <p class='img'>

View File

@ -87,8 +87,6 @@ Device configuration variables:
- **aliases** (*Optional*): Alternative Rflink ID's this device is known by. - **aliases** (*Optional*): Alternative Rflink ID's this device is known by.
- **fire_event** (*Optional*): Fire a `button_pressed` event if this device is turned on or off (default: False). - **fire_event** (*Optional*): Fire a `button_pressed` event if this device is turned on or off (default: False).
- **signal_repetitions** (*Optional*): Repeat every Rflink command this number of times (default: 1). - **signal_repetitions** (*Optional*): Repeat every Rflink command this number of times (default: 1).
- **fire_event_** (*Optional*): Set default `fire_event` for RFLink switch devices (see below).
- **signal_repetitions** (*Optional*): Set default `signal_repetitions` for RFLink switch devices (see below).
- **group** (*Optional*): Allow light to respond to group commands (ALLON/ALLOFF). (default: yes) - **group** (*Optional*): Allow light to respond to group commands (ALLON/ALLOFF). (default: yes)
- **group_aliases** (*Optional*): `aliases` which only respond to group commands. - **group_aliases** (*Optional*): `aliases` which only respond to group commands.
- **no_group_aliases** (*Optional*): `aliases` which do not respond to group commands. - **no_group_aliases** (*Optional*): `aliases` which do not respond to group commands.

View File

@ -33,9 +33,25 @@ To use the `datadog` component in your installation, add the following to your `
datadog: datadog:
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Optional*): The IP address or hostname of your Datadog host, e.g., 192.168.1.23. Defaults to `localhost`. description: The IP address or hostname of your Datadog host, e.g., 192.168.1.23.
- **port** (*Optional*): Port to use. Defaults to 8125. required: false
- **prefix** (*Optional*): Prefix to use. Defaults to `hass`. default: localhost
- **rate** (*Optional*): The sample rate of UDP packets sent to Datadog. Defaults to 1. 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 password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, eg. `192.168.1.1`. description: The IP address of your router, eg. `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`. required: true
- **password** (*Required*): The password for your given admin account. 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. 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 password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. description: The IP address of your router, e.g., `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`. required: true
- **password** (*Required*): The password for your given admin account. 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. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -37,20 +37,32 @@ device_tracker:
- 2004 Subaru Impreza - 2004 Subaru Impreza
``` ```
Configuration variables: {% configuration %}
client_id:
- **client_id** (*Required*): The OAuth client id (get from https://developer.automatic.com/). description: "The OAuth client id (get from https://developer.automatic.com/)."
- **secret** (*Required*): The OAuth client secret (get from https://developer.automatic.com/). required: true
- **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. type: string
- **devices** (*Optional*): The list of vehicle display names you wish to track. If not provided, all vehicles will be tracked. 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). 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 ```yaml
# Example automatic event automation # Example automatic event automation
automation: automation:
- trigger: - trigger:
- platform: event - platform: event
event_type: automatic_update event_type: automatic_update
event_data: event_data:
@ -60,6 +72,7 @@ automation:
action: action:
- service: light.turn_off - service: light.turn_off
``` ```
<p class='note'> <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. 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> </p>

View File

@ -36,10 +36,18 @@ device_tracker:
- platform: bluetooth_le_tracker - platform: bluetooth_le_tracker
``` ```
Configuration variables: {% configuration %}
track_new_devices:
- **track_new_devices** (*Optional*): If new discovered devices are tracked by default. Defaults to `True`. description: If new discovered devices are tracked by default.
- **interval_seconds** (*Optional*): Seconds between each scan for new devices. Defaults to `12` seconds. 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. 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. 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 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. 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: 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 host: 192.168.1.254
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Optional*): The IP address of your router, Default: 192.168.1.254. 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. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -18,7 +18,7 @@ This is a presence detection scanner for [Cisco](http://www.cisco.com) IOS devic
This device tracker needs SSH to be enabled on the router. This device tracker needs SSH to be enabled on the router.
</p> </p>
Before using this scanner it is recommended that you lower the ARP cache timeout on your router, as Cisco IOS normally comes with a 4 hour default ARP cache timeout. Before using this scanner it is recommended that you lower the ARP cache timeout on your router, as Cisco IOS normally comes with a 4 hour default ARP cache timeout.
For example, the following commands will lower the timeout to 2 minutes on Vlan1: For example, the following commands will lower the timeout to 2 minutes on Vlan1:
@ -43,7 +43,7 @@ copy running-config startup-config
``` ```
<p class='note warning'> <p class='note warning'>
If you have a very large number of devices on your VLan (+1000), then you may want to adjust the ARP cache timeout to suit your needs. See [this discussion](https://supportforums.cisco.com/discussion/10169296/arp-timeout) to learn more. If you have a very large number of devices on your VLan (+1000), then you may want to adjust the ARP cache timeout to suit your needs. See [this discussion](https://supportforums.cisco.com/discussion/10169296/arp-timeout) to learn more.
</p> </p>
To use this device tracker in your installation, add the following to your `configuration.yaml` file: To use this device tracker in your installation, add the following to your `configuration.yaml` file:
@ -57,12 +57,19 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. description: The IP address of your router, e.g., 192.168.1.1.
- **username** (*Required*): The username of an user with administrative privileges. required: true
- **password** (*Required*): The password for your given admin account. 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. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -25,11 +25,30 @@ device_tracker:
password: YOUR_ADMIN_PASSWORD password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. description: The IP address of your router, e.g., `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges, usually `admin`. required: true
- **password** (*Required*): The password for your given admin account. 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: Whether to connect via HTTPS.
required: false
type: boolean
default: false
verify_ssl:
description: If SSL/TLS verification for HTTPS resources needs to be turned off (for self-signed certs, etc.)
required: false
type: boolean
default: true
{% endconfiguration %}
By default Home Assistant pulls information about connected devices from DD-WRT every 5 seconds. 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. 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 - platform: fritz
``` ```
Configuration variables: {% configuration %}
host:
- **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. 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.
- **username** (*Optional*: The username of an user with administrative privileges, usually `admin`. required: false
- **password** (*Optional*): The password for your given admin account. 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'> <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. 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> </p>
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. 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 - platform: geofency
``` ```
Configuration variables: {% configuration %}
mobile_beacons:
- **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*. 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: A full sample configuration for the `geofency` platform is shown below:
@ -43,4 +46,4 @@ Geofency will automatically generate the device tracker name used for geofences,
When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](/components/zone/), otherwise, it will be set to the name of the zone. When you enter a geofence or stationary beacon, your location name in Home Assistant will be set to the name of the geofence or beacon location in Geofency. When you exit a geofence or stationary beacon, your location name in Home Assistant will be set to 'not home'. For mobile beacons, the location name will be 'not_home' whenever the beacon is entered or exited outside of a [zone](/components/zone/), otherwise, it will be set to the name of the zone.
To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited. To make Geofency work better with the [proximity](/components/proximity/) component, you should enable the 'Send Current Location' feature in the Webhook configuration screen. This ensures that the _current_ GPS coordinates are included in exit events instead of the coordinates of the (center of) the zone that was exited.

View File

@ -13,7 +13,7 @@ ha_release: "0.10"
--- ---
The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices. The `icloud` platform allows you to detect presence using the [iCloud](https://www.icloud.com/) service. iCloud allows users to track their location on iOS devices.
It does require that your device is registered with "Find My iPhone". It does require that your device is registered with "Find My iPhone".
@ -28,13 +28,30 @@ device_tracker:
account_name: accountname account_name: accountname
``` ```
Configuration variables: {% configuration %}
username:
- **username** (*Required*): The username for the iCloud account. description: The username for the iCloud account.
- **password** (*Required*): The password for your given username. required: true
- **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). type: string
- **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. password:
- **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. 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'> <p class='note warning'>
Low `max_interval` may cause battery drainage as it wakes up your device to get the current location. 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. 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: 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_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_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. - **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 # Example configuration.yaml entry
device_tracker: device_tracker:
- platform: keenetic_ndms2 - platform: keenetic_ndms2
host: !secret router_ip host: YOUR_HOST
username: !secret router_username username: YOUR_USERNAME
password: !secret router_password password: YOUR_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. description: The IP address of your router, e.g., 192.168.1.1.
- **port** (*Optional*): The Telnet port of your router. Default is 23. required: true
- **username** (*Required*): The username to login into the router (user should have read access to telnet interface of the router). type: string
- **password** (*Required*): The password for the specified username. port:
- **interface** (*Optional*): Ihe internal name of the interface to get devices connected to. Default is 'Home'. For expert users only. 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. 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 password: YOUR_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The hostname or IP address of your access point, eg. `192.168.1.1`. description: The hostname or IP address of your access point, e.g., `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges (read-only is sufficient). required: true
- **password** (*Required*): The password for your given admin account. type: string
- **verify_ssl** (*Optional*): Verify SSL certificate for HTTPS request. Defaults to true. 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 %} ## {% linkable_title Example %}

View File

@ -34,8 +34,11 @@ device_tracker:
host: 192.168.1.1 host: 192.168.1.1
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The hostname or IP address of your router, eg. `192.168.1.1`. 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. 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 password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`. description: The hostname or IP address of your router, e.g., `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`. required: true
- **password** (*Required*): The password for your given admin account. type: string
- **ssl** (*Optional*): If your router enforces SSL connections, set to `true`. Defaults to `false`. 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. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
<p class='note warning'> <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. 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> </p>

View File

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

View File

@ -41,11 +41,24 @@ device_tracker:
password: ADMIN_PASSWORD password: ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router. description: The IP address of your router.
- **username** (*Required*: The username of an user with administrative privileges. required: true
- **password** (*Required*): The password for your given admin account. type: string
- **port** (*Optional*): Mikrotik API port. Defaults to `8728`. 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. 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' annetherese_n4: 'location/annetherese'
``` ```
Configuration variables: {% configuration %}
devices:
- **devices** (*Required*): List of devices with their topic. description: List of devices with their topic.
- **qos** (*Optional*): The QoS level of the 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): 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 password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
url:
- **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. 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.
- **host** (*Optional*): The IP address of your router, e.g., `192.168.1.1`. required: false
- **port** (*Optional*): The port your router communicates with. type: string
- **username** (*Optional*): The username of a user with administrative privileges. If not provided `admin` will be used. host:
- **password** (*Required*): The password for your given admin account. description: The IP address of your router, e.g., `192.168.1.1`.
- **devices** (*Optional*): If provided only specified devices will be reported. Can be MAC address or the device name as reported in the Netgear UI. required: false
- **exclude** (*Optional*): Devices to exclude from the scan. type: string
- **accesspoints** (*Optional*): Also track devices on the specified APs. Only supports MAC address. 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. 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

@ -19,7 +19,7 @@ As an alternative to the router-based device tracking, it is possible to directl
Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own. Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own.
</p> </p>
You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`. You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
<p class='note'> <p class='note'>
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fulfilled. If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fulfilled.
@ -36,12 +36,25 @@ device_tracker:
hosts: 192.168.1.0/24 hosts: 192.168.1.0/24
``` ```
Configuration variables: {% configuration %}
hosts:
- **hosts** (*Required*): The network address to scan (in any supported Nmap format). Mixing subnets and IPs is possible. description: 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. required: true
- **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. type: string
- **scan_options** (*Optional*): Configurable scan options for Nmap. Default to `-F --host-timeout 5s` 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 %} ## {% 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/) * [ubus](/components/device_tracker.ubus/)
* [luci](/components/device_tracker.luci/) * [luci](/components/device_tracker.luci/)
* __passive/event-based__ * __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: * Advantages:
* devices typically registered in under one second when they connect * devices typically registered in under one second when they connect
* very few network requests * very few network requests

View File

@ -25,15 +25,39 @@ device_tracker:
- platform: owntracks - platform: owntracks
``` ```
Configuration variables: {% configuration %}
max_gps_accuracy:
- **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. 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.
- **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`. required: false
- **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. type: integer
- **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. waypoints:
- **mqtt_topic** (*Optional*): The topic to subscribe for Owntracks updates on your MQTT instance (defaults to `owntracks/#`). 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."
- **events_only** (*Optional*): Home Assistant will ignore all location updates and rely solely on geofence enter/leave events. required: false
- **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`. 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: 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: device_tracker:
- platform: owntracks - platform: owntracks
max_gps_accuracy: 200 max_gps_accuracy: 200
waypoints: True waypoints: true
mqtt_topic: "owntracks/#" mqtt_topic: "owntracks/#"
events_only: True events_only: true
waypoint_whitelist: waypoint_whitelist:
- jon - jon
- ram - 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: 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. 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 - platform: sky_hub
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Optional*): The IP address of your router. Defaults to `192.168.1.254`. 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. See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -25,7 +25,7 @@ The following OID examples pull the current MAC Address table from a router. Thi
|---|---|---|---| |---|---|---|---|
| Mikrotik | unknown RouterOS version/model | `1.3.6.1.4.1.14988.1.1.1.2.1.1` | | Mikrotik | unknown RouterOS version/model | `1.3.6.1.4.1.14988.1.1.1.2.1.1` |
| Mikrotik | RouterOS 6.x on RB2011 | `1.3.6.1.2.1.4.22.1.2` | | Mikrotik | RouterOS 6.x on RB2011 | `1.3.6.1.2.1.4.22.1.2` |
| Aruba | (untested) | `1.3.6.1.4.1.14823.2.3.3.1.2.4.1.2` | | Aruba | (untested) | `1.3.6.1.4.1.14823.2.3.3.1.2.4.1.1` |
| pfSense | 2.2.4 | `1.3.6.1.2.1.4.22.1.2` | | pfSense | 2.2.4 | `1.3.6.1.2.1.4.22.1.2` |
| BiPAC | 7800DXL Firmware 2.32e | `1.3.6.1.2.1.17.7.1.2.2.1.1` | | BiPAC | 7800DXL Firmware 2.32e | `1.3.6.1.2.1.17.7.1.2.2.1.1` |
| OpenWrt | Chaos Calmer 15.05 | `1.3.6.1.2.1.4.22.1.2` | | OpenWrt | Chaos Calmer 15.05 | `1.3.6.1.2.1.4.22.1.2` |
@ -54,18 +54,33 @@ If you want to use encryption, you must enable SNMP version 3 by adding `authkey
device_tracker: device_tracker:
- platform: snmp - platform: snmp
host: 192.168.1.1 host: 192.168.1.1
community: username community: USERNAME
authkey: authpass authkey: AUTHPASS
privkey: privpass privkey: PRIVPASS
baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1 baseoid: 1.3.6.1.4.1.14988.1.1.1.2.1.1
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of the router, eg. 192.168.1.1. description: The IP address of the router, e.g., 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). required: true
- **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. type: string
- **authkey** (*Inclusive*): Authentication key for SNMPv3. Variable privkey must also be set. community:
- **privkey** (*Inclusive*): Privacy key SNMPv3. Variable authkey must also be set. 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. 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 - platform: swisscom
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Optional*): The IP address of your router. Set it if you are not using `192.168.1.1`. 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. 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 home_id: YOUR_HOME_ID
``` ```
Configuration variables: {% configuration %}
username:
- **username** (*Required*): The username for your Tado account. description: The username for your Tado account.
- **password** (*Required*): The password for your Tado account. required: true
- **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. 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*. 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. 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 password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, eg. 192.168.1.1. description: The IP address of your router, e.g., 192.168.1.1.
- **username** (*Required*: The username of an user with administrative privileges, usually *admin*. required: true
- **password** (*Required*): The password for your given admin account. 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. 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 password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, e.g., 192.168.1.1. description: 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. required: true
- **password** (*Required*): The password for your given admin account. 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: 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. 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. 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 password: YOUR_ADMIN_PASSWORD
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Required*): The IP address of your router, eg. 192.168.1.1. description: The IP address of your router, e.g., 192.168.1.1.
- **username** (*Required*): The username of an user with administrative privileges, usually *root*. required: true
- **password** (*Required*): The password for your given account. type: string
- **dhcp_software** (*Optional*): The DHCP software used in your router: `dnsmasq`, `dhcpd`, or `none`. Defaults to `dnsmasq`. 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. 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 - platform: upc_connect
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Optional*): The IP address of your router. Set it if you are not using `192.168.0.1`. 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. 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 - Irish Virgin Media Super Hub 3.0
- Ziggo Connectbox NL - Ziggo Connectbox NL
- Unitymedia Connect Box (DE) - Unitymedia Connect Box (DE)

View File

@ -59,8 +59,6 @@ discovery:
- homekit - homekit
``` ```
{% linkable_title Configuration variables: %}
{% configuration discovery %} {% configuration discovery %}
ignore: ignore:
description: A list of platforms that never will be automatically configured by `discovery`. 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 ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
dweet: dweet:
name: HAExport name: YOUR_UNIQUE_IDENTIFIER
whitelist: whitelist:
- input_number.brightness - input_number.brightness
- input_boolean.notify_home - input_boolean.notify_home
@ -37,8 +37,14 @@ dweet:
- sensor.cpu - sensor.cpu
``` ```
Configuration variables: {% configuration %}
name:
- **name** (*Required*): Choose must choose an unique name. description: A unique identifier for your Home Assistant instance.
- **whitelist** (*Required*): List of entity IDs you want to publish. 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 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). 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).
- **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.
`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). <p class='note warning'>
*If your are using a robot vacuum (Dyson 360 Eye), discovery is not yet supported so you have to provide `devices` list.* 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 ```bash
$ nmap -p 1883 XXX.XXX.XXX.XXX/YY -- open $ nmap -p 1883 XXX.XXX.XXX.XXX/YY -- open

View File

@ -51,10 +51,17 @@ ecobee:
api_key: asdfghjklqwertyuiopzxcvbnm api_key: asdfghjklqwertyuiopzxcvbnm
``` ```
Configuration variables: {% configuration %}
api_key:
- **api_key** (*Required*): Your ecobee API key. This is only needed for the initial setup of the component. Once registered it can be removed. If you revoke the key in the ecobee portal you will need to update this again and remove the ecobee.conf file in the `.homeassistant` configuration path. description: Your ecobee API key. This is only needed for the initial setup of the component. Once registered it can be removed. If you revoke the key in the ecobee portal you will need to update this again and remove the ecobee.conf file in the `.homeassistant` configuration path.
- **hold_temp** (*Optional*): True/False whether or not to hold changes indefinitely (True) or until the next scheduled event. Defaults to `False`. required: true
type: string
hold_temp:
description: True/False whether or not to hold changes indefinitely (True) or until the next scheduled event.
required: false
default: "`false`"
type: boolean
{% endconfiguration %}
<p class='img'> <p class='img'>
<img src='{{site_root}}/images/screenshots/ecobee-sensor-badges.png' /> <img src='{{site_root}}/images/screenshots/ecobee-sensor-badges.png' />

View File

@ -21,7 +21,7 @@ To use the `emoncms_history` component in your installation, add the following t
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
emoncms_history: emoncms_history:
api_key: put your emoncms WRITE api key here api_key: YOUR_EMONCMS_WRITE_API_KEY
url: https://emoncms.org url: https://emoncms.org
inputnode: 19 inputnode: 19
whitelist: whitelist:
@ -29,10 +29,26 @@ emoncms_history:
- sensor.owm_wind_speed - sensor.owm_wind_speed
``` ```
Configuration variables: {% configuration %}
api_key:
- **api_key** (*Required*): Your emoncms write api key description: Your Emoncms write api key
- **url** (*Required*): The root URL of your Emoncms installation. (Use https://emoncms.org for the cloud based version) required: true
- **inputnode** (*Required*): Input node that will be used inside emoncms. Please make sure you use a dedicated, not used before, node for this component! type: string
- **whitelist** (*Required*): List of entity IDs you want to publish. url:
- **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. 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

@ -41,6 +41,9 @@ enocean:
device: /dev/ttyUSB0 device: /dev/ttyUSB0
``` ```
Configuration variables: {% configuration %}
device:
- **device** (*Required*): The port where your device is connected to your Home Assistant host. description: The port where your device is connected to your Home Assistant host.
required: true
type: string
{% endconfiguration %}

View File

@ -29,10 +29,18 @@ To set it up, add the following information to your `configuration.yaml` file:
ffmpeg: ffmpeg:
``` ```
Configuration variables: {% configuration %}
ffmpeg_bin:
- **ffmpeg_bin** (*Optional*): Default `ffmpeg`. The name or path to the `ffmpeg` binary. description: The name or path to the `ffmpeg` binary.
- **run_test** (*Optional*): Default True. Check if `input` is usable by ffmpeg. 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 %} ### {% 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: 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 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 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

@ -0,0 +1,88 @@
---
layout: page
title: "NSW Rural Fire Service Incidents"
description: "Instructions on how to integrate the NSW Rural Fire Service Incidents feed into Home Assistant."
date: 2018-09-23 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: nsw-rural-fire-service.png
ha_category: Geo Location
ha_iot_class: "Cloud Polling"
ha_release: "0.81"
---
The `nsw_rural_fire_service_feed` platform lets you integrate a GeoJSON feed provided by the [NSW Rural Fire Service](https://www.rfs.nsw.gov.au/fire-information/fires-near-me) with information about bush fires, grass fires, hazard reductions and more. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location.
<p class='img'>
<img src='{{site_root}}/images/screenshots/nsw-rural-fire-service-feed-entities.png' />
</p>
Entities are generated, updated and removed automatically with each update from the feed. Each entity defines latitude and longitude and will be shown on the map automatically. The distance in kilometers is available as the state of each entity.
<p class='img'>
<img src='{{site_root}}/images/screenshots/nsw-rural-fire-service-feed-map.png' />
</p>
The entity's information can be used for example if a bush fire that produces smoke or embers is reported close to your home, and you want to automatically close windows, turn on a sprinkler system or simply send yourself a reminder to clean the gutters from dry leaves.
The data is updated every 5 minutes.
## {% linkable_title Configuration %}
To integrate the NSW Rural Fire Service Incidents feed, add the following lines to your `configuration.yaml`.
```yaml
# Example configuration.yaml entry
geo_location:
- platform: nsw_rural_fire_service_feed
```
{% configuration %}
radius:
description: The distance in kilometers around Home Assistant's coordinates in which incidents are included.
required: false
type: float
default: 20km
categories:
description: List of incident category names found in the feed. Only incidents from the feed that match any of these categories are included. Valid categories are 'Emergency Warning', 'Watch and Act', 'Advice', 'Not Applicable'.
required: false
type: list
default: None. Any incident regardless of its category will be included.
{% endconfiguration %}
## {% linkable_title State Attributes %}
The following state attributes are available for each entity in addition to the standard ones:
| Attribute | Description |
|--------------------|-------------|
| latitude | Latitude of the incident. |
| longitude | Longitude of the incident. |
| external_id | The external ID used in the feed to identify the incident in the feed. |
| category | One of 'Emergency Warning', 'Watch and Act', 'Advice', 'Not Applicable'. |
| location | Location details of where the incident takes place. |
| publication_date | Date and time when this incident was last updated. |
| council_area | Council area in which this incident takes place. |
| status | One of 'Under Control', 'Being Controlled', 'Out of Control'. |
| type | Incident type, for example 'Bush Fire', 'Grass Fire' or 'Hazard Reduction'. |
| fire | `True` if this incident is a fire, `False` otherwise. |
| size | Size in hectare |
| responsible_agency | Agency responsible for this incident. |
## {% linkable_title Advanced Configuration Example %}
Depending on your personal circumstances with regards to bush fire risk you may want to adjust the radius and define the categories of fire warnings you are actually interested in.
```yaml
# Example configuration.yaml entry
geo_location:
- platform: nsw_rural_fire_service_feed
entity_namespace: 'nsw_fire_service_feed'
radius: 10
categories:
- 'Emergency Warning'
- 'Watch and Act'
- 'Advice'
```

View File

@ -36,13 +36,13 @@ Since release 0.80, the `Authorization Code` type of `OAuth` account linking is
- Input any string you like into `Client Secret`, Home Assistant doesn't need this field. - Input any string you like into `Client Secret`, Home Assistant doesn't need this field.
- Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL). - Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL).
- Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL). - Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL).
- In the `Client information` section: - In the `Configure your client` section:
- Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`.
- Click 'Save' at the top right corner, then click 'Test' to generate a new draft version of the Test App. - Click 'Save' at the top right corner, then click 'Test' to generate a new draft version of the Test App.
2. Change your `configuration.yaml` file: 2. Change your `configuration.yaml` file:
- Remove `client_id`, `access_token`, `agent_uer_id` config from `google_assistant:` since they are no longer needed. - Remove `client_id`, `access_token`, `agent_user_id` config from `google_assistant:` since they are no longer needed.
3. Restart Home Assistant, open the `Google Assistant` app on your mobile phone then go to `Settings > Home Control`, re-link `[test] your app name`. 3. Restart Home Assistant, open the `Google Assistant` app on your mobile phone then go to `Settings > Home Control`, re-link `[test] your app name`.
4. A browser will be open and asking you to login to your Home Assistant instance, it will edirect back to `Google Assistant` app right afterward. 4. A browser will be open and asking you to login to your Home Assistant instance, it will redirect back to `Google Assistant` app right afterward.
<p class='note'> <p class='note'>
If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app. If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app.
@ -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: 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; 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: graphite:
``` ```
Configuration variables: {% configuration %}
host:
- **host** (*Option*): IP address of your graphite host, eg. http://192.168.1.10. Defaults to `localhost` description: IP address of your graphite host, e.g., http://192.168.1.10.
- **port** (*Optional*): Port to use. Defaults to 2003. required: false
- **prefix** (*Optional*): Prefix is the metric prefix in graphite. Defaults to `ha`. 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

@ -30,14 +30,27 @@ history_graph:
``` ```
### {% linkable_title Configuration variables %} {% configuration %}
entities:
| Attribute | Optional | Default | Description | description: List of entities whose history to show as a graph.
|---------------------------|----------|-------------------------------------------------------| required: true
| `entities` | no | | List of entities whose history to show as a graph. | type: string
| `name` | yes | ID | Name to display. | name:
| `hours_to_show` | yes | 24 | Number of hours to show. | description: Name to display.
| `refresh` | yes | 0 | Number of seconds between graph refreshes. 0 for no refreshes. | required: false
default: ID
type: string
hours_to_show:
description: Number of hours to show in the graph.
required: false
default: 24
type: integer
refresh:
description: Number of seconds between graph refreshes. 0 to disable refreshing.
required: false
default: 0
type: integer
{% endconfiguration %}
### {% linkable_title Full Example %} ### {% linkable_title Full Example %}

View File

@ -95,7 +95,7 @@ homekit:
required: false required: false
type: list type: list
entity_config: 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 required: false
type: map type: map
keys: keys:
@ -190,6 +190,8 @@ automation:
event_type: zwave.network_ready event_type: zwave.network_ready
- platform: event - platform: event
event_type: zwave.network_complete event_type: zwave.network_complete
- platform: event
event_type: zwave.network_complete_some_dead
action: action:
- service: homekit.start - service: homekit.start
``` ```

View File

@ -34,28 +34,83 @@ homematic:
Configuration variables (global): Configuration variables (global):
- **interfaces** (*Required*): Configuration for each XML-RPC interface to integrate into Home Assistant. {% configuration %}
- **hosts** (*Optional*): Configuration for each Hub (CCU/Homegear) to integrate into Home Assistant. interfaces:
- **local_ip** (*Optional*): IP of device running Home Assistant. Override auto-detected value for exotic network setups. description: Configuration for each XML-RPC interface to integrate into Home Assistant.
- **local_port** (*Optional*): Port for connection with Home Assistant. By default it is randomly assigned. required: true
type: list
hosts:
description: Configuration for each Hub (CCU/Homegear) to integrate into Home Assistant.
required: false
type: list
local_ip:
description: IP of device running Home Assistant. Override auto-detected value for exotic network setups.
required: false
type: string
local_port:
description: Port for connection with Home Assistant. By default it is randomly assigned.
required: false
type: integer
{% endconfiguration %}
Configuration variables (interface): Configuration variables (interface):
- **host** (*Required*): IP address or Hostname of CCU/Homegear device or Hass.io add-on. {% configuration %}
- **port** (*Optional*): Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010, thermostatgroups: 9292. host:
- **callback_ip** (*Optional*): Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.). description: IP address or Hostname of CCU/Homegear device or Hass.io add-on.
- **callback_port** (*Optional*): Set this, if Home Assistant is reachable under a different port from the CCU (NAT, Docker etc.). required: true
- **resolvenames** (*Optional*): [`metadata`, `json`, `xml`] Try to fetch device names. Defaults to `false` if not specified. type: string
- **jsonport** (*Optional*): Port of CCU JSON-RPC Server. The default is 80, but it may be different when running CCU virtually via Docker. port:
- **username** (*Optional*): When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU. description: "Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010, thermostatgroups: 9292."
- **password** (*Optional*): When fetching names via JSON-RPC, you need to specify the password of the user you have configured above. required: false
- **path** (*Optional*): Set to `/groups` when using port 9292. type: integer
callback_ip:
description: Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.).
required: false
type: string
callback_port:
description: Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.).
required: false
type: integer
resolvenames:
description: Try to fetch device names. Defaults to `false` if not specified.
required: false
type: string
default: false
jsonport:
description: Port of CCU JSON-RPC Server. The default is 80, but it may be different when running CCU virtually via Docker.
required: false
type: integer
username:
description: When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU.
required: false
type: string
password:
description: When fetching names via JSON-RPC, you need to specify the password of the user you have configured above.
required: false
type: string
path:
description: Set to `/groups` when using port 9292.
required: false
type: string
{% endconfiguration %}
Configuration variables (host): Configuration variables (host):
- **host** (*Required*): IP address of CCU/Homegear device. {% configuration %}
- **username** (*Optional*): When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU. host:
- **password** (*Optional*): When fetching names via JSON-RPC, you need to specify the password of the user you have configured above. description: IP address of CCU/Homegear device.
required: true
type: string
username:
description: When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU.
required: false
type: string
password:
description: When fetching names via JSON-RPC, you need to specify the password of the user you have configured above.
required: false
type: string
{% endconfiguration %}
#### Example configuration with multiple protocols and some other options set: #### Example configuration with multiple protocols and some other options set:
@ -294,7 +349,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: 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 ```yaml
automation: automation:
@ -309,7 +364,7 @@ When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant wi
service: homematic.reconnect 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 1. Create a string variable **V_Last_Reboot** on the CCU
@ -320,7 +375,7 @@ When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant wi
string now = system.Date("%d.%m.%Y %H:%M:%S"); string now = system.Date("%d.%m.%Y %H:%M:%S");
obj.State(now); obj.State(now);
``` ```
The HomeMatic CCU will execute all active programs which meet their conditions (none in this case) on every reboot. The HomeMatic CCU will execute all active programs which meet their conditions (none in this case) on every reboot.
3. Set up a template sensor in Home Assistant, which contains the value of the system variable: 3. Set up a template sensor in Home Assistant, which contains the value of the system variable:

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 frontend. You only need to add this to your configuration file if you want to
change any of the default settings. 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'> <p class='note'>
Don't use option `server_host` on a Hass.io installation! Don't use option `server_host` on a Hass.io installation!
</p> </p>
@ -32,7 +27,7 @@ http:
{% configuration %} {% configuration %}
api_password: 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 required: false
type: string type: string
server_host: server_host:

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