Merge remote-tracking branch 'origin/current' into rc

This commit is contained in:
Paulus Schoutsen 2018-10-26 10:55:38 +02:00
commit 29164a1186
195 changed files with 1954 additions and 1101 deletions

View File

@ -57,27 +57,77 @@ Screenshot of the HASS Configurator.
],
"dirsfirst": false,
"enforce_basepath": false,
"notify_service": "persistent_notification.create",
"ignore_ssl": false
"notify_service": "persistent_notification.create"
}
```
- **username** (*Required*): Set a username to access your configuration is protected.
- **password** (*Required*): Set a password for access.
- **ssl** (*Required*): Enable or Disable SSL/TLS for the editor.
- **certfile** (*Required*): Set the path the your SSL certificate if the ssl-option is set to `true`.
- **keyfile** (*Required*): Set the path the your SSL private key if the ssl-option is set to `true`.
- **allowed_networks** (*Required*): Limit access to the configurator by adding allowed IP addresses/networks to the list.
- **banned_ips** (*Required*): List of statically banned IP addresses.
- **banlimit** (*Required*): Ban access from IPs after `banlimit` failed login attempts. The default value `0` disables this feature. Restart the add-on to clear the list of banned IP addresses.
- **ignore_pattern** (*Required*): Files and folders to ignore in the UI.
- **dirsfirst** (*Required*): List directories before files in the file browser.
- **enforce_basepath** (*Required*): If set to `true`, access is limited to files within the `/config` directory.
- **notify_service** (*Required*): Specify a custom notify-service to be used to push notifications.
- **ignore_ssl** (*Required*): Ignore SSL errors when accessing the Home Assistant API.
- **sesame** (*Optional*): Secret token to dynamically allow access from the IP the request originates from. Open your bookmark https://hassio.yourdomain.com:8123/somesecretnobodycanguess while `allowed_networks` is set to `[]` and your IP will get whitelisted. You can use the _Network status_ menu to revoke IP addresses for which access has been granted. Regular authentication is still required.
- **sesame_totp_secret** (*Optional*): Like the `sesame` option, but instead as Base32 encoded secret string must be provided. This string then can be added to a TOTP App like Google Authenticator. This way you get a 6-digit `sesame` that changes every 30 seconds.
- **loglevel** (*Optional*): You can change the logging level from the default value `info` if you want to. Valid values are: `debug`, `info`, `warning`, `error`, `critical`.
{% configuration %}
username:
description: Set a username so that access your configuration is protected.
required: true
type: string
password:
description: Set a password for access.
required: true
type: string
ssl:
description: Enable or Disable SSL/TLS for the editor.
required: true
type: boolean
default: false
certfile:
description: Set the path the your SSL certificate if the ssl-option is set to `true`.
required: true
type: string
keyfile:
description: Set the path the your SSL private key if the ssl-option is set to `true`.
required: true
type: string
allowed_networks:
description: Limit access to the configurator by adding allowed IP addresses/networks to the list.
required: true
type: string
banned_ips:
description: List of statically banned IP addresses.
required: true
type: string
banlimit:
description: Ban access from IPs after `banlimit` failed login attempts, setting the value to 0 disables this feature. Restart the add-on to clear the list of banned IP addresses.
required: true
type: integer
default: 0
ignore_pattern:
description: Regex of files and folders to ignore in the UI.
required: true
type: string
dirsfirst:
description: List directories before files in the file browser.
required: true
type: boolean
default: false
enforce_basepath:
description: If set to `true`, access is limited to files within the `/config` directory.
required: true
type: boolean
default: false
notify_service:
description: Specify a custom notify-service to be used to push notifications.
required: true
type: string
loglevel:
description: The log level the configurator should run with. Valid values are `debug`, `info`, `warning`, `error`, `critical`.
required: false
type: string
default: info
sesame:
description: Secret token to dynamically allow access from the IP the request originates from. Open your bookmark https://hassio.yourdomain.com:8123/somesecretnobodycanguess while `allowed_networks` is set to `[]` and your IP will get whitelisted. You can use the Network status menu to revoke IP addresses for which access has been granted. Regular authentication is still required.
required: false
type: string
sesame_totp_secret:
description: Like the `sesame` option, but instead as Base32 encoded secret string must be provided. This string then can be added to a TOTP App like Google Authenticator. This way you get a 6-digit `sesame` that changes every 30 seconds.
required: false
type: string
{% endconfiguration %}
<p class='note warning'>
Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you don't restrict access by requiring authentication and/or blocking based on client IP addresses, your configuration will be exposed to the internet!

View File

@ -13,7 +13,7 @@ ha_release: 0.43
ha_iot_class: "Local Push"
---
The `alarmdecoder` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad.
The `alarmdecoder` component will allow Home Assistant users who own either a DSC or Honeywell alarm panel to leverage their alarm system and its sensors to provide Home Assistant with rich information about their homes. Connectivity between Home Assistant and the alarm panel is accomplished through a device produced by Nu Tech Software Solutions, known as the AlarmDecoder. The AlarmDecoder devices provide a serial, TCP/IP socket or USB interface to the alarm panel, where it emulates an alarm keypad.
Please visit the [AlarmDecoder website](https://www.alarmdecoder.com/) for further information about the AlarmDecoder devices.
@ -34,7 +34,7 @@ alarmdecoder:
type: socket
host: 192.168.1.20
port: 10000
panel_display: On
panel_display: false
zones:
01:
name: 'Smoke Detector'
@ -45,15 +45,66 @@ alarmdecoder:
type: 'opening'
```
Configuration variables:
- **type** (*Required*): The type of AlarmDecoder device: socket, serial or USB
- **host** (*Optional*): The IP address of the AlarmDecoder device on your home network, if using socket type. Default: `localhost`
- **port** (*Optional*): The port of the AlarmDecoder device on your home network, if using socket type. Default: `10000`
- **path** (*Optional*): The path of the AlarmDecoder device, if using socket type. Default: `/dev/ttyUSB0`
- **baudrate** (*Optional*): The baud rate of the AlarmDecoder device, if using serial type. Default: `115200`
- **panel_display** (*Optional*): Create a sensor called sensor.alarm_display to match the Alarm Keypad display. Default: `off`
- **zones** (*Optional*): AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*
- **rfid** (*Optional*): The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status.
- **relayaddr** (*Optional*): Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed.
- **relaychan** (*Optional*): Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4)
{% configuration %}
device:
description: List of variables for the AlarmDecoder device.
required: true
type: list
keys:
type:
description: "The type of AlarmDecoder device: socket, serial or USB."
required: true
default: socket
type: string
host:
description: The IP address of the AlarmDecoder device on your home network, if using socket type.
required: false
default: localhost
type: string
port:
description: The IP address of the AlarmDecoder device on your home network, if using socket type.
required: false
default: 10000
type: integer
path:
description: The path of the AlarmDecoder device, if using serial type.
required: false
default: "/dev/ttyUSB0"
type: string
baudrate:
description: The baud rate of the AlarmDecoder device, if using serial type.
required: false
default: 115200
type: string
panel_display:
description: Create a sensor called sensor.alarm_display to match the Alarm Keypad display.
required: false
default: false
type: boolean
zones:
description: "AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/components/binary_sensor.alarmdecoder/) docs. *Note: If no zones are specified, Home Assistant will not load any binary_sensor components.*"
required: false
type: list
keys:
name:
description: A name for the zone.
required: true
type: string
type:
description: "A type for the zone. Here you can find a list of [Device Classes](https://www.home-assistant.io/components/binary_sensor/#device-class)."
required: false
default: opening
type: string
rfid:
description: The RF serial-number associated with RF zones. Providing this field allows Home Assistant to associate raw sensor data to a given zone, allowing direct monitoring of the state, battery, and supervision status.
required: false
type: string
relayaddr:
description: "Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed."
required: inclusive
type: integer
relaychan:
description: "Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4)"
required: inclusive
type: integer
{% endconfiguration %}

View File

@ -26,16 +26,16 @@ binary_sensor:
```
{% configuration %}
adsvar:
required: true
description: The name of the variable which you want to access on the ADS device.
type: string
name:
required: false
description: An identifier for the light in the frontend.
type: string
device_class:
required: false
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
type: string
adsvar:
description: The name of the variable which you want to access on the ADS device.
required: true
type: string
name:
description: An identifier for the light in the frontend.
required: false
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
{% endconfiguration %}

View File

@ -32,17 +32,19 @@ binary_sensor:
forecast_threshold:
description: Provide your own threshold number above which the sensor will trigger.
required: false
default: 75
type: integer
default: 75
name:
description: The name of the sensor.
required: false
default: Aurora Visibility
type: string
default: Aurora Visibility
{% endconfiguration %}
## {% linkable_title Full example %}
```yaml
binary_sensor:
- platform: aurora
forecast_threshold: 50
binary_sensor:
- platform: aurora
forecast_threshold: 50
```

View File

@ -14,7 +14,6 @@ ha_release: 0.53
ha_qa_scale: internal
---
The `bayesian` binary sensor platform observes the state from multiple sensors and uses [Bayes' rule](https://en.wikipedia.org/wiki/Bayes%27_theorem) to estimate the probability that an event has occurred given the state of the observed sensors. If the estimated posterior probability is above the `probability_threshold`, the sensor is `on` otherwise it is `off`.
This allows for the detection of complex events that may not be readily observable, e.g., cooking, showering, in bed, the start of a morning routine, etc. It can also be used to gain greater confidence about events that _are_ directly observable, but for which the sensors can be unreliable, e.g., presence.
@ -36,20 +35,58 @@ binary_sensor:
to_state: 'on'
```
Configuration variables:
- **prior** (*Required*): The prior probability of the event. At any point in time (ignoring all external influences) how likely is this event to occur?
- **probability_threshold** (*Optional*): The probability at which the sensor should trigger to `on`.
- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Bayesian Binary sensor`.
- **observations** array (*Required*): The observations which should influence the likelihood that the given event has occurred.
- **entity_id** (*Required*): Name of the entity to monitor.
- **prob_given_true** (*Required*): The probability of the observation occurring, given the event is `true`.
- **prob_given_false** (*Optional*): The probability of the observation occurring, given the event is `false` can be set as well. If `prob_given_false` is not set, it will default to `1 - prob_given_true`.
- **platform** (*Required*): The only supported observation platforms are `state` and `numeric_state`, which are modeled after their corresponding triggers for automations, requiring `below` and/or `above` instead of `to_state`.
- **to_state** (*Required*): The target state.
{% configuration %}
prior:
description: >
The prior probability of the event. At any point in time
(ignoring all external influences) how likely is this event to occur?
required: true
type: float
probability_threshold:
description: The probability at which the sensor should trigger to `on`.
required: false
type: float
default: 0.5
name:
description: Name of the sensor to use in the frontend.
required: false
type: string
default: Bayesian Binary Sensor
observations:
description: The observations which should influence the likelihood that the given event has occurred.
required: true
type: list
keys:
entity_id:
description: Name of the entity to monitor.
required: true
type: string
prob_given_true:
description: The probability of the observation occurring, given the event is `true`.
required: true
type: float
prob_given_false:
description: The probability of the observation occurring, given the event is `false` can be set as well.
required: false
type: float
default: "`1 - prob_given_true` if `prob_given_false` is not set"
platform:
description: >
The only supported observation platforms are `state` and `numeric_state`,
which are modeled after their corresponding triggers for automations,
requiring `below` and/or `above` instead of `to_state`.
required: true
type: string
to_state:
description: The target state.
required: true
type: string
{% endconfiguration %}
## {% linkable_title Full examples %}
The following is an example for the `state` observation platform.
```yaml
# Example configuration.yaml entry
binary_sensor:
@ -78,6 +115,8 @@ binary_sensor:
to_state: 'below_horizon'
```
Next up an example which targets the `numeric_state` observation platform,
as seen in the configuration it requires `below` and/or `above` instead of `to_state`.
```yaml
# Example configuration.yaml entry

View File

@ -48,18 +48,18 @@ pins:
bouncetime:
description: Debounce time for reading input pin defined in milliseconds [ms].
required: false
default: 50
type: integer
default: 50
invert_logic:
description: If `true`, inverts the input logic to ACTIVE LOW
required: false
default: false
type: boolean
default: false
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
type: string
default: UP
{% endconfiguration %}
For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black.

View File

@ -13,7 +13,6 @@ ha_release: 0.12
ha_iot_class: "Local Polling"
---
The `command_line` binary sensor platform issues specific commands to get data.
## {% linkable_title Configuration %}
@ -33,10 +32,10 @@ command:
required: true
type: string
name:
description: Let you overwrite the name of the device. By default *name* from the device is used.
description: Let you overwrite the name of the device.
required: false
default: name
type: string
default: "*name* from the device"
device_class:
description: The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
required: false
@ -44,13 +43,13 @@ device_class:
payload_on:
description: The payload that represents enabled state.
required: false
default: ON
type: string
default: ON
payload_off:
description: The payload that represents disabled state.
required: false
default: OFF
type: string
default: OFF
value_template:
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
required: false
@ -58,13 +57,13 @@ value_template:
scan_interval:
description: Defines number of seconds for polling interval.
required: false
default: 60
type: integer
default: 60
command_timeout:
description: Defines number of seconds for command timeout.
required: false
default: 15
type: integer
default: 15
{% endconfiguration %}
## {% linkable_title Examples %}

View File

@ -14,6 +14,8 @@ ha_release: 0.31
The `concord232` platform provides integration with GE, Interlogix (and other brands) alarm panels that support the RS-232 Automation Control Panel interface module (or have it built in). Supported panels include Concord 4.
## {% linkable_title Configuration %}
To enable this, add the following lines to your `configuration.yaml`:
```yaml
@ -26,11 +28,11 @@ binary_sensor:
host:
description: The host where the concord232 server process is running.
required: false
default: localhost
type: string
default: localhost
port:
description: The port where the Alarm panel is listening.
required: false
default: 5007
type: integer
default: 5007
{% endconfiguration %}

View File

@ -13,7 +13,6 @@ ha_release: 0.27
redirect_from: /components/binary_sensor.ffmpeg/
---
The `ffmpeg` platform allows you to use any video feed with [FFmpeg](http://www.ffmpeg.org/) for motion sensors in Home Assistant.
<p class='note'>
@ -47,28 +46,28 @@ name:
initial_state:
description: Start `ffmpeg` with Home Assistant.
required: false
default: true
type: boolean
default: true
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
default: 10
reset:
description: The time to reset the state after no new motion is detected.
required: false
default: 20
type: integer
default: 20
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
default: 0
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
default: 0
extra_arguments:
description: Extra options to pass to `ffmpeg`, e.g., video denoise filtering.
required: false

View File

@ -12,7 +12,6 @@ ha_category: Image Processing
ha_release: 0.27
---
The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant.
<p class='note'>
@ -42,23 +41,23 @@ name:
initial_state:
description: Start ffmpeg with home-assistant.
required: false
default: true
type: boolean
default: true
peak:
description: The threshold of detecting noise, in dB. 0 is very loud and -100 is low.
required: false
default: -30
type: integer
default: -30
duration:
description: How long the noise needs to be over the peak to trigger the state.
required: false
default: 1
type: integer
default: 1
reset:
description: The time to reset the state after no new noise is over the peak.
required: false
default: 20
type: integer
default: 20
extra_arguments:
description: Extra options to pass to `ffmpeg`, like audio frequency filtering.
required: false

View File

@ -23,7 +23,11 @@ binary_sensor:
- '3:2': Garage Obstruction
```
Configuration variables:
- **ports** (*Required*): A list of module-address to name mappings in the format 'x:y': name, where x is module #, y is address.
{% configuration %}
ports:
description: >
A list of module-address to name mappings in the format `'x:y': name`,
where x is module #, y is address.
required: true
type: list
{% endconfiguration %}

View File

@ -42,14 +42,16 @@ device_class:
significant_bit:
description: Specify which significant bit of the KNX value should be used.
required: false
default: 1
type: integer
default: 1
reset_after:
description: Reset back to OFF state after specified milliseconds.
required: false
type: integer
{% endconfiguration %}
### {% linkable_title Automation actions %}
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.
```yaml
@ -81,13 +83,13 @@ name:
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
default: 1
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
default: "on"
action:
description: Specify a list of actions analog to the [automation rules](/docs/automation/action/).
required: false

View File

@ -28,9 +28,8 @@ binary_sensor:
```
{% configuration %}
nodes:
description: List of VPSs you want to control.
required: true
type: string
nodes:
description: List of VPSs you want to control.
required: true
type: string
{% endconfiguration %}

View File

@ -17,6 +17,8 @@ The `nx584` platform provides integration with GE, Caddx, Interlogix (and other
Enabling this sensor platform exposes all of your zones as binary sensors, which provides visibility through the UI as well as the ability to trigger automation actions instantly when something happens like a door opening, or a motion sensor trigger.
## {% linkable_title Configuration %}
To enable this feature, add the following lines to your `configuration.yaml`:
```yaml
@ -29,19 +31,19 @@ binary_sensor:
host:
description: This is the host where the nx584 server process is running. If unset, it is assumed to be `localhost`, which will work if the server process is running on the same system as Home Assistant.
required: false
default: localhost
type: string
default: localhost
port:
description: The port where the server process is running.
required: false
default: 5007
type: integer
default: 5007
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.
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:
@ -59,6 +61,8 @@ zone_types:
description: Safety
{% endconfiguration %}
## {% linkable_title Full example %}
An extended configuration entry could look like this:
```yaml

View File

@ -13,13 +13,13 @@ ha_release: 0.19
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'>
You must have the [OctoPrint component](/components/octoprint/) configured to use this binary sensor. After configuring that component, binary sensors automatically appear.
</p>
<<<<<<< HEAD
=======
## {% linkable_title Configuration %}
To set it up, add the following information to your `configuration.yaml` file:
@ -42,9 +42,8 @@ monitored_conditions:
printing error:
description: Error while printing.
name:
description:
required: The name of the sensor.
default: OctoPrint
description: The name of the sensor.
required: false
type: string
default: OctoPrint
{% endconfiguration %}
>>>>>>> current

View File

@ -21,7 +21,7 @@ them may be recognized under the X10 protocol but most of them are recognized
under the *Lighting4* protocol. The rfxtrx binary sensor component provides
some special options for them, while other rfxtrx protocols should work too.
# Setting up your devices
## {% linkable_title Setting up your devices %}
Once you have set up your [rfxtrx hub](/components/rfxtrx/), the easiest way
to find your binary sensors is to add this to your `configuration.yaml`:
@ -67,8 +67,8 @@ devices:
fire_event:
description: Fires an event even if the state is the same as before. Can be used for automations.
required: false
default: false
type: boolean
default: false
off_delay:
description: For sensors that only sends 'On' state updates, this variable sets a delay after which the sensor state will be updated back to 'Off'.
required: false
@ -88,8 +88,8 @@ devices:
automatic_add:
description: To enable the automatic addition of new binary sensors.
required: false
default: false
type: boolean
default: false
{% endconfiguration %}
<p class='note warning'>
@ -131,7 +131,7 @@ binary_sensor:
seconds: 5
```
## Options for PT-2262 devices under the Lighting4 protocol
### {% linkable_title Options for PT-2262 devices under the Lighting4 protocol %}
When a data packet is transmitted by a PT-2262 device using the Lighting4
protocol, there is no way to automatically extract the device identifier and the
@ -201,7 +201,7 @@ This automatic guess should work most of the time but there is
no guarantee on that. You should activate it only when you
want to configure your new devices and leave it off otherwise.
## Known working devices
### {% linkable_title Known working devices %}
The following devices are known to work with the rfxtrx binary sensor component.
There are too many other to list.

View File

@ -28,13 +28,33 @@ binary_sensor:
12: PIR Bedroom
```
Configuration variables:
- **ports** array (*Required*): Array of used ports.
- **port: name** (*Required*): Port numbers (BCM mode pin numbers) and corresponding names.
- **pull_mode** (*Optional*): The internal pull to use (UP or DOWN). Default is UP.
- **bouncetime** (*Optional*): The time in milliseconds for port debouncing. Default is 50ms.
- **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH).
{% configuration %}
ports:
description: List of used ports.
required: true
type: map
keys:
"port: name":
description: The port numbers (BCM mode pin numbers) and corresponding names.
required: true
type: string
bouncetime:
description: The time in milliseconds for port debouncing.
required: false
type: integer
default: 50
invert_logic:
description: If `true`, inverts the output logic to ACTIVE LOW.
required: false
type: boolean
default: "`false` (ACTIVE HIGH)"
pull_mode:
description: >
Type of internal pull resistor to use.
Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor.
required: false
type: string
default: "`UP`"
{% endconfiguration %}
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.

View File

@ -32,11 +32,29 @@ binary_sensor:
settle_time: 50
```
Configuration variables:
- **ports** array (*Required*): Array of used ports.
- **num** (*Required*): Port number.
- **name** (*Required*): Port name.
- **settle_time** (*Optional*): The time in milliseconds for port debouncing. Default is 2 0ms.
- **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH).
{% configuration %}
ports:
description: List of used ports.
required: true
type: map
keys:
num:
description: The port number.
required: true
type: map
keys:
name:
description: The port name.
required: true
type: string
settle_time:
description: The time in milliseconds for port debouncing.
required: false
type: integer
default: 20
invert_logic:
description: If `true`, inverts the output logic to ACTIVE LOW.
required: false
type: boolean
default: "`false` (ACTIVE HIGH)"
{% endconfiguration %}

View File

@ -30,9 +30,9 @@ binary_sensor:
{% configuration %}
monitored_conditions:
type: list
required: true
description: Conditions to display in the frontend. The following conditions can be monitored.
required: true
type: list
keys:
button:
description: Returns whether the doorbell button was pressed.

View File

@ -14,53 +14,57 @@ ha_release: 0.14
The TCP Binary Sensor is a type of [TCP Sensor](/components/sensor.tcp/) which is either "off" or "on". In order to use this sensor type, in addition to the configuration for the TCP Sensor, you must supply a `value_on` value to represent what is returned when the device is turned on.
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
binary_sensor:
# Example configuration.yaml entry
platform: tcp
name: TCP Binary Sensor
host: IP_ADDRESS
port: PORT
payload: "r State\n"
value_on: 1
timeout: 5
binary_sensor:
- platform: tcp
name: TCP Binary Sensor
host: IP_ADDRESS
port: PORT
payload: "r State\n"
value_on: 1
timeout: 5
```
Configuration options for the a TCP Sensor:
{% configuration %}
name:
required: true
description: The name you'd like to give the sensor in Home Assistant.
type: string
description: The name you'd like to give the sensor in Home Assistant.
required: false
type: string
default: TCP Sensor
host:
required: true
description: The hostname/IP address to connect to.
type: string
description: The hostname/IP address to connect to.
required: true
type: string
port:
required: true
description: The port to connect to the host on.
type: integer
description: The port to connect to the host on.
required: true
type: integer
payload:
required: true
description: What to send to the host in order to get the response we're interested in.
type: string
description: What to send to the host in order to get the response we're interested in.
required: true
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
description: The value returned when the device is "on".
required: true
type: string
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
description: Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the value.
required: false
type: template
default: entire response is the value
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 %}
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.
required: false
type: integer
default: 1024
timeout:
description: How long in seconds to wait for a response from the service before giving up and disconnecting.
required: false
type: integer
default: 10
{% endconfiguration %}

View File

@ -18,6 +18,8 @@ The `template` platform supports sensors which break out the `state` and
`state_attributes` from other entities. The state of a Template Binary Sensor
can only be `on` or `off`.
## {% linkable_title Configuration %}
To enable Template Binary Sensors in your installation, add the following to
your `configuration.yaml` file:

View File

@ -14,5 +14,5 @@ ha_release: pre 0.7
---
The `vera` platform allows you to get data from your [Vera](http://getvera.com/) binary sensors from within Home Assistant.
They will be automatically discovered if the vera component is loaded.

View File

@ -16,4 +16,4 @@ Integrates Verisure binary sensors into Home Assistant. See the [main component]
The following binary sensor types are supported:
Door & Window
- Door & Window

View File

@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling"
The `vultr` binary sensor platform allows you to monitor your [Vultr](https://www.vultr.com/) subscription to see if it is powered on or not.
## {% linkable_title Configuration %}
To use this binary sensor, you first have to set up your [Vultr hub](/components/vultr/).
<p class='note'>
@ -42,6 +44,7 @@ name:
type: string
{% endconfiguration %}
## {% linkable_title Full example %}
Full `configuration.yaml` (produces `binary_sensor.totally_awesome_server`):
@ -51,4 +54,3 @@ binary_sensor:
name: totally_awesome_server
subscription: 12345
```

View File

@ -13,12 +13,10 @@ ha_release: 0.14
ha_iot_class: "Cloud Polling"
---
The Wink binary sensor platform allows you to get data from your [Wink](http://www.wink.com/) binary sensors.
The requirement is that you have setup [Wink](/components/wink/).
### {% linkable_title Supported Binary sensor devices %}
- Smoke and CO detectors (No Wink hub required for Nest)
@ -36,4 +34,3 @@ The requirement is that you have setup [Wink](/components/wink/).
<p class='note'>
The above devices are confirmed to work, but others may work as well.
</p>

View File

@ -56,4 +56,3 @@ monitored_conditions:
battery:
description: On means tag battery is low, Off means normal.
{% endconfiguration %}

View File

@ -82,6 +82,8 @@ If you use the sensor for Canada (`CA`) with Ontario (`ON`) as `province:` then
Otherwise the value is evaluated as `true` (check the YAML documentation for further details) and the sensor will not work.
</p>
## {% linkable_title Automation example %}
Example usage for automation:
```yaml

View File

@ -13,15 +13,13 @@ ha_release: "0.50"
ha_iot_class: "Local Push"
---
The `xiaomi aqara` binary sensor platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) binary sensors.
The requirement is that you have setup the [`xiaomi aqara` component](/components/xiaomi_aqara/).
### {% linkable_title Type of sensors supported %}
| Name | ZigBee entity | Model no. | States | Event | Event key | Event values |
| Name | Zigbee entity | Model no. | States | Event | Event key | Event values |
| ---- | ------------- | --------- | ------ | ----- | --------- | ------------ |
| Motion Sensor (1st gen) | motion | RTCGQ01LM | on, off | `motion` | | |
| Motion Sensor (2nd gen) | sensor_motion.aq2 | RTCGQ11LM | on, off | `motion` | | |

View File

@ -1,7 +1,7 @@
---
layout: page
title: "ZigBee Home Automation Binary Sensor"
description: "Instructions on how to setup ZigBee Home Automation binary sensors within Home Assistant."
title: "Zigbee Home Automation Binary Sensor"
description: "Instructions on how to setup Zigbee Home Automation binary sensors within Home Assistant."
date: 2017-02-22 00:00
sidebar: true
comments: false
@ -12,4 +12,4 @@ ha_category: Binary Sensor
ha_iot_class: "Local Polling"
---
To get your ZigBee binary sensors working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/).
To get your Zigbee binary sensors working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/).

View File

@ -1,7 +1,7 @@
---
layout: page
title: "ZigBee Binary Sensor"
description: "Instructions on how to set up ZigBee binary sensors within Home Assistant."
title: "Zigbee Binary Sensor"
description: "Instructions on how to set up Zigbee binary sensors within Home Assistant."
date: 2016-01-28 12:38
sidebar: true
comments: false
@ -13,7 +13,9 @@ ha_release: 0.12
ha_iot_class: "Local Polling"
---
A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [ZigBee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the ZigBee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`.
A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [Zigbee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the Zigbee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`.
## {% linkable_title Configuration %}
To enable a digital input pin as binary sensor in your installation, add the following lines to your `configuration.yaml`:
@ -35,7 +37,7 @@ pin:
required: true
type: integer
address:
description: The long 64-bit address of the remote ZigBee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local ZigBee device's pins.
description: The long 64-bit address of the remote Zigbee device whose digital input pin you'd like to sample. Do not include this variable if you want to sample the local Zigbee device's pins.
required: false
type: string
on_state:

View File

@ -129,4 +129,4 @@ homeassistant:
### {% 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.
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

@ -23,6 +23,8 @@ This component provides the following platforms:
- Lock: Control the lock of your car.
- Sensors: Mileage, remaining range, remaining fuel, charging time remaining (electric cars), charging status (electric cars), remaining range electric (electric cars).
## {% linkable_title Configuration %}
To enable this component in your installation, add the following to your
`configuration.yaml` file:
@ -78,13 +80,13 @@ The vehicle can be locked and unlocked via the lock component that is created au
The air condition of the vehicle can be activated with the service `bmw_connected_drive.activate_air_conditioning`.
What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage).
What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this service if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage).
The vehicle is identified via the parameter `vin`.
### {% linkable_title Sound the horn %}
The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. This option is not available in some countries (among which the UK). Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`.
The service `bmw_connected_drive.sound_horn` sounds the horn of the vehicle. This option is not available in some countries (among which the UK). Use this feature responsibly, as it might annoy your neighbors. The vehicle is identified via the parameter `vin`.
### {% linkable_title Flash the lights %}
@ -92,10 +94,10 @@ The service `bmw_connected_drive.light_flash` flashes the lights of the vehicle.
### {% linkable_title Update the state %}
The service `bmw_connected_drive.update_state` fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles.
The service `bmw_connected_drive.update_state` fetches the last state of the vehicles of all your accounts from the BMW server. This does *not* trigger an update from the vehicle; it gets the data from the BMW servers. So this service does *not* interact with your vehicles.
This service does not require any attributes.
## {% linkable_title Disclaimer %}
This software is not affiliated with or endorsed by BMW Group.
This software is not affiliated with or endorsed by BMW Group.

View File

@ -12,9 +12,10 @@ ha_category: Utility
ha_qa_scale: internal
---
The `browser` component provides a service to open URLs in the default browser on the host machine.
## {% linkable_title Configuration %}
To load this component, add the following lines to your `configuration.yaml`:
```yaml
@ -22,7 +23,7 @@ To load this component, add the following lines to your `configuration.yaml`:
browser:
```
#### {% linkable_title Service `browser/browse_url` %}
#### {% linkable_title Service `browser/browse_url` %}
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |

View File

@ -177,7 +177,7 @@ Trigger as soon as an event starts:
to: 'on'
```
By using specific text in the event title, you can set conditions to initiate particular automation flows on designated events while other events will be ignored.
By using specific text in the event title, you can set conditions to initiate particular automation flows on designated events while other events will be ignored.
For example, the actions following this condition will only be executed for events named 'vacation':

View File

@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling"
ha_release: 0.54
---
This platform allows you to connect to your [Todoist Projects](https://todoist.com) and generate binary sensors. A different sensor will be created for each individual project, or you can specify "custom" projects which match against criteria you set (more on that below). These sensors will be `on` if you have a task due in that project or `off` if all the tasks in the project are completed or if the project doesn't have any tasks at all. All tasks get updated roughly every 15 minutes.
### {% linkable_title Prerequisites %}
@ -28,18 +27,36 @@ To integrate Todoist in Home Assistant, add the following section to your `confi
# Example configuration.yaml entry
calendar:
- platform: todoist
token: API_token_created_from_steps_above
token: YOUR_API_TOKEN
```
Configuration variables:
- **token** (*Required*): The API token used to authorize Home Assistant to access your projects.
- **custom_projects** (*Optional*): Details on any "custom" binary sensor projects you want to create.
- **name** (*Required*): The name of your custom project. Only required if you specify that you want to create a custom project.
- **due_date_days** (*Optional*): Only include tasks due within this many days. If you don't have any tasks with a due date set, this returns nothing.
- **labels** (*Optional*): Only include tasks with at least one of these labels (i.e., this works as an `or` statement)..
- **include_projects** (*Optional*): Only include tasks in these projects. Tasks in all other projects will be ignored.
{% configuration %}
token:
description: The API token used to authorize Home Assistant to access your projects. Above you have more info about it.
required: true
type: string
custom_projects:
description: Details on any "custom" binary sensor projects you want to create.
required: false
type: list
keys:
name:
description: The name of your custom project. Only required if you specify that you want to create a custom project.
required: true
type: string
due_date_days:
description: Only include tasks due within this many days. If you don't have any tasks with a due date set, this returns nothing.
required: false
type: integer
include_projects:
description: Only include tasks in these projects. Tasks in all other projects will be ignored.
required: false
type: list
labels:
description: Only include tasks with at least one of these labels (i.e., this works as an `or` statement).
required: false
type: list
{% endconfiguration %}
### {% linkable_title Custom Projects %}
Creating custom projects is super-easy and quite powerful. All you need to run the basic Todoist projects is your API token, but if you wanted, you could go even deeper. Here's an example:
@ -48,7 +65,7 @@ Creating custom projects is super-easy and quite powerful. All you need to run t
# Example configuration.yaml entry
calendar:
- platform: todoist
token: !secret todoist_token
token: YOUR_API_TOKEN
custom_projects:
- name: 'All Projects'
- name: 'Due Today'

View File

@ -15,6 +15,8 @@ ha_release: 0.34
To get your [Amcrest](https://amcrest.com/) cameras working within Home Assistant, please follow the instructions for the general [Amcrest component](/components/amcrest).
## {% linkable_title Configuration %}
Once you have enabled the [Amcrest component](/components/amcrest), add the following to your `configuration.yaml` file:
```yaml

View File

@ -13,9 +13,10 @@ ha_release: "0.40"
ha_iot_class: "Local Polling"
---
The `android_ip_webcam` component adds a camera by default if you choose not to use the component but still want to see the video feed then the [`mjpeg` camera](/components/camera.mjpeg/) platform can be used.
## {% linkable_title Configuration %}
To enable only the camera in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -24,4 +25,3 @@ camera:
- platform: mjpeg
mjpeg_url: http://IP_ADDRESS:8080/video
```

View File

@ -17,6 +17,8 @@ To get your [Arlo](https://arlo.netgear.com/) cameras working within Home Assist
This component is not yet able to live stream from your Arlo camera, but it will be able to playback the last video capture.
## {% linkable_title Configuration %}
Once you have enabled the [Arlo component](/components/arlo), add the following to your `configuration.yaml` file:
```yaml

View File

@ -13,7 +13,6 @@ ha_release: 0.13
ha_iot_class: "Local Polling"
---
The `bloomsky` camera component allows you to view the current photo created by the camera in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with [BloomSky sensors](/components/sensor.bloomsky).
## {% linkable_title Configuration %}

View File

@ -17,6 +17,8 @@ The `canary` camera platform allows you to watch the live stream of your [Canary
To add `canary` camera to your installation, follow instructions in [Canary component](/components/canary/). Once you have [Canary component](/components/canary/) setup, your [Canary](https://canary.is) camera(s) should show up automatically.
## {% linkable_title Configuration %}
You can add the following to your `configuration.yaml` file to configure `canary` camera with optional settings:
```yaml
@ -25,8 +27,8 @@ camera:
```
{% configuration %}
ffmpeg_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
ffmpeg_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 %}

View File

@ -19,6 +19,8 @@ This platform is meant for developers only.
The `dispatcher` camera platform allows developers to create virtual camera's.
## {% linkable_title Configuration %}
You would normally not add this camera to your configuration directly but have it be discovered by one of the components that uses it.
```yaml

View File

@ -19,6 +19,8 @@ The `doorbird` implementation allows you to view the live video and previous ima
You must have the [DoorBird component](/components/doorbird/) configured to use this camera.
</p>
## {% linkable_title Configuration %}
To enable the camera, add the following to your `configuration.yaml` file:
```yaml

View File

@ -13,9 +13,10 @@ ha_release: 0.26
ha_iot_class: "Local Polling"
---
The `ffmpeg` platform allows you to use any video feed as a camera in Home Assistant via [FFmpeg](http://www.ffmpeg.org/). This video source must support multiple simultaneous reads, because for every concurrent Home Assistant user, a connection will be made to the source every 10 seconds. Normally this should not be a problem.
## {% linkable_title Configuration %}
To enable your FFmpeg feed in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -44,5 +45,4 @@ extra_arguments:
You can control the image quality with [`extra_arguments`](https://www.ffmpeg.org/ffmpeg-codecs.html#jpeg2000) `-q:v 2-32` or with lossless option `-pred 1`.
If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting).

View File

@ -12,7 +12,6 @@ ha_category: Camera
ha_iot_class: "Local Polling"
---
The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant.
## {% linkable_title Configuration %}

View File

@ -13,11 +13,12 @@ ha_release: pre 0.7
ha_iot_class: "depends"
---
The `generic` camera platform allows you to integrate any IP camera or other URL into Home Assistant. Templates can be used to generate the URLs on the fly.
Home Assistant will serve the images via its server, making it possible to view your IP cameras while outside of your network. The endpoint is `/api/camera_proxy/camera.[name]`.
## {% linkable_title Configuration %}
To enable this camera in your installation, add the following to your `configuration.yaml` file:
```yaml

View File

@ -17,6 +17,8 @@ The `local_file` camera platform allows you to integrate an image file from disk
The `local_file` camera can for example be used with various camera platforms that save a temporary images locally. It can also be used to display a graph that you render periodically and will then be displayed in Home Assistant.
## {% linkable_title Configuration %}
To enable this camera in your installation, add the following to your `configuration.yaml` file:
```yaml

View File

@ -35,8 +35,8 @@ camera:
scan_interval:
description: How frequently to query for new camera stills, value are in seconds.
required: false
default: 60
type: integer
default: 60
{% endconfiguration %}
### {% linkable_title Service `camera.logi_circle_livestream_record` %}

View File

@ -9,10 +9,9 @@ sharing: true
footer: true
---
The camera component allows you to use IP cameras with Home Assistant. With a little additional work you could use [USB cameras](/blog/2016/06/23/usb-webcams-and-home-assistant/) as well.
### {% linkable_title Service %}
### {% linkable_title Services %}
Once loaded, the `camera` platform will expose services that can be called to perform various actions.
@ -82,4 +81,3 @@ A simple way to test if you have set up your `camera` platform correctly, is to
"entity_id": "camera.living_room_camera"
}
```

View File

@ -16,6 +16,8 @@ ha_iot_class: "depends"
The `mjpeg` camera platform allows you to integrate IP cameras which are capable
to stream their video with MJPEG into Home Assistant.
## {% linkable_title Configuration %}
To enable this camera in your installation,
add the following to your `configuration.yaml` file:

View File

@ -17,6 +17,8 @@ The `mqtt` camera platform allows you to integrate the content of an image file
This can be used with an application or a service capable of sending images through MQTT, for example [Zanzito](https://play.google.com/store/apps/details?id=it.barbaro.zanzito).
## {% linkable_title Configuration %}
To enable this camera in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -27,18 +29,18 @@ camera:
```
{% configuration %}
topic:
description: MQTT topic to subscribe to.
required: true
type: string
name:
description: Name of the camera.
required: false
type: string
unique_id:
description: >
An ID that uniquely identifies this camera. If two cameras have the same unique ID
Home Assistant will raise an exception.
required: false
type: string
topic:
description: MQTT topic to subscribe to.
required: true
type: string
name:
description: Name of the camera.
required: false
type: string
unique_id:
description: >
An ID that uniquely identifies this camera. If two cameras
have the same unique ID Home Assistant will raise an exception.
required: false
type: string
{% endconfiguration %}

View File

@ -13,7 +13,6 @@ ha_release: 0.42
ha_iot_class: "Cloud Polling"
---
The `neato` camera platform allows you to view the latest cleaning map of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
To add `neato` camera to your installation, follow instructions in [Neato component](/components/neato/).

View File

@ -13,10 +13,10 @@ ha_release: 0.22
ha_iot_class: "Local Polling"
---
### {% linkable_title Basic Configuration %}
The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera.
### {% linkable_title Basic configuration %}
To enable the Netatmo camera, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your camera.
### {% linkable_title Advanced configuration %}

View File

@ -12,9 +12,10 @@ ha_category: Camera
ha_release: 0.47
---
The `onvif` camera platform allows you to use an ONVIF camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured.
## {% linkable_title Configuration %}
To enable your ONVIF camera in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -44,13 +45,13 @@ password:
port:
description: The port for the camera.
required: false
default: 5000
type: integer
default: 5000
profile:
description: Video profile that will be used to obtain the stream, more details below.
required: false
default: 0
type: integer
default: 0
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

View File

@ -11,13 +11,14 @@ ha_category: Camera
ha_release: 0.65
---
The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output.
The current post-processing supports resizing the image/MJPEG as well as limiting the maximum refresh rate.
The current proxy capabilities are intended to reduce the camera bandwidth for slower internet connections.
## {% linkable_title Configuration %}
To enable this camera in your installation, you must first have an existing working camera configured in Home Assistant. Next, add the following to your `configuration.yaml` file:
```yaml
@ -30,47 +31,46 @@ camera:
```
{% configuration %}
entity_id:
description: The ID of another Home Assistant camera to post-process.
required: true
type: string
name:
description: This parameter allows you to override the name of your camera.
required: false
type: string
max_image_width:
description: The maximum width of single images taken from the camera (aspect ratio will be maintained).
required: false
type: integer
max_stream_width:
description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained).
required: false
type: integer
image_quality:
description: The quality level used for resulting JPEG for snapshots.
required: false
type: integer
default: 75
stream_quality:
description: The quality level used for resulting MJPEG streams.
required: false
type: integer
default: 75
image_refresh_rate:
description: The minimum time in seconds between generating successive image snapshots.
required: false
type: float
force_resize:
description: Resize the image even if the resulting image would take up more bandwidth than the original.
required: false
type: boolean
cache_images:
description: Preserve the last image and re-send in the case the camera is not responding.
required: false
type: boolean
entity_id:
description: The ID of another Home Assistant camera to post-process.
required: true
type: string
name:
description: This parameter allows you to override the name of your camera.
required: false
type: string
max_image_width:
description: The maximum width of single images taken from the camera (aspect ratio will be maintained).
required: false
type: integer
max_stream_width:
description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained).
required: false
type: integer
image_quality:
description: The quality level used for resulting JPEG for snapshots.
required: false
type: integer
default: 75
stream_quality:
description: The quality level used for resulting MJPEG streams.
required: false
type: integer
default: 75
image_refresh_rate:
description: The minimum time in seconds between generating successive image snapshots.
required: false
type: float
force_resize:
description: Resize the image even if the resulting image would take up more bandwidth than the original.
required: false
type: boolean
cache_images:
description: Preserve the last image and re-send in the case the camera is not responding.
required: false
type: boolean
{% endconfiguration %}
## {% linkable_title Examples %}
Example of using a Camera proxy along with a Foscam camera:

View File

@ -19,7 +19,7 @@ Optionally the Push Camera can **buffer** a given number of images, creating an
Images are cleared on new events, and events are separated by a soft (configurable) **timeout**.
## Integration with motionEye
## {% linkable_title Integration with motionEye %}
The `push` camera can as an example be used with [motionEye](https://github.com/ccrisan/motioneye/wiki) a web frontend for the motion daemon. motionEye is usually configured to save/record files ***only*** when motion is detected. It provides a hook to run a command whenever an image is saved, which can be used together with cURL to send the motion detected images to the `push` camera, as shown in this example:
@ -57,25 +57,25 @@ camera:
name:
description: The name you would like to give to the camera.
required: false
default: Push Camera
type: string
default: Push Camera
buffer:
description: Number of images to buffer per event. Be conservative, large buffers will starve your system memory.
required: false
default: 1
type: string
default: 1
timeout:
description: Amount of time after which the event is considered to have finished.
required: false
default: 5 seconds
type: time
default: 5 seconds
token:
description: User provided token acting as access control, should be a large string (more then 8 chars). Required if you can't use HA new auth system (0.77).
required: false
required: false
type: string
field:
description: HTTP POST field containing the image file
required: false
default: image
type: string
default: image
{% endconfiguration %}

View File

@ -33,8 +33,8 @@ ffmpeg_arguments:
scan_interval:
description: How frequently to query for new video in seconds.
required: false
default: 90
type: integer
default: 90
{% 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.

View File

@ -13,7 +13,6 @@ ha_iot_class: "Local Polling"
ha_release: 0.17
---
The `rpi_camera` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera.
## {% linkable_title Configuration %}
@ -30,49 +29,48 @@ camera:
image_width:
description: Set the image width.
required: false
default: 640
type: integer
default: 640
name:
description: Name of the camera.
required: false
default: Raspberry Pi Camera
type: string
default: Raspberry Pi Camera
image_height:
description: Set the image height.
required: false
default: 480
type: integer
default: 480
image_quality:
description: Set the image quality (from 0 to 100).
required: false
default: 7
type: integer
default: 7
image_rotation:
description: Set image rotation (0-359).
required: false
default: 0
type: integer
default: 0
horizontal_flip:
description: Set horizontal flip (0 to disable, 1 to enable).
required: false
default: 0
type: integer
default: 0
vertical_flip:
description: Set vertical flip (0 to disable, 1 to enable).
required: false
default: 0
type: integer
default: 0
timelapse:
description: Takes a picture every this many milliseconds (thousands of a second) - the default means one picture a second.
required: false
default: 1000
type: integer
default: 1000
file_path:
description: Save the picture in a custom file path.
required: false
default: A temporary file is used.
type: string
default: A temporary file is used.
{% endconfiguration %}
The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/docs/configuration/basic/).
The given **file_path** must be an existing file because the camera platform setup performs a writeable check on it. Also, keep in mind that the path should be [whitelisted](/docs/configuration/basic/).

View File

@ -13,7 +13,6 @@ ha_release: 0.31
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.
## {% linkable_title Configuration %}
@ -33,8 +32,8 @@ camera:
name:
description: A name for this Synology camera.
required: false
default: Synology Camera
type: string
default: Synology Camera
url:
description: The URL to your Synology, including port.
required: true
@ -50,8 +49,8 @@ password:
timeout:
description: The timeout in seconds used when connecting to the Surveillance Station.
required: false
default: 5
type: integer
default: 5
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
@ -59,8 +58,8 @@ whitelist:
verify_ssl:
description: Verify SSL/TLS certificate for HTTPS request.
required: false
default: true
type: boolean
default: true
{% endconfiguration %}
## {% linkable_title Full example %}

View File

@ -13,13 +13,14 @@ ha_release: 0.52
ha_iot_class: "Cloud Polling"
---
The `usps` camera component allows you to view the mail piece images made available through USPS via the Informed Delivery service. You must "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see mail images. This works in concert with [USPS sensors](/components/sensor.usps).
<p class='note'>
You must have the [USPS component](/components/usps/) configured to use this camera. The camera will be setup if the `usps` component is configured and the required configuration is set.
</p>
## {% linkable_title Configuration %}
To customize the interval that mail images are rotated in the mail camera you can edit your `configuration.yaml` file with the following settings:
```yaml
# Example configuration.yaml entry

View File

@ -56,4 +56,3 @@ password:
type: string
default: ubnt
{% endconfiguration %}

View File

@ -13,8 +13,6 @@ ha_release: 0.31
ha_iot_class: "Local Polling"
---
The `verisure` camera platform allows you to control your [Verisure](https://www.verisure.com/) cameras.
The requirement is that you have setup your [Verisure hub](/components/verisure/).

View File

@ -15,6 +15,8 @@ ha_release: 0.62
The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server.
## {% linkable_title Configuration %}
To enable Xeoma camera feeds, add the following lines to your `configuration.yaml`:
```yaml
@ -40,8 +42,8 @@ password:
new_version:
description: Set to false if the Xeoma server version is 17.5 or earlier.
required: false
default: true
type: boolean
default: true
cameras:
description: List of customizations for individual Xeoma cameras.
required: false
@ -54,16 +56,16 @@ cameras:
name:
description: The name to display in the frontend for this camera.
required: false
default: The `image_name` for this camera.
type: string
default: The `image_name` for this camera.
hide:
description: Don't show this camera in Home Assistant.
required: false
default: false
type: boolean
default: false
{% endconfiguration %}
## {% linkable_title Full examples %}
## {% linkable_title Full example %}
```yaml
# Example configuration.yaml entry

View File

@ -76,16 +76,15 @@ password:
path:
description: The path to the raw MP4 files.
required: false
default: /media/mmcblk0p1/record
type: string
default: /media/mmcblk0p1/record
username:
description: The user that can access the FTP server.
required: false
default: root
type: string
default: root
ffmpeg_arguments:
description: >
Extra options to pass to `ffmpeg`
description: Extra options to pass to `ffmpeg`.
required: false
type: string
{% endconfiguration %}

View File

@ -81,13 +81,13 @@ password:
path:
description: The path to the raw MP4 files.
required: false
default: /media/mmcblk0p1/record
type: string
default: /media/mmcblk0p1/record
username:
description: The user that can access the FTP server.
required: false
default: root
type: string
default: root
ffmpeg_arguments:
description: Extra options to pass to `ffmpeg` (e.g., image quality or video filter options).
required: false

View File

@ -13,13 +13,14 @@ ha_release: 0.39
ha_iot_class: "Local Polling"
---
The `zoneminder` camera platform lets you monitor the current stream of your [ZoneMinder](https://www.zoneminder.com) cameras.
<p class='note'>
You must have the [ZoneMinder component](/components/zoneminder/) configured to view the camera stream.
</p>
## {% linkable_title Configuration %}
To set it up, add the following information to your `configuration.yaml` file:
```yaml

View File

@ -29,19 +29,19 @@ canary:
```
{% configuration %}
username:
description: The username for accessing your Canary account.
required: true
type: string
password:
description: The password for accessing your Canary account.
required: true
type: string
timeout:
description: Timeout to wait for connections.
required: false
type: integer
default: 10
username:
description: The username for accessing your Canary account.
required: true
type: string
password:
description: The password for accessing your Canary account.
required: true
type: string
timeout:
description: Timeout to wait for connections.
required: false
type: integer
default: 10
{% endconfiguration %}
Once loaded, your front end will have the following components:

View File

@ -13,8 +13,7 @@ ha_release: pre 0.7
ha_iot_class: "Local Polling"
---
The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities.
The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities.
```yaml
# Example configuration.yaml entry
@ -25,27 +24,71 @@ climate:
target_sensor: sensor.study_temperature
```
Configuration variables:
- **name** (*Required*): Name of thermostat
- **heater** (*Required*): `entity_id` for heater switch, must be a toggle device. Becomes air conditioning switch when `ac_mode` is set to `True`
- **target_sensor** (*Required*): `entity_id` for a temperature sensor, target_sensor.state must be temperature.
- **min_temp** (*Optional*): Set minimum set point available (default: 7)
- **max_temp** (*Optional*): Set maximum set point available (default: 35)
- **target_temp** (*Optional*): Set initial target temperature. Failure to set this variable will result in target temperature being set to null on startup. As of version 0.59, it will retain the target temperature set before restart if available.
- **ac_mode** (*Optional*): Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device.
- **min_cycle_duration** (*Optional*): Set a minimum amount of time that the switch specified in the *heater* option must be in its current state prior to being switched either off or on.
- **cold_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched on. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will start when the sensor equals or goes below 24.5.
- **hot_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5.
- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off).
- **initial_operation_mode** (*Optional*): Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state.
- **away_temp** (*Optional*): Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated.
{% configuration %}
name:
description: Name of thermostat.
required: true
default: Generic Thermostat
type: string
heater:
description: "`entity_id` for heater switch, must be a toggle device. Becomes air conditioning switch when `ac_mode` is set to `true`."
required: true
type: string
target_sensor:
description: "`entity_id` for a temperature sensor, target_sensor.state must be temperature."
required: true
type: string
min_temp:
description: Set minimum set point available.
required: false
default: 7
type: float
max_temp:
description: Set maximum set point available.
required: false
default: 35
type: float
target_temp:
description: 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.
required: false
type: float
ac_mode:
description: Set the switch specified in the *heater* option to be treated as a cooling device instead of a heating device.
required: false
type: boolean
min_cycle_duration:
description: 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.
required: false
type: [time, integer]
cold_tolerance:
description: 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.
required: false
default: 0.3
type: float
hot_tolerance:
description: 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.
required: false
default: 0.3
type: float
keep_alive:
description: 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).
required: false
type: [time, integer]
initial_operation_mode:
description: Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state.
required: false
type: string
away_temp:
description: Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated.
required: false
type: float
{% endconfiguration %}
A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`.
Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' operation modes. You can force your `generic_thermostat` to avoid starting by setting Operation to 'off'.
Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' operation modes. You can force your `generic_thermostat` to avoid starting by setting Operation to 'off'.
Please note that changing Away Mode you will force a target temperature change as well that will get restored once the Away Mode is turned off.
Please note that changing Away Mode you will force a target temperature change as well that will get restored once the Away Mode is turned off.
```yaml
# Full example configuration.yaml entry

View File

@ -30,12 +30,20 @@ climate:
password: YOUR_PASSWORD
```
Configuration variables:
- **host** (*Required*): Address of your thermostat, eg. 192.168.1.32.
- **username** (*Required*): Username for the thermostat.
- **password** (*Required*): Password for the thermostat.
{% configuration %}
host:
description: Address of your thermostat, e.g., 192.168.1.32.
required: true
type: string
username:
description: Username for the thermostat.
required: true
type: string
password:
description: Password for the thermostat.
required: true
type: string
{% endconfiguration %}
The Proliphix NT Thermostat series are Ethernet connected thermostats. They have a local HTTP interface that is based on get/set
of OID values. A complete collection of the API is available in this [API documentation](https://github.com/sdague/thermostat.rb/blob/master/docs/PDP_API_R1_11.pdf).

View File

@ -25,17 +25,18 @@ You have to add the Somfy RTS manually with the supplied RFlinkLoader (Windows o
Press the Learn button on the original Somfy remote enter the following code within 3 seconds. Your blinds will go up and down shortly:
````
```text
10;RTS;02FFFF;0412;3;PAIR;
````
```
Your blinds will go up and down again. This means your Rflink is now paired with your RTS motor.
To check this enter the following code again and see if there is a record.
````
```text
10;RTSSHOW;
````
````
```
```text
RTS Record: 0 Address: FFFFFF RC: FFFF
RTS Record: 1 Address: FFFFFF RC: FFFF
RTS Record: 2 Address: FFFFFF RC: FFFF
@ -52,7 +53,7 @@ RTS Record: 12 Address: FFFFFF RC: FFFF
RTS Record: 13 Address: FFFFFF RC: FFFF
RTS Record: 14 Address: FFFFFF RC: FFFF
RTS Record: 15 Address: FFFFFF RC: FFFF
````
```
After configuring the RFLink Somfy RTS you have to add the cover to the `configuration.yaml` file like any other RFlink device.
@ -73,25 +74,59 @@ cover:
name: Sovrumsgardin
```
Configuration variables:
- **devices** (*Optional*): A list of devices with their name to use in the frontend.
- **device_defaults**: (*Optional*)
- **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).
Device configuration variables:
- **name** (*Optional*): Name for the device, defaults to Rflink ID.
- **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).
- **signal_repetitions** (*Optional*): Repeat every Rflink command this number of times (default: 1).
- **group** (*Optional*): Allow light to respond to group commands (ALLON/ALLOFF). (default: yes)
- **group_aliases** (*Optional*): `aliases` which only respond to group commands.
- **no_group_aliases** (*Optional*): `aliases` which do not respond to group commands.
{% configuration %}
devices:
description: A list of devices with their name to use in the frontend.
required: false
type: list
keys:
name:
description: The name for the device. Defaults to value for Rflink ID.
required: false
type: string
aliases:
description: The alternative Rflink ID's this device is known by.
required: false
type: list
fire_event:
description: Fire a `button_pressed` event if this device is turned on or off.
required: false
default: False
type: boolean
signal_repetitions:
description: The number of times every Rflink command should repeat.
required: false
type: integer
group:
description: Allow light to respond to group commands (ALLON/ALLOFF).
required: false
default: True
type: boolean
group_aliases:
description: The `aliases` which only respond to group commands.
required: false
type: list
no_group_aliases:
description: The `aliases` which do not respond to group commands.
required: false
type: list
device_defaults:
description: The default values for a device.
required: false
type: list
keys:
fire_event:
description: The default `fire_event` for Rflink cover devices.
required: false
default: False
type: boolean
signal_repetitions:
description: The default `signal_repetitions` for Rflink cover devices.
required: false
default: 1
type: integer
{% endconfiguration %}
### {% linkable_title Device support %}
See [device support](/components/rflink/#device-support)
See [device support](/components/rflink/#device-support).

View File

@ -35,18 +35,47 @@ cover:
state_pin: 11
```
Configuration variables:
{% configuration %}
relay_time:
description: The time that the relay will be on for in seconds.
required: false
default: 0.2
type: float
invert_relay:
description: Invert the relay pin output so that it is active-high (True).
required: false
default: False
type: boolean
state_pull_mode:
description: The direction the State pin is pulling. It can be UP or DOWN.
required: false
default: UP
type: string
invert_state:
description: Invert the value of the State pin so that 0 means closed.
required: false
default: False
type: boolean
covers:
description: List of your doors.
required: true
type: list
keys:
relay_pin:
description: The pin of your Raspberry Pi where the relay is connected.
required: true
type: integer
state_pin:
description: The pin of your Raspberry Pi to retrieve the state.
required: true
type: integer
name:
description: The name to use in the frontend.
required: false
type: string
{% endconfiguration %}
- **relay_time** (*Optional*): The time that the relay will be on for in seconds. Default is 0.2 seconds.
- **invert_relay** (*Optional*): Invert the relay pin output so that it is active-high. Default is False (active-low).
- **state_pull_mode** (*Optional*): The direction the State pin is pulling. It can be UP or DOWN. Default is UP.
- **invert_state** (*Optional*): Invert the value of the State pin so that 0 means closed. Default is False.
- **covers** array (*Required*): List of your doors.
- **relay_pin** (*Required*): The pin of your Raspberry Pi where the relay is connected.
- **state_pin** (*Required*): The pin of your Raspberry Pi to retrieve the state.
- **name** (*Optional*): Name to use in the frontend.
Full example:
## {% linkable_title Full example %}
```yaml
# Example configuration.yaml entry

View File

@ -45,6 +45,9 @@ To integrate a demo platform in Home Assistant, add the following section to you
- platform: demo
```
Configuration variables:
- **[component]** (*Required*): The name of the component as stated in the listing above the configuration example.
{% configuration %}
"[component]":
description: The name of the component as stated in the listing above the configuration example.
required: true
type: string
{% endconfiguration %}

View File

@ -15,7 +15,7 @@ The `gpslogger` device tracker platform allows you to detect presence using [GPS
## {% linkable_title Auth change release 0.77 and above %}
Since release 0.77, we now have long-lived access tokens. These are setup under your profile.
Since release 0.77, we now have long-lived access tokens. These are setup under your profile and configured in the GPSLogger application on your smartphone as explained below.
```yaml
# Example configuration.yaml entry
@ -80,11 +80,11 @@ Add the above URL after you modified it with your settings into the **URL** fiel
- Use the domain that Home Assistant is available on the internet (or the public IP address if you have a static IP address). This can be a local IP address if you are using an always on VPN from your mobile device to your home network.
- Only remove `PORT` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using.
- For Home Assistant only the above URL, as written, will work - do not add, remove, or change the order of any of the parameters.
- **0.77+** If you are using Long-Lived access tokens, then add `Authentication: Bearer LLAT` to the HTTP Headers setting
- **<0.77** Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=YOUR_PASSWORD` to the end of the URL.
- **0.77+** If you are using Long-Lived access tokens, then add `Authorization: Bearer LLAT` to the HTTP Headers setting (replace `LLAT` with your Long Lived Access Token).
- **<0.77** Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=YOUR_PASSWORD` to the end of the URL.
- You can change the name of your device name by replacing `&device=%SER` with `&device=DEVICE_NAME`.
If your battery drains fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**
If your battery drains fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**
<p class='img'>
<img width='300' src='/images/components/gpslogger/performance.png' />

View File

@ -1,7 +1,7 @@
---
layout: page
title: "ZigBee Home Automation Fan"
description: "Instructions how to setup ZigBee Home Automation fans within Home Assistant."
title: "Zigbee Home Automation Fan"
description: "Instructions how to setup Zigbee Home Automation fans within Home Assistant."
date: 2018-02-10 00:00
sidebar: true
comments: false
@ -13,4 +13,4 @@ ha_iot_class: "Local Polling"
ha_release: 0.66
---
To get your ZigBee fans working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/).
To get your Zigbee fans working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/).

View File

@ -35,7 +35,6 @@ If this is the first time setting up your Google Assistant integration, you can
Since release 0.80, the `Authorization Code` type of `OAuth` account linking is supported. To migrate your existing configuration from release 0.79 or below, you need:
1. Change your `Account linking` setting in [Actions on Google console](https://console.actions.google.com/), look for the `Advanced Options` in the bottom left of the sidebar.
- Under `Create an Action`, under the build section, modify `Add fulfillment URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, where `[YOUR HOME ASSISTANT URL:PORT]` is the domain / IP address and the port under which your Home Assistant instance is reachable.
- Change `Linking type` to `OAuth` and `Authorization Code`.
- In the `Client information` section:
- Change `Client ID` to `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important.

View File

@ -14,6 +14,10 @@ logo: apple-homekit.png
The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they can be controlled from Apple's `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later. However if you do encounter issues, checkout the [troubleshooting](#troubleshooting) section.
<p class="note">
If you want to control `HomeKit` only devices with Home Assistant, check out the [HomeKit controller](/components/homekit_controller/) component.
</p>
<p class="note warning">
It might be necessary to install an additional package:
`$ sudo apt-get install libavahi-compat-libdnssd-dev`
@ -313,6 +317,9 @@ For `Docker` users: make sure to set `network_mode: host`. Other reasons could b
#### {% linkable_title Pairing hangs - zeroconf error %}
Paining eventually fails, you might see and an error message `NonUniqueNameException`. To resolve this, you need to replace a specific file. See the following git issues for more details: [home-assistant#14567](https://github.com/home-assistant/home-assistant/issues/14567) and [home-assistant#17181](https://github.com/home-assistant/home-assistant/issues/17181)
#### {% linkable_title Pairing hangs - only works with debug config %}
Pairing works fine when the filter is set to only include `demo.demo`, but fails with normal config. See [specific entity doesn't work](#specific-entity-doesnt-work)
#### {% linkable_title Duplicate AID found when attempting to add accessory %}
Two of your entities share the same `entity_id`. Either resolve this or configure the [filter](#configure-filter) to exclude them.
@ -325,6 +332,18 @@ Make sure that you don't try to add more then 100 accessories, see [device limit
#### {% linkable_title Some of my devices don't show up - Z-Wave / Discovery %}
See [disable auto start](#disable-auto-start)
#### {% linkable_title My entity doesn't show up %}
Check if the domain of your entity is [supported](#supported-components). If it is, check your [filter](#configure-filter) settings. Make sure the spelling is correct, especially if you use `include_entities`.
#### {% linkable_title HomeKit doesn't work on second Home Assistant instance %}
To use the HomeKit component with to different Home Assistant instances on the same local network, you need to set a custom name for at least one of them. [config/name](#name)
#### {% linkable_title Specific entity doesn't work %}
Although we try our best, some entities don't work with the HomeKit component yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component: homekit)
#### {% linkable_title Accessories are all listed as not responding %}
See [specific entity doesn't work](#specific-entity-doesnt-work)
#### {% linkable_title Accessory not responding - after restart or update %}
See [device limit](#device-limit)

View File

@ -62,7 +62,7 @@ cors_allowed_origins:
required: false
type: string, list
use_x_forwarded_for:
description: "Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You **must** also whitelist trusted proxies using the `trusted_proxies` setting above for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored."
description: "Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You **must** also whitelist trusted proxies using the `trusted_proxies` setting for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored."
required: false
type: boolean
default: false

View File

@ -20,9 +20,9 @@ If you are running Home Assistant over SSL or from within a container, you will
## {% linkable_title ALPR %}
Alpr entities attribute have a vehicle counter `vehicles` and all found plates as `plates`.
ALPR entities have a vehicle counter attribute `vehicles` and all found plates are stored in the `plates` attribute.
This event is trigger after OpenALPR found a new license plate.
The `found_plate` event is triggered after OpenALPR has found a new license plate.
```yaml
# Example configuration.yaml automation entry
@ -41,9 +41,9 @@ The following event attributes will be present (platform-dependent): `entity_id`
## {% linkable_title Face %}
Face entities attribute have a face counter `total_faces` and all face data as `faces`.
Face entities have a face counter attribute `total_faces` and all face data is stored in the `faces` attribute.
This event is trigger after Microsoft Face found a faces.
The `detect_face` event is triggered after a Face entity has found a face.
```yaml
# Example configuration.yaml automation entry

View File

@ -13,12 +13,8 @@ ha_iot_class: "Local Push"
ha_version: 0.77
---
This component adds "local push" support for INSTEON Modems allowing
linked INSTEON devices to be used within Home Assistant as binary sensors,
lights, fans, sensors and switches. Device support is provided by the
underlying [insteonplm] package. It is known to work with the [2413U] USB and
[2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been
tested to work with the [2242] and [2245] Hubs.
This component adds "local push" support for INSTEON Modems allowing linked INSTEON devices to be used within Home Assistant as binary sensors, lights, fans, sensors and switches. Device support is provided by the
underlying [insteonplm] package. It is known to work with the [2413U] USB and [2412S] RS242 flavors of PLM and the [2448A7] USB stick. It has also been tested to work with the [2242] and [2245] Hubs.
[insteonplm]: https://github.com/nugget/python-insteonplm
[2413U]: https://www.insteon.com/powerlinc-modem-usb
@ -27,11 +23,9 @@ tested to work with the [2242] and [2245] Hubs.
[2245]: https://www.insteon.com/insteon-hub/
[2242]: https://www.insteon.com/support-knowledgebase/2014/9/26/insteon-hub-owners-manual
### {% linkable_title INSTEON Modem configuration %}
To set up an INSTEON Powerline Modem (PLM) device such as the [2413U], use the
following configuration:
To set up an INSTEON Powerline Modem (PLM) device such as the [2413U], use the following configuration:
```yaml
# PLM configuration variables
@ -40,7 +34,7 @@ insteon:
```
To set up an INSTEON Hub model [2245], use the following configuration:
```yaml
# Hub 2245 configuration variables
insteon:
@ -81,92 +75,111 @@ insteon:
x10_all_lights_on: HOUSECODE
x10_all_lights_off: HOUSECODE
```
Configuration variables:
- **port** (*Required for PLM setup*): The serial or USB port for your device,
e.g., `/dev/ttyUSB0` or `COM3`
- **host** (*Required for Hub setup*): The host name or IP address of the Hub.
- **ip_port** (*Optional for Hub setup*): The IP port number of the Hub. For
Hub model [2245] (i.e. Hub version 2) the default port is 25105. For the Hub
model [2242] (i.e. Hub version 1) the default port is 9761. Use the Insteon
app to find the port number for your specific Hub.
- **username** (*Required for Hub version 2 setup*): The username to login in
to the local Hub. This is required for Hub [2245] (i.e. Hub version 2) setup.
You can find your Hub username on the bottom of the Hub or you can use the
Insteon app.
- **password** (*Required for Hub version 2 setup*): The password to login in
to the local Hub. This is required for Hub [2245] (i.e. Hub version 2) setup.
You can find your Hub password on the bottom of the Hub or you can use the
Insteon app.
- **hub_version** (*Required for Hub version 1 setup*): The Hub version number
where model [2242] is Hub version 1 and model [2245] is Hub version 2.
(Default is 2)
- **device_override** (*Optional*): Override the default device definition
- *ADDRESS* is found on the device itself in the form 1A.2B.3C or 1a2b3c
- *CATEGORY* is found in the back of the device's User Guide in the form of
0x00 - 0xff
- *SUBCATEGORY* is found in the back of the device's User Guide in the form
of 0x00 - 0xff
- *FIRMWARE* and *PRODUCT_KEY* are more advanced options and will typically
not be used.
- **x10_devices** (*Optional*): Define X10 devices to control or respond to
- *HOUSECODE* is the X10 housecode values a - p
- *UNITCODE* is the X10 unit code values 1 - 16
- *PLATFORM* is the Home Assistant Platform to associate the device with.
The following platforms are supported
- binary_sensor: Used for on/off devices or keypad buttons that are read-only.
- light: Used for dimmable X10 devices
- switch: Used for On/Off X10 devices
- *STEPS* is the number of dim/bright steps the device supports. Used for
dimmable X10 devices only. Default value is 22.
- **x10_all_units_off** (*Optional*): Creates a binary_sensor that responds
to the X10 standard command for All Units Off.
- **x10_all_lights_on** (*Optional*): Creates a binary_sensor that responds
to the X10 standard command for All Lights On
- **x10_all_lights_off** (*Optional*): Creates a binary_sensor that responds
to the X10 standard command for All Lights Off
{% configuration %}
port:
description: The serial or USB port for your device, e.g., `/dev/ttyUSB0` or `COM3`.
required: Required for PLM setup
type: string
host:
description: The host name or IP address of the Hub.
required: Required for Hub setup
type: string
ip_port:
description: The IP port number of the Hub. For Hub model [2245] (i.e. Hub version 2) the default port is 25105. For the Hub model [2242] (i.e. Hub version 1) the default port is 9761. Use the Insteon app to find the port number for your specific Hub.
required: Optional for Hub setup
type: integer
username:
description: The username to login in to the local Hub. You can find your Hub username on the bottom of the Hub or you can use the Insteon app.
required: Required for Hub version 2 setup
type: string
password:
description: The password to login in to the local Hub. You can find your Hub password on the bottom of the Hub or you can use the Insteon app.
required: Required for Hub version 2 setup
type: string
hub_version:
description: The Hub version number where model [2242] is Hub version 1 and model [2245] is Hub version 2.
required: Required for Hub version 1 setup
default: 2
type: integer
device_override:
description: Override the default device definition.
required: false
type: list
keys:
address:
description: is found on the device itself in the form 1A.2B.3C or 1a2b3c.
required: true
type: string
cat:
description: is found in the back of the device's User Guide in the form of 0x00 - 0xff.
required: false
type: integer
subcat:
description: is found in the back of the device's User Guide in the form of 0x00 - 0xff.
required: false
type: integer
firmware:
description: are more advanced options and will typically not be used.
required: false
type: string
product_key:
description: are more advanced options and will typically not be used.
required: false
type: integer
x10_devices:
description: Define X10 devices to control or respond to.
required: false
type: list
keys:
housecode:
description: is the X10 housecode values a - p
required: true
type: string
unitcode:
description: is the X10 unit code values 1 - 16
required: true
type: integer
platform:
description: "is the Home Assistant Platform to associate the device with. The following platforms are supported: binary_sensor: Used for on/off devices or keypad buttons that are read-only. light: Used for dimmable X10 devices. switch: Used for On/Off X10 devices."
required: true
type: string
dim_steps:
description: is the number of dim/bright steps the device supports. Used for dimmable X10 devices only.
required: false
default: 22
type: integer
x10_all_units_off:
description: Creates a binary_sensor that responds to the X10 standard command for All Units Off.
required: false
type: string
x10_all_lights_on:
description: Creates a binary_sensor that responds to the X10 standard command for All Lights On
required: false
type: string
x10_all_lights_off:
description: Creates a binary_sensor that responds to the X10 standard command for All Lights Off
required: false
type: string
{% endconfiguration %}
### {% linkable_title Autodiscovery %}
The first time autodiscovery runs, the duration may require up to 20 seconds
per device. Subsequent startups will occur much quicker using cached device
information. If a device is not recognized during autodiscovery, you can add
the device to the **device_override** configuration.
The first time autodiscovery runs, the duration may require up to 20 seconds per device. Subsequent startups will occur much quicker using cached device information. If a device is not recognized during autodiscovery, you can add the device to the **device_override** configuration.
In order for a device to be discovered, it must be linked to the INSTEON Modem
as either a responder or a controller.
In order for a device to be discovered, it must be linked to the INSTEON Modem as either a responder or a controller.
### {% linkable_title Linking Devices to the INSTEON Modem %}
In order for any two Insteon devices to talk with one another, they must be
linked. For an overview of device linking, please read the Insteon page on
[understanding linking]. The Insteon Modem module supports All-Linking through
[Development Tools] service calls. The following services are available:
In order for any two Insteon devices to talk with one another, they must be linked. For an overview of device linking, please read the Insteon page on [understanding linking]. The Insteon Modem module supports All-Linking through [Development Tools] service calls. The following services are available:
- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking
mode. The IM can be set as a controller or a responder. If the IM is a
controller, put the IM into linking mode then press the SET button on the
device. If the IM is a responder, press the SET button on the device then
put the IM into linking mode.
- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an
All-Link record from the All-Link Database of the IM and a device. Once the IM
is set to delete the link, press the SET button on the corresponding device
to complete the process.
- **insteon.load_all_link_database**: Load the All-Link Database for a
device. WARNING - Loading a device All-Link database may take a LONG time and
may need to be repeated to obtain all records.
- **insteon.print_all_link_database**: Print the All-Link Database for a
device. Requires that the All-Link Database is loaded first.
- **insteon.print_im_all_link_database**: Print the All-Link Database for
the INSTEON Modem (IM).
- **insteon.add_all_link**: Puts the Insteon Modem (IM) into All-Linking mode. The IM can be set as a controller or a responder. If the IM is a controller, put the IM into linking mode then press the SET button on the device. If the IM is a responder, press the SET button on the device then put the IM into linking mode.
- **insteon.delete_all_link**: Tells the Insteon Modem (IM) to remove an All-Link record from the All-Link Database of the IM and a device. Once the IM is set to delete the link, press the SET button on the corresponding device to complete the process.
- **insteon.load_all_link_database**: Load the All-Link Database for a device. WARNING - Loading a device All-Link database may take a LONG time and may need to be repeated to obtain all records.
- **insteon.print_all_link_database**: Print the All-Link Database for a device. Requires that the All-Link Database is loaded first.
- **insteon.print_im_all_link_database**: Print the All-Link Database for the INSTEON Modem (IM).
If you are looking for more advanced options, you can use the
[insteonplm_interactive] command line tool that is distributed with the
[insteonplm] Python module. Please see the documentation on the [insteonplm]
GitHub site. Alternatively, you can download [HouseLinc] which runs on any
Windows PC, or you can use [Insteon Terminal] which is open source and runs
on most platforms. SmartHome no longer supports HouseLinc, but it still
works. Insteon Terminal is a very useful tool but please read the disclaimers
carefully, they are important.
If you are looking for more advanced options, you can use the [insteonplm_interactive] command line tool that is distributed with the [insteonplm] Python module. Please see the documentation on the [insteonplm] GitHub site. Alternatively, you can download [HouseLinc] which runs on any Windows PC, or you can use [Insteon Terminal] which is open source and runs on most platforms. SmartHome no longer supports HouseLinc, but it still works. Insteon Terminal is a very useful tool but please read the disclaimers carefully, they are important.
[understanding linking]: http://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking
[Development Tools]: https://www.home-assistant.io/docs/tools/dev-tools/
@ -174,36 +187,24 @@ carefully, they are important.
[Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal
[insteonplm_interactive]: https://github.com/nugget/python-insteonplm#command-line-interface
### {% linkable_title Customization %}
### {% linkable_title Customization %}
The only configuration item that is necessary is the PLM port or Hub IP
address, username and password so that Home Assistant can connect to the
INSTEON Modem. This will expose all the supported INSTEON devices which exist
in the modems ALL-Link database. However, devices will only be shown by their
INSTEON hex address (e.g., “1A.2B.3C”) which can be a bit unwieldy. As you link
and unlink devices using the Set buttons, theyll be added and removed from
Home Assistant automatically.
The only configuration item that is necessary is the PLM port or Hub IP address, username and password so that Home Assistant can connect to the INSTEON Modem. This will expose all the supported INSTEON devices which exist in the modems ALL-Link database. However, devices will only be shown by their INSTEON hex address (e.g., “1A.2B.3C”) which can be a bit unwieldy. As you link and unlink devices using the Set buttons, theyll be added and removed from Home Assistant automatically.
You can use the normal Home Assistant [device customization] section of your
configuration to assign friendly names and special icons to your devices. This
is especially useful for setting device_class on your binary_sensor INSTEON
devices.
You can use the normal Home Assistant [device customization] section of your configuration to assign friendly names and special icons to your devices. This is especially useful for setting device_class on your binary_sensor INSTEON devices.
[device customization]: /getting-started/customizing-devices/
### {% linkable_title Device Overrides %}
### {% linkable_title Device Overrides %}
INSTEON devices are added to Home Assistant using the platform(s) that make the
most sense given the model and features of the hardware. The features of the
INSTEON devices are built into the Home Assistant platform. Changing the
platform is not recommended. There are two primary uses for the
**device_override** feature.
- Devices that do not respond during autodiscovery. This is common for battery
operated devices.
- Devices that have not been fully developed. This allows an unknown device to
be mapped to a device that operates similarly to another device.
INSTEON devices are added to Home Assistant using the platform(s) that make the most sense given the model and features of the hardware. The features of the INSTEON devices are built into the Home Assistant platform. Changing the platform is not recommended.
### {% linkable_title Example Configuration with Options%}
There are two primary uses for the **device_override** feature:
- Devices that do not respond during autodiscovery. This is common for battery operated devices.
- Devices that have not been fully developed. This allows an unknown device to be mapped to a device that operates similarly to another device.
### {% linkable_title Example Configuration with Options%}
```yaml
# Full example of Insteon configuration with customizations and overrides
@ -221,15 +222,12 @@ insteon:
device_override:
- address: a1b2c3 # Hidden Door Sensor [2845-222]
cat: 0x10
subcat: 0x11
subcat: 0x11
```
### {% linkable_title What NOT to do %}
Insteon Modem is a top-level component and device discovery will identify
the Home Assistant platform the device belongs in. As such, do not
declare Insteon devices in other platforms. For example, this configuration
will NOT work:
Insteon Modem is a top-level component and device discovery will identify the Home Assistant platform the device belongs in. As such, do not declare Insteon devices in other platforms. For example, this configuration will NOT work:
```yaml
light:
@ -239,26 +237,18 @@ light:
### {% linkable_title Events and Mini-Remotes %}
Mini-Remote devices do not appear as Home Assistant entities. They generate
events. The following events are available:
Mini-Remote devices do not appear as Home Assistant entities, they generate events. The following events are available:
- **insteon.button_on**
- **address**: (required) The Insteon device address in lower case without
dots (e.g., 1a2b3c)
- **button**: (Optional) The button id in lower case. For a 4-button remote
the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For
a one-button remote this field is not used.
- **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c)
- **button**: (Optional) The button id in lower case. For a 4-button remote the values are `a` to `d`. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used.
- **insteon.button_of**
- **address**: (required) The Insteon device address in lower case without
dots (e.g., 1a2b3c)
- **button**: (Optional) The button id in lower case. For a 4-button remote
the values are a to d. For an 8 button remote the values are `a` to `g`. For
a one-button remote this field is not used.
- **address**: (required) The Insteon device address in lower case without dots (e.g., 1a2b3c)
- **button**: (Optional) The button id in lower case. For a 4-button remote the values are a to d. For an 8 button remote the values are `a` to `g`. For a one-button remote this field is not used.
This allows the mini-remotes to be configured as triggers for automations. Here
is an example of how to use these events for automations:
This allows the mini-remotes to be configured as triggers for automations. Here is an example of how to use these events for automations:
```
```yaml
automation:
# 4 or 8 button remote with button c pressed
trigger:
@ -292,17 +282,10 @@ automation:
### {% linkable_title Known Issues with the INSTEON Hub %}
The INSTEON Hub has three known issues that are inherent to the design of the
Hub:
The INSTEON Hub has three known issues that are inherent to the design of the Hub:
1. If you see multiple error messages in the log file stating the Hub
connection is closed, and reconnection has failed, this generally requires
the Hub to be restarted to reconnect.
1. If you see multiple error messages in the log file stating the Hub connection is closed, and reconnection has failed, this generally requires the Hub to be restarted to reconnect.
2. You cannot use both Home Assistant and the INSTEON app. If you do, the
changes made in the app will not appear in Home Assistant. Changes made in
Home Assistant will appear in the app after a period of time, however.
2. You cannot use both Home Assistant and the INSTEON app. If you do, the changes made in the app will not appear in Home Assistant. Changes made in Home Assistant will appear in the app after a period of time, however.
3. The Hub response times can be very slow. This is due to the Hub polling
devices frequently. Since only one INSTEON message can be broadcast at a time,
messages to and from Home Assistant can be delayed.
3. The Hub response times can be very slow. This is due to the Hub polling devices frequently. Since only one INSTEON message can be broadcast at a time, messages to and from Home Assistant can be delayed.

View File

@ -1,7 +1,7 @@
---
layout: page
title: "IKEA Trådfri lights"
description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Lights."
description: "Access and control your Zigbee-based IKEA Trådfri (Tradfri) Lights."
date: 2017-04-12 22.04
sidebar: true
comments: false

View File

@ -28,15 +28,17 @@ light:
host: 192.168.1.59
```
Configuration variables:
- **host** (*Required*): IP address of your Yeelight Sunflower hub.
{% configuration %}
host:
description: IP address of your Yeelight Sunflower hub.
required: true
type: string
{% endconfiguration %}
<p class='note'>
When the hub is loaded, your lights will appear as devices with their Zigbee IDs as part of the entity name.
When the hub is loaded, your lights will appear as devices with their Zigbee IDs as part of the entity name.
</p>
<p class='note warning'>
The Yeelight Sunflower hub supports SSDP discovery, but that has not been built into the platform. Let the developer know if that would be helpful to you.
</p>

View File

@ -1,7 +1,7 @@
---
layout: page
title: "ZigBee Home Automation Light"
description: "Instructions on how to setup ZigBee Home Automation lights within Home Assistant."
title: "Zigbee Home Automation Light"
description: "Instructions on how to setup Zigbee Home Automation lights within Home Assistant."
date: 2017-02-22 00:00
sidebar: true
comments: false
@ -12,4 +12,4 @@ ha_category: Light
ha_iot_class: "Local Polling"
---
To get your ZigBee lights working with Home Assistant, follow the instructions for the general [ZigBee Home Automation component](/components/zha/).
To get your Zigbee lights working with Home Assistant, follow the instructions for the general [Zigbee Home Automation component](/components/zha/).

View File

@ -1,7 +1,7 @@
---
layout: page
title: ZigBee Light
description: "Instructions on how to set up ZigBee lights within Home Assistant."
title: Zigbee Light
description: "Instructions on how to set up Zigbee lights within Home Assistant."
date: 2016-01-28 12:38
sidebar: true
comments: false
@ -13,7 +13,7 @@ ha_release: 0.12
ha_iot_class: "Local Polling"
---
A ZigBee light in this context is a light connected to one of the digital output pins on a ZigBee module. It can simply be switched on and off. By default, a light is considered `on` when the ZigBee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`.
A Zigbee light in this context is a light connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a light is considered `on` when the Zigbee device's digital output is held `high` and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`.
To configure a digital output pin as light, add the following to your `configuration.yaml` file:
@ -34,7 +34,7 @@ pin:
required: true
type: integer
address:
description: The long 64-bit address of the remote ZigBee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local ZigBee device's pins.
description: The long 64-bit address of the remote Zigbee device whose digital output pin you would like to switch. Do not include this variable if you want to switch the local Zigbee device's pins.
required: false
type: string
on_state:

View File

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

View File

@ -14,7 +14,7 @@ ha_iot_class: "Local Polling"
---
The `firetv` platform allows you to control a [Amazon Fire TV/stick](http://www.amazon.com/Amazon-DV83YW-Fire-TV/dp/B00U3FPN4U).
The `firetv` platform allows you to control a [Amazon Fire TV/stick](https://www.amazon.com/b/?node=8521791011).
The python-firetv Python 2.x module with its helper script that exposes an HTTP server to fetch state and perform actions is used.

View File

@ -13,7 +13,6 @@ ha_iot_class: "Local Polling"
ha_release: 0.34
---
The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) API. Instructions on how to activate the API and if your model is supported can be found [here](http://jointspace.sourceforge.net/download.html).
To add your TV to your installation, add the following to your `configuration.yaml` file:
@ -25,24 +24,38 @@ media_player:
host: 192.168.1.99
```
Configuration variables:
- **host** (*Required*): IP address of TV.
- **name** (*Optional*): The name you would like to give to the Philips TV.
- **turn_on_action** (*Optional*): A script that will be executed to turn on the TV (can be used with wol).
- **api_version** (*Optional*): The JointSpace API version of your Philips TV, defaults to `1`. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1` and `5`.
{% configuration %}
host:
description: IP address of TV.
required: true
default: 127.0.0.1 (localhost).
type: string
name:
description: The name you would like to give to the Philips TV.
required: false
default: Philips TV
type: string
turn_on_action:
description: A script that will be executed to turn on the TV (can be used with wol).
required: false
type: list
api_version:
description: The JointSpace API version of your Philips TV. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1` and `5`.
required: false
default: 1
type: integer
{% endconfiguration %}
<p class='note'>
When using api_version: 5 changing sources switches tv channels. Additionally this allows setting the volume level.
</p>
```yaml
# Example configuration.yaml with turn_on_action
media_player:
- platform: philips_js
host: 192.168.1.99
turn_on_action:
turn_on_action:
service: wake_on_lan.send_magic_packet
data:
mac: aa:bb:cc:dd:ee:ff

View File

@ -22,9 +22,17 @@ To add Snapcast to your installation, add the following to your `configuration.y
# Example configuration.yaml entry
media_player:
- platform: snapcast
host: xxx.xxx.xxx.xxx
host: YOUR_IP_ADDRESS
```
Configuration variables:
- **host** (*Required*): The IP of the device, eg. `192.168.0.10`.
{% configuration %}
host:
description: The IP address of the device, e.g., `192.168.0.10`.
required: true
type: string
port:
description: The port number.
required: false
default: 1705
type: integer
{% endconfiguration %}

View File

@ -43,11 +43,22 @@ media_player:
name: Soundtouch kitchen
```
Configuration variables:
- **host** (*Required*): The host name or address of the Soundtouch device.
- **name** (*Required*): The name of the device used in the frontend.
- **port** (*Optional*): The port number. Defaults to 8090.
{% configuration %}
host:
description: The host name or address of the Soundtouch device.
required: true
type: string
name:
description: The name of the device used in the frontend.
required: true
default: Bose Soundtouch
type: string
port:
description: The port number.
required: false
default: 8090
type: integer
{% endconfiguration %}
You can switch between one of your 6 pre-configured presets using ```media_player.play_media```

View File

@ -25,12 +25,25 @@ media_player:
host: IP_ADDRESS
```
Configuration variables:
- **host** (*Required*): The host name or address of the Logitech Media Server, eg. 192.168.1.21.
- **port** (*Optional*): Web interface port to Logitech Media Server. Defaults to 9000.
- **username** (*Optional*): The username, if password protection is enabled.
- **password** (*Optional*): The password, if password protection is enabled.
{% configuration %}
host:
description: The host name or address of the Logitech Media Server, eg. 192.168.1.21.
required: true
type: string
port:
description: The web interface port to Logitech Media Server.
required: false
default: 9000
type: integer
username:
description: The username, if password protection is enabled.
required: false
type: string
password:
description: The password, if password protection is enabled.
required: false
type: string
{% endconfiguration %}
<p class='note'>This platform now uses the web interface of the Logitech Media Server to send commands. The default port of the web interface is 9000. It is the same port that you use to access the LMS through your web browser. Originally, this platform used the telnet interface, which defaults to 9090. If you previously specified the port in your configuration file, you will likely need to update it.</p>

View File

@ -26,8 +26,20 @@ media_player:
port: 3000
```
Configuration variables:
- **name** (*Optional*): Name of the device
- **host** (*Required*): IP address or hostname of the device
- **port** (*Required*): Port number of Volumio service
{% configuration %}
name:
description: The name of the device.
required: false
default: Volumio
type: string
host:
description: The IP address or hostname of the device.
required: true
default: localhost
type: string
port:
description: The Port number of Volumio service.
required: true
default: 3000
type: integer
{% endconfiguration %}

View File

@ -13,7 +13,6 @@ ha_release: "0.20"
ha_iot_class: "Cloud Polling"
---
The `netatmo` component platform is the main component to integrate all Netatmo related platforms.
To enable the Netatmo component, add the following lines to your `configuration.yaml`:
@ -27,8 +26,6 @@ netatmo:
password: YOUR_PASSWORD
```
Configuration variables:
{% configuration %}
api_key:
description: The `client id` from your Netatmo app.
@ -61,7 +58,7 @@ Click on 'Create an App' at the top of the page.
<p class='img'>
<img src='/images/screenshots/netatmo_create.png' />
</p>
You have to fill the form, but only two fields are required : Name and Description. It doesn't really matter what you put into those. Just write something that make sense to you. To submit your new app, click on create at the bottom of the form.
You have to fill the form, but only two fields are required: Name and Description. It doesn't really matter what you put into those. Just write something that make sense to you. To submit your new app, click on create at the bottom of the form.
<p class='img'>
<img src='/images/screenshots/netatmo_app.png' />
@ -72,4 +69,3 @@ That's it. You can copy and paste your new `client id` and `client secret` in yo
<p class='img'>
<img src='/images/screenshots/netatmo_api.png' />
</p>

View File

@ -62,7 +62,7 @@ sender:
description: The name or number of the sender.
required: false
type: string
default: recipient
default: 'hass'
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -14,7 +14,9 @@ ha_release: 0.37
The [Discord service](https://discordapp.com/) is a platform for the notify component. This allows components to send messages to the user using Discord.
In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**) and activate **Require OAuth2 Code Grant**. Retrieve the **Client ID** and the (hidden) **Token** of your bot for later.
In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a [bot](https://discordapp.com/developers/docs/topics/oauth2#bots) user (**Create a Bot User**).
Retreive the **Client ID** from the information section and the (hidden) **Token** of your bot for later.
When setting up the application you can use this [icon](/demo/favicon-192x192.png).

View File

@ -12,6 +12,11 @@ ha_category: Notifications
ha_release: "0.52"
---
<p class='note'>
This component will be removed from Home Assistant in the future. Slack has taken over Hipchat and Stride and will therefore stop these platforms. For more information: <a href="https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership">announcement</a>.
Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch.
</p>
The `hipchat` platform allows you to send notifications from Home Assistant to [HipChat](https://hipchat.com/).
@ -24,19 +29,45 @@ To enable the HipChat notification in your installation, add the following to yo
notify:
- name: NOTIFIER_NAME
platform: hipchat
token: ABCDEFGHJKLMNOPQRSTUVXYZ
token: YOUR_TOKEN
room: 1234567
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **token** (*Required*): The HipChat API token to use for sending HipChat notifications.
- **room** (*Required*): The default room to post to if no room is explicitly specified when sending the notification.
- **color** (*Optional*): Setting color will override the default color for the notification. By default not setting this will post to HipChat using the default color yellow. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'.
- **notify** (*Optional*): Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. By default this is 'false'. Valid options are 'true' and 'false'.
- **format** (*Optional*): Setting format will override the default message format. Default is 'text'. Valid options are 'text' and 'html'.
- **host** (*Optional*): Setting the host will override the default HipChat server host. Default is 'https://api.hipchat.com/'.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
token:
description: The HipChat API token to use for sending HipChat notifications.
required: true
type: string
room:
description: The default room to post to if no room is explicitly specified when sending the notification.
required: true
type: integer
color:
description: Setting color will override the default color for the notification. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'.
required: false
default: yellow
type: string
notify:
description: Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. Valid options are 'true' and 'false'.
required: false
default: false
type: boolean
format:
description: Setting format will override the default message format. Default is 'text'. Valid options are 'text' and 'html'.
required: false
default: text
type: string
host:
description: Setting the host will override the default HipChat server host.
required: false
default: "https://api.hipchat.com/"
type: string
{% endconfiguration %}
### {% linkable_title HipChat service data %}
@ -50,4 +81,3 @@ The following attributes can be placed `data` for extended functionality.
| `format` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -36,11 +36,20 @@ notify:
recipient: PHONE_NUMBER_TO_NOTIFY
```
Configuration variables:
- **username** (*Required*): This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website.
- **password** (*Required*): This is the password you use to login to Yesss.at.
- **recipient** (*Required*): This is the phone number you want to send the SMS notification to.
{% configuration %}
username:
description: This is your login name (usually your phone number). Veryfy that you can use your credentials on the Yesss.at website.
required: true
type: string
password:
description: This is the password you use to login to Yesss.at.
required: true
type: string
recipient:
description: This is the phone number you want to send the SMS notification to.
required: true
type: string
{% endconfiguration %}
<p class='note warning'>
Verify that your credentials work on [Yesss.at's website](https://yesss.at). Using the wrong credentials three times in a row will get you suspended for one hour.

View File

@ -15,7 +15,7 @@ ha_iot_class: "Local Push"
[Pilight](https://www.pilight.org/) is a modular and open source solution to communicate with 433 MHz devices and runs on various small form factor computers. A lot of common [protocols](https://manual.pilight.org/protocols/index.html) are already available.
This pilight hub connects to the [pilight-daemon](https://manual.pilight.org/programs/daemon.html) via a socket connection to receive and send codes. Thus Home Assistant does not have to run on the computer in charge of the RF communication.
This pilight hub connects to the [pilight-daemon](https://manual.pilight.org/programs/daemon.html) via a socket connection to receive and send codes. Thus Home Assistant does not have to run on the computer in charge of the RF communication.
The received and supported RF codes are put on the event bus of Home Assistant and are therefore directly usable by other components (e.g., automation). Additionally a send service is provided to send RF codes.
@ -28,12 +28,27 @@ To integrate pilight into Home Assistant, add the following section to your `con
pilight:
```
Configuration variables:
- **host** (*Optional*): The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32.
- **port** (*Optional*): The network port to connect to. The usual port is [5001](https://manual.pilight.org/development/api.html).
- **send_delay** (*Optional*): You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a [pilight USB Nano](https://github.com/pilight/pilight-usb-nano) as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware.
- **whitelist** (*Optional*): You can define a whitelist to prevent that too many unwanted RF codes (e.g., the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true.
{% configuration %}
host:
description: The IP address of the computer running the pilight-daemon, e.g., 192.168.1.32.
required: false
default: 127.0.0.1
type: string
port:
description: "The network port to connect to, see also: (https://manual.pilight.org/development/api.html)."
required: false
default: 5001
type: integer
send_delay:
description: You can define a send delay as a fraction of seconds if you experience transmission problems when you try to switch multiple switches at once. This can happen when you use a [pilight USB Nano](https://github.com/pilight/pilight-usb-nano) as hardware and switches a whole group of multiple switches on or off. Tested values are between 0.3 and 0.8 seconds depending on the hardware.
required: false
default: 0.0
type: float
whitelist:
description: You can define a whitelist to prevent that too many unwanted RF codes (e.g., the neighbors weather station) are put on your HA event bus. All defined subsections have to be matched. A subsection is matched if one of the items are true.
required: false
type: string
{% endconfiguration %}
In this example only received RF codes using a daycom or Intertechno protocol are put on the event bus and only when the device id is 42. For more possible settings please look at the receiver section of the pilight [API](https://manual.pilight.org/development/api.html).

View File

@ -43,7 +43,7 @@ proximity:
ignored_zones:
- twork
devices:
- device_tracker.nwaring_nickmobile
- device_tracker.car1
tolerance: 50
unit_of_measurement: mi
```
@ -63,20 +63,20 @@ To add multiple proximity components, simply use a list in your `configuration.y
proximity:
home:
ignored_zones:
- twork
- elschool
- work
- school
devices:
- device_tracker.nwaring_nickmobile
- device_tracker.eleanorsiphone
- device_tracker.tsiphone
- device_tracker.car1
- device_tracker.iphone1
- device_tracker.iphone2
tolerance: 50
unit_of_measurement: mi
home3:
devices:
- device_tracker.tsiphone
- device_tracker.iphone1
tolerance: 50
work:
devices:
- device_tracker.elanorsiphone
- device_tracker.iphone2
tolerance: 10
```

View File

@ -29,15 +29,26 @@ sensor:
- platform: logi_circle
```
Configuration variables:
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions supported by your camera will be enabled.
- **battery_level**: Return the battery level percentage from the camera.
- **last_activity_time**: Return the timestamp from the last time the Logi Circle camera detected any activity.
- **privacy_mode**: Return the privacy mode status from the camera.
- **signal_strength_category**: Return the WiFi signal level from the camera.
- **signal_strength_percentage**: Return the WiFi signal percentage from the camera.
- **speaker_volume**: Return the relative speaker volume from the camera (0-100%).
- **streaming_mode**: Return the streaming mode status from the camera.
{% configuration %}
monitored_conditions:
description: Conditions to display in the frontend. The following conditions can be monitored. If not specified, all conditions supported by your camera will be enabled.
required: false
type: list
keys:
battery_level:
description: Return the battery level percentage from the camera.
last_activity_time:
description: Return the timestamp from the last time the Logi Circle camera detected any activity.
privacy_mode:
description: Return the privacy mode status from the camera.
signal_strength_category:
description: Return the WiFi signal level from the camera.
signal_strength_percentage:
description: Return the WiFi signal percentage from the camera.
speaker_volume:
description: Return the relative speaker volume from the camera (0-100%).
streaming_mode:
description: Return the streaming mode status from the camera.
{% endconfiguration %}
Currently it supports all 1st and 2nd generation cameras. Cameras without an internal battery will not expose a `battery_level` sensor.

View File

@ -13,7 +13,7 @@ ha_release: 0.29
ha_iot_class: "Local Polling"
---
The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time.
The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://www.huahuacaocao.com/product) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time.
# Install Bluetooth Backend
Before configuring Home Assistant you need a Bluetooth backend and the MAC address of your sensor. Depending on your operating system, you may have to configure the proper Bluetooth backend for your system:

View File

@ -19,12 +19,12 @@ The `mitemp_bt` sensor platform allows one to monitor room temperature and humid
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
- On [Hass.io](/hassio/installation/): mitemp_bt will work out of the box.
- On [Hass.io](/hassio/installation/): `mitemp_bt` will work out of the box as long as the host supports Bluetooth (like the Raspberry Pi does).
- On a [generic Docker installation](https://www.home-assistant.io/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- On other Linux systems:
- Preferred solution: Install the `bluepy` and `btlewrap` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
   - Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
- Windows and MacOS are currently not supported by the btlewrap library.
- Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth` or `bluez-deprecated`.
- Windows and MacOS are currently not supported by the `btlewrap` library.
## {% linkable_title Configuration %}
@ -114,6 +114,8 @@ adapter:
Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperatures don't change that quickly.
Reducing polling intervals will have a negative effect on the battery life.
## {% linkable_title Full example %}
A full configuration example could look like the one below:
```yaml

View File

@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling"
ha_release: "0.57"
---
This sensor will provide you with time table information of the [Nederlandse Spoorwegen](https://www.ns.nl/) train service in the Netherlands.
You must create an application [here](https://www.ns.nl/ews-aanvraagformulier/) to obtain a `password`.
@ -36,15 +35,37 @@ sensor:
via: Zl
```
Configuration variables:
- **email** (*Required*): The email address you used to request the API password.
- **password** (*Required*): The API password provided by the Nederlandse Spoorwegen.
- **routes** array (*Required*): List of traveling routes.
- **name** (*Required*): Name of the route.
- **from** (*Required*): The start station.
- **to** (*Required*): Direction of the traveling.
- **via** (*Optional*): Optional other station you wish to visit in between.
{% configuration %}
email:
description: The email address you used to request the API password.
required: true
type: string
password:
description: The API password provided by the Nederlandse Spoorwegen.
required: true
type: string
routes:
description: List of traveling routes.
required: false
type: list
keys:
name:
description: Name of the route.
required: true
type: string
frome:
description: The start station.
required: true
type: string
to:
description: Direction of the traveling.
required: true
type: string
via:
description: Optional other station you wish to visit in between.
required: false
type: string
{% endconfiguration %}
The data are coming from [Nederlandse Spoorwegen](https://www.ns.nl/).

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