Merge branch 'current' into next

This commit is contained in:
Fabian Affolter 2019-03-17 08:06:51 +01:00
commit 3983a70db5
No known key found for this signature in database
GPG Key ID: E23CD2DD36A4397F
28 changed files with 532 additions and 670 deletions

View File

@ -1,20 +0,0 @@
---
layout: page
title: "SimpliSafe Alarm Control Panel"
description: "Instructions on how to integrate SimpliSafe into Home Assistant."
date: 2016-07-02 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: simplisafe.png
ha_release: 0.24
ha_category: Alarm
---
The `simplisafe` alarm control panel platform gives users the ability to
control a SimpliSafe home alarm system.
You must have the [`simplisafe` component](/components/simplisafe/) configured
to use this platform. After configuring that component, any alarm control
panels defined will automatically appear.

View File

@ -1,43 +0,0 @@
---
layout: page
title: "Hunter Hydrawise Binary Sensor"
description: "Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant."
date: 2018-04-11 08:02
sidebar: true
comments: false
sharing: true
footer: true
logo: hydrawise_logo.png
ha_category: Irrigation
ha_release: 0.71
ha_iot_class: Cloud Polling
---
Before setting up the [Hunter Hydrawise](https://hydrawise.com) binary sensors please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component.
## {% linkable_title Configuration %}
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: hydrawise
```
{% configuration %}
monitored_conditions:
description: The binary sensors that should be displayed on the frontend.
required: false
type: list
default: All binary sensors are enabled.
keys:
is_watering:
description: The binary sensor is `on` when the zone is actively watering.
rain_sensor:
description: Is `on` when the rain_sensor (if installed on the controller) is active (wet).
status:
description: This will indicate `on` when there is a connection to the Hydrawise cloud. It is not an indication of whether the irrigation controller hardware is online.
{% endconfiguration %}
Finish the configuration by visiting the [Hydrawise sensor](/components/sensor.hydrawise/) and [Hydrawise switch](/components/switch.hydrawise/) documentation.

View File

@ -1,39 +0,0 @@
---
layout: page
title: "Melnor Raincloud Binary Sensor"
description: "Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant."
date: 2017-09-04 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raincloud.jpg
ha_category: Irrigation
ha_release: 0.55
ha_iot_class: Cloud Polling
---
To get your [Melnor RainCloud](https://wifiaquatimer.com) binary sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud).
## {% linkable_title Configuration %}
Once you have enabled the [Raincloud component](/components/raincloud), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: raincloud
```
{% configuration %}
monitored_conditions:
description: Conditions to display in the frontend. The following conditions can be monitored.
required: false
type: list
default: If not specified,, all conditions below will be enabled
keys:
is_watering:
description: Return if is currently watering per zone.
status:
description: Return status from the Melnor RainCloud Controller and Melnor RainCloud Faucet.
{% endconfiguration %}

View File

@ -1,48 +0,0 @@
---
layout: page
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
sharing: true
footer: true
logo: zigbee.png
ha_category: Binary Sensor
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`.
## {% linkable_title Configuration %}
To enable a digital input pin as binary sensor in your installation, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: zigbee
name: Hallway PIR Sensor
pin: 0
```
{% configuration %}
name:
description: The name you would like to give the binary sensor in Home Assistant.
required: true
type: string
pin:
description: The number identifying which pin to use.
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.
required: false
type: string
on_state:
description: Either `high` or `low`, depicting whether the binary sensor is considered `on` when the pin is `high` or `low`.
required: false
default: high
type: string
{% endconfiguration %}

View File

@ -8,14 +8,20 @@ comments: false
sharing: true
footer: true
logo: ecovacs.png
ha_category: Hub
ha_category:
- Hub
- Vacuum
ha_iot_class: Cloud Push
ha_release: 0.77
redirect_from:
- /components/vacuum.ecovacs/
---
The `ecovacs` component is the main component to integrate all [Ecovacs](https://www.ecovacs.com) (Deebot) vacuums. You will need your Ecovacs account information (username, password) to discover and control vacuums in your account.
Please see the [Ecovacs Vacuum](/components/vacuum.ecovacs/) documentation for more information about using the vacuum entity.
There is currently support for the following device types within Home Assistant:
- [Vacuum](#vacuum)
## {% linkable_title Configuration %}
@ -67,3 +73,59 @@ logger:
```
Warning: doing this will cause your authentication token to visible in your log files. Be sure to remove any tokens and other authentication details from your log before posting them in an issue.
## {% linkable_title Vacuum %}
The `ecovacs` vacuum platform allows you to monitor and control your Ecovacs Deebot vacuums.
### {% linkable_title Component Lifespans %}
The remaining lifespan of components on your Deebot vacuum will be reported as attributes on the vacuum entity. The value will be a whole number representing the percentage of life remaining.
Here's an example of how to extract the filter's lifespan to its own sensor using a [template sensor](/components/sensor.template/):
{% raw %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: template
sensors:
vacuum_filter:
friendly_name: "Vacuum Filter Remaining Lifespan"
unit_of_measurement: '%'
value_template: "{{ state_attr('vacuum.my_vacuum_id', 'component_filter') }}"
```
{% endraw %}
Or, if you want a simple binary sensor that becomes `On` when the filter needs to be replaced (5% or less):
{% raw %}
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: template
sensors:
vacuum_filter_replace:
friendly_name: "Vacuum Filter"
device_class: problem
value_template: "{{ state_attr('vacuum.my_vacuum_id', 'component_filter') <= 5 }}"
```
{% endraw %}
### {% linkable_title Handling Errors %}
The vacuum entity has an `error` attribute that will contain the _most recent_ error message that came from the vacuum. There is not a comprehensive list of all error messages, so you may need to do some experimentation to determine the error messages that your vacuum can send.
If the vacuum fires a "no error" event, the `error` attribute will change back to `None`. Note, however, that this does not happen for all types of errors.
Alternatively, you can use the `ecovacs_error` event to watch for errors. This event will contain a data payload that looks like:
```json
{
"entity_id": "vacuum.deebot_m80",
"error": "an_error_name"
}
```
Finally, if a vacuum becomes unavailable (usually due to being idle and off its charger long enough for it to completely power off,) the vacuum's `status` attribute will change to `offline` until it is turned back on.

View File

@ -121,6 +121,8 @@ google_assistant:
light.living_room:
expose: false
room: LIVING_ROOM
group.all_automations:
expose: false
```
{% configuration %}

View File

@ -8,13 +8,27 @@ comments: false
sharing: true
footer: true
logo: hydrawise_logo.png
ha_category: Irrigation
ha_category:
- Irrigation
- Binary Sensor
- Sensor
- Switch
ha_release: 0.71
ha_iot_class: Cloud Polling
redirect_from:
- /components/binary_sensor.hydrawise/
- /components/sensor.hydrawise/
- /components/switch.hydrawise/
---
The `hydrawise` component allows you to integrate your [Hunter Hydrawise](https://hydrawise.com) Wi-Fi irrigation controller system in Home Assistant.
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor)
- [Switch](#switch)
## {% linkable_title Configuration %}
To enable it, add the following to your `configuration.yaml` file:
@ -39,4 +53,98 @@ scan_interval:
To get your API access token log into your [Hydrawise account](https://app.hydrawise.com/config/account) and in the 'My Account Details' section under Account Settings click 'Generate API Key'. Enter that key in your configuration file as the `API_KEY`.
Finish the configuration by visiting the [Hydrawise binary sensor](/components/binary_sensor.hydrawise/), [Hydrawise sensor](/components/sensor.hydrawise/) and [Hydrawise switch](/components/switch.hydrawise/) documentation.
## {% linkable_title Binary Sensor %}
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: hydrawise
```
{% configuration %}
monitored_conditions:
description: The binary sensors that should be displayed on the frontend.
required: false
type: list
default: All binary sensors are enabled.
keys:
is_watering:
description: The binary sensor is `on` when the zone is actively watering.
rain_sensor:
description: Is `on` when the rain_sensor (if installed on the controller) is active (wet).
status:
description: This will indicate `on` when there is a connection to the Hydrawise cloud. It is not an indication of whether the irrigation controller hardware is online.
{% endconfiguration %}
## {% linkable_title Sensor %}
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: hydrawise
```
{% configuration %}
monitored_conditions:
description: The sensors that should be displayed on the frontend.
required: false
type: list
default: All sensors are enabled.
keys:
watering_time:
description: The amount of time left if the zone is actively watering. Otherwise the time is 0.
next_cycle:
description: The day and time when the next scheduled automatic watering cycle will start. If the zone is suspended then the value will be `NS` to indicate Not Scheduled.
{% endconfiguration %}
## {% linkable_title Switch %}
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
- platform: hydrawise
```
{% configuration %}
watering_minutes:
description: When manual watering is enabled this will determine the length of time in minutes that the irrigation zone will run. The allowed values are 5, 10, 15, 30, 45, or 60.
required: false
type: integer
default: 15
monitored_conditions:
description: Selects the set of switches that should be enabled on the frontend. Also sets the length of time a zone will run under manual control.
required: false
type: list
default: All switches are enabled.
keys:
auto_watering:
description: Enables the Smart Watering features for this zone.
manual_watering:
description: Enables the manual watering control for this zone.
{% endconfiguration %}
### {% linkable_title Switch Operation %}
When `auto_watering` is `on` the irrigation zone will follow the Smart Watering schedule set through the Hydrawise [mobile or web app](https://www.hydrawise.com). When the `auto_watering` switch is `off` the zone's Smart Watering schedule is suspended for 1 year.
When `manual_watering` is `on` the zone will run for the amount of time set by `watering_minutes`.
```yaml
# An example that enables all the switches, and sets the manual watering time to 20 minutes.
switch:
- platform: hydrawise
watering_minutes: 20
```
```yaml
# An example that enables only the manual control switches.
switch:
- platform: hydrawise
monitored_conditions: manual_watering
```

View File

@ -1,45 +0,0 @@
---
layout: page
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
sharing: true
footer: true
logo: zigbee.png
ha_category: Light
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`.
To configure a digital output pin as light, add the following to your `configuration.yaml` file:
```yaml
light:
- name: Desk Lamp
platform: zigbee
pin: 0
```
{% configuration %}
name:
description: The name you would like to give the light in Home Assistant.
required: true
type: string
pin:
description: The number identifying which pin to use.
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.
required: false
type: string
on_state:
description: Either `high` or `low`, depicting whether the digital output pin is pulled `high` or `low` when the light is turned on.
required: false
default: high
type: string
{% endconfiguration %}

View File

@ -8,12 +8,20 @@ comments: false
sharing: true
footer: true
logo: mycroft.png
ha_category: Voice
ha_category:
- Voice
- Notifications
ha_release: 0.53
redirect_from:
- /components/notify.mycroft/
---
[Mycroft](https://mycroft.ai) is an open source voice assistant that allows you to send notifications and more to Mycroft from Home Assistant.
There is currently support for the following device types within Home Assistant:
- **Notifications** - Allows to deliver notifications from Home Assistant to [Mycroft AI](https://mycroft.ai/).
## {% linkable_title Configuration %}
To use Mycroft in your installation, add the following to your `configuration.yaml` file:
@ -29,6 +37,4 @@ host:
description: The IP address of your Mycroft instance.
required: true
type: string
{% endconfiguration %}
{% endconfiguration %}

View File

@ -1,20 +0,0 @@
---
layout: page
title: "Mycroft AI"
description: "Instructions on how to add Mycroft AI notifications to Home Assistant."
date: 2017-08-26 17:00 UTC
sidebar: true
comments: false
sharing: true
footer: true
logo: mycroft.png
ha_category: Notifications
ha_release: 0.53
---
The `mycroft` notification platform allows you to deliver notifications from Home Assistant to [Mycroft AI](https://mycroft.ai/).
Please check the [`mycroft` component](/components/mycroft/) for details.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -8,12 +8,27 @@ comments: false
sharing: true
footer: true
logo: raincloud.jpg
ha_category: Irrigation
ha_category:
- Irrigation
- Binary Sensor
- Sensor
- Switch
ha_release: 0.55
ha_iot_class: Cloud Polling
redirect_from:
- /components/binary_sensor.raincloud/
- /components/sensor.raincloud/
- /components/switch.raincloud/
---
The `raincloud` component allows you to integrate your [Melnor RainCloud](https://wifiaquatimer.com) sprinkler system in Home Assistant.
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor)
- [Switch](#switch)
## {% linkable_title Configuration %}
To enable it, add the following to your `configuration.yaml` file:
@ -36,4 +51,83 @@ password:
type: string
{% endconfiguration %}
Finish its configuration by visiting the [Raincloud binary sensor](/components/binary_sensor.raincloud/), [Raincloud sensor](/components/sensor.raincloud/) and [Raincloud switch](/components/switch.raincloud/) documentation.
## {% linkable_title Binary Sensor %}
Once you have enabled the [Raincloud component](#configuration), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: raincloud
```
{% configuration %}
monitored_conditions:
description: Conditions to display in the frontend. The following conditions can be monitored.
required: false
type: list
default: If not specified, all conditions below will be enabled.
keys:
is_watering:
description: Return if is currently watering per zone.
status:
description: Return status from the Melnor RainCloud Controller and Melnor RainCloud Faucet.
{% endconfiguration %}
## {% linkable_title Sensor %}
Once you have enabled the [Raincloud component](#configuration), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: raincloud
```
{% configuration %}
monitored_conditions:
description: Conditions to display in the frontend. The following conditions can be monitored.
required: false
default: If not specified, all conditions below will be enabled.
type: list
keys:
battery:
description: Return the battery level the Melnor RainCloud faucet.
next_cycle:
description: Return the next schedulle watering cycle per zone.
rain_delay:
description: Return the number of days the automatic watering will be delayed due to raining per zone.
watering_time:
description: Return the watering remaining minutes per zone.
{% endconfiguration %}
## {% linkable_title Switch %}
Once you have enabled the [Raincloud component](#configuration), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
- platform: raincloud
```
{% configuration %}
watering_minutes:
description: "Value in minutes to watering your garden via frontend. The values allowed are: 5, 10, 15, 30, 45, 60."
required: false
default: 15
type: integer
monitored_conditions:
description: Conditions to display in the frontend. If not specified, all conditions below will be enabled by default.
required: false
type: list
keys:
auto_watering:
description: Toggle the watering scheduled per zone.
required: false
type: boolean
manual_watering:
description: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub component.
required: false
type: boolean
{% endconfiguration %}

View File

@ -61,7 +61,7 @@ name:
| `region_id` | Region ID assigned by DWD. |
| `warning_count` | *(int)* Number of issued warnings. There can be more than one warning issued at once. |
| `warning_<x>_level` | *(int)* Issued warning level between 0 and 4. <br/>0: Keine Warnungen <br/>1: Wetterwarnungen <br/>2: Warnungen vor markantem Wetter<br/>3: Unwetterwarnungen<br/>4: Warnungen vor extremem Unwetter |
| `warning_<x>_type` | *(int)* Issued warning type. <br/>0: Gewitter<br/>1: Windböen, Sturmböen<br/>2: ?<br/>3: Schneefall<br/>4: Nebel<br/>5: Frost <br/>6: Glätte, Glatteis<br/>Please be aware that the type numbers represent more like a category than an exact number-to-string match. For example Type `6` can mean `GLÄTTE` or `GLATTEIS` or similar. |
| `warning_<x>_type` | *(int)* Issued warning type. <br/>0: Gewitter, Starkes Gewitter<br/>1: Windböen, Sturmböen<br/>2: ?<br/>3: Schneefall<br/>4: Nebel<br/>5: Frost <br/>6: Glätte, Glatteis<br/>Please be aware that the type numbers represent more like a category than an exact number-to-string match. For example Type `6` can mean `GLÄTTE` or `GLATTEIS` or similar. |
| `warning_<x>_name` | This name correlates with the warning type and indicates it in short as a string. |
| `warning_<x>_headline` | Official headline the weather warning. |
| `warning_<x>_start` | Starting time and date of the issued warning. |

View File

@ -1,42 +0,0 @@
---
layout: page
title: "Hunter Hydrawise Sensor"
description: "Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant."
date: 2018-04-11 08:02
sidebar: true
comments: false
sharing: true
footer: true
logo: hydrawise_logo.png
ha_category: Irrigation
ha_release: 0.71
ha_iot_class: Cloud Polling
---
Before setting up the [Hunter Hydrawise](https://hydrawise.com) sensors please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component.
## {% linkable_title Configuration %}
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: hydrawise
```
{% configuration %}
monitored_conditions:
description: The sensors that should be displayed on the frontend.
required: false
type: list
default: All sensors are enabled.
keys:
watering_time:
description: The amount of time left if the zone is actively watering. Otherwise the time is 0.
next_cycle:
description: The day and time when the next scheduled automatic watering cycle will start. If the zone is suspended then the value will be `NS` to indicate Not Scheduled.
{% endconfiguration %}
Finish the configuration by visiting the [Hydrawise binary sensor](/components/binary_sensor.hydrawise/) and [Hydrawise switch](/components/switch.hydrawise/) documentation.

View File

@ -1,43 +0,0 @@
---
layout: page
title: "Melnor Raincloud Sensor"
description: "Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant."
date: 2017-09-04 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raincloud.jpg
ha_category: Irrigation
ha_release: 0.55
ha_iot_class: Cloud Polling
---
To get your [Melnor RainCloud](https://wifiaquatimer.com) sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud).
## {% linkable_title Configuration %}
Once you have enabled the [Raincloud component](/components/raincloud), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: raincloud
```
{% configuration %}
monitored_conditions:
description: Conditions to display in the frontend. The following conditions can be monitored.
required: false
default: If not specified, all conditions below will be enabled.
type: list
keys:
battery:
description: Return the battery level the Melnor RainCloud faucet.
next_cycle:
description: Return the next schedulle watering cycle per zone.
rain_delay:
description: Return the number of days the automatic watering will be delayed due to raining per zone.
watering_time:
description: Return the watering remaining minutes per zone.
{% endconfiguration %}

View File

@ -1,18 +0,0 @@
---
layout: page
title: "UPNP Sensor"
description: "Instructions on how to integrate UPNP sensors with Home Assistant."
date: 2017-06-18 12:00
sidebar: true
comments: false
sharing: true
footer: true
logo: upnp.png
ha_category: Network
ha_release: 0.48
ha_iot_class: Local Polling
---
The `upnp` sensor platform allows one to get the network statistics from your router such as bytes in/out and packets in/out.
To use your UPNP sensor in your installation, you need to set up the [`upnp`](/components/upnp/) component.

View File

@ -1,90 +0,0 @@
---
layout: page
title: Zigbee Sensor
description: "Instructions on how to set up Zigbee sensors within Home Assistant."
date: 2016-01-28 10:08
sidebar: true
comments: false
sharing: true
footer: true
logo: zigbee.png
ha_category: Sensor
ha_release: 0.12
ha_iot_class: Local Polling
---
There are two types of [Zigbee](http://www.zigbee.org/) sensor available to Home Assistant:
- [Analog input pin](#analog-input-pin)
- [Temperature sensor](#temperature-sensor) (XBee Pro)
To configure an analog input pin sensor, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: zigbee
name: My Analog Zigbee Input
type: analog
pin: 0
address: 0013A2004233D138
```
{% configuration %}
name:
description: The name you would like to give the sensor in Home Assistant.
required: true
type: string
type:
description: Set to `analog` or `temperature`.
required: true
type: string
pin:
description: The number identifying which pin to sample.
required: false
type: integer
address:
description: The long 64-bit address of the remote Zigbee device whose pin you would like to sample. Do not include this variable if you want to sample the local Zigbee device's pins.
required: false
type: string
max_volts:
description: The maximum voltage which the input pin is able to read.
required: false
default: 1.2
type: float
{% endconfiguration %}
## {% linkable_title Examples %}
### {% linkable_title Analog Input Pin %}
The analog input pins on an XBee (non-Pro) will read 0V to 1.2 V. This is translated by the [xbee-helper](https://github.com/flyte/xbee-helper) library into a percentage. The maximum voltage your Zigbee device will read is configurable using the `max_volts` configuration variable.
To configure an analog input pin sensor, add the following to your `configuration.yaml` file:
```yaml
## Example configuration.yaml entry
sensor:
- platform: zigbee
name: My Analog Zigbee Input
type: analog
pin: 0
address: 0013A2004233D138
```
See the [Digi knowledge base](http://knowledge.digi.com/articles/Knowledge_Base_Article/Digital-and-analog-sampling-using-XBee-radios) for more XBee sampling details.
## {% linkable_title Temperature Sensor %}
The XBee Pro (and perhaps other third party modules) contains a thermometer device which can be read by using the `TP` AT command.
To configure a temperature sensor device, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: zigbee
name: Living Room Temperature Zigbee
type: temperature
address: 0013A20050E752C5
```

View File

@ -9,11 +9,17 @@ sharing: true
footer: true
logo: simplisafe.png
ha_release: 0.81
ha_category: Alarm
ha_category:
- Alarm
redirect_from:
- /components/alarm_control_panel.simplisafe/
---
The `simplisafe` component integrates SimpliSafe home security (V2 and V3)
systems into Home Assistant. Multiple SimpliSafe accounts can be accommodated.
The `simplisafe` component integrates SimpliSafe home security (V2 and V3) systems into Home Assistant. Multiple SimpliSafe accounts can be accommodated.
There is currently support for the following device types within Home Assistant:
- Alarm
To enable this component, add the following lines to your `configuration.yaml`:

View File

@ -1,66 +0,0 @@
---
layout: page
title: "Hunter Hydrawise Switch"
description: "Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant."
date: 2018-04-11 08:02
sidebar: true
comments: false
sharing: true
footer: true
logo: hydrawise_logo.png
ha_category: Irrigation
ha_release: 0.71
ha_iot_class: Cloud Polling
---
Before setting up the [Hunter Hydrawise](https://hydrawise.com) switches please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component.
## {% linkable_title Configuration %}
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
- platform: hydrawise
```
{% configuration %}
watering_minutes:
description: When manual watering is enabled this will determine the length of time in minutes that the irrigation zone will run. The allowed values are 5, 10, 15, 30, 45, or 60.
required: false
type: integer
default: 15
monitored_conditions:
description: Selects the set of switches that should be enabled on the frontend. Also sets the length of time a zone will run under manual control.
required: false
type: list
default: All switches are enabled.
keys:
auto_watering:
description: Enables the Smart Watering features for this zone.
manual_watering:
description: Enables the manual watering control for this zone.
{% endconfiguration %}
### {% linkable_title Switch Operation %}
When `auto_watering` is `on` the irrigation zone will follow the Smart Watering schedule set through the Hydrawise [mobile or web app](https://www.hydrawise.com). When the `auto_watering` switch is `off` the zone's Smart Watering schedule is suspended for 1 year.
When `manual_watering` is `on` the zone will run for the amount of time set by `watering_minutes`.
```yaml
# An example that enables all the switches, and sets the manual watering time to 20 minutes.
switch:
- platform: hydrawise
watering_minutes: 20
```
```yaml
# An example that enables only the manual control switches.
switch:
- platform: hydrawise
monitored_conditions: manual_watering
```
Finish the configuration by visiting the [Hydrawise binary sensor](/components/binary_sensor.hydrawise) and [Hydrawise sensor](/components/sensor.hydrawise/) documentation.

View File

@ -1,47 +0,0 @@
---
layout: page
title: "Melnor Raincloud Switch"
description: "Instructions on how to integrate your Melnor Raincloud sprinkler system within Home Assistant."
date: 2017-09-04 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raincloud.jpg
ha_category: Irrigation
ha_release: 0.55
ha_iot_class: Cloud Polling
---
To get your [Melnor RainCloud](https://wifiaquatimer.com) binary sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud/).
## {% linkable_title Configuration %}
Once you have enabled the [Raincloud component](/components/raincloud/), add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
- platform: raincloud
```
{% configuration %}
watering_minutes:
description: "Value in minutes to watering your garden via frontend. The values allowed are: 5, 10, 15, 30, 45, 60."
required: false
default: 15
type: integer
monitored_conditions:
description: Conditions to display in the frontend. If not specified, all conditions below will be enabled by default.
required: false
type: list
keys:
auto_watering:
description: Toggle the watering scheduled per zone.
required: false
type: boolean
manual_watering:
description: Toggle manually the watering per zone. It will inherent the value in minutes specified on the RainCloud hub component.
required: false
type: boolean
{% endconfiguration %}

View File

@ -1,47 +0,0 @@
---
layout: page
title: "Zigbee Switch"
description: "Instructions on how to set up Zigbee switches within Home Assistant."
date: 2016-01-28 11:52
sidebar: true
comments: false
sharing: true
footer: true
logo: zigbee.png
ha_category: Switch
ha_release: 0.12
ha_iot_class: Local Polling
---
A Zigbee switch in this context is a device connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a switch 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 switch, add the following to your `configuration.yaml` file:
```yaml
switch:
- name: Pond Fountain
platform: zigbee
pin: 0
address: 0013A20040791FA2
on_state: low
```
{% configuration %}
name:
description: The name you would like to give the switch in Home Assistant.
required: true
type: string
pin:
description: The number identifying which pin to use.
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.
required: false
type: string
on_state:
description: Either `high` or `low`, depicting whether the digital output pin is pulled `high` or `low` when the switch is turned on.
required: false
default: high
type: string
{% endconfiguration %}

View File

@ -8,14 +8,23 @@ comments: false
sharing: true
footer: true
logo: upnp.png
ha_category: Network
ha_category:
- Network
- Sensor
ha_release: 0.18
ha_iot_class: "Local Polling"
redirect_from:
- /components/sensor.upnp/
---
The `upnp` component enables you to collect network statistics from your router such as bytes in/out and packets in/out. This information is provided by the [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play)/[Internet Gateway Device (IGD) Protocol](https://en.wikipedia.org/wiki/Internet_Gateway_Device_Protocol) if enabled on your router.
The IGD can automatically create port forwarding mappings on your router for Home Assistant, exposing your installation to the internet. The mapping will never automatically expire. Upon stopping Home Assistant, the mapping will be removed from your router.
There is currently support for the following device types within Home Assistant:
- **Sensor** - Allows to get the network statistics from your router such as bytes in/out and packets in/out.
Please note that UPnP or NAT-PMP needs to be enabled on your router for this component to work.
## {% linkable_title Configuration %}

View File

@ -1,71 +0,0 @@
---
layout: page
title: "Ecovacs Deebot Vacuum"
description: "Instructions on how to setup Ecovacs Deebot vacuums within Home Assistant."
date: 2018-07-27 09:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ecovacs.png
ha_category: Vacuum
ha_iot_class: Cloud Push
ha_release: 0.77
---
The `ecovacs` vacuum platform allows you to monitor and control your Ecovacs Deebot vacuums.
## {% linkable_title Configuration %}
You have to set up the [Ecovacs component](/components/ecovacs/) first.
### {% linkable_title Component Lifespans %}
The remaining lifespan of components on your Deebot vacuum will be reported as attributes on the vacuum entity. The value will be a whole number representing the percentage of life remaining.
Here's an example of how to extract the filter's lifespan to its own sensor using a [template sensor](/components/sensor.template/):
{% raw %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: template
sensors:
vacuum_filter:
friendly_name: "Vacuum Filter Remaining Lifespan"
unit_of_measurement: '%'
value_template: "{{ state_attr('vacuum.my_vacuum_id', 'component_filter') }}"
```
{% endraw %}
Or, if you want a simple binary sensor that becomes `On` when the filter needs to be replaced (5% or less):
{% raw %}
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: template
sensors:
vacuum_filter_replace:
friendly_name: "Vacuum Filter"
device_class: problem
value_template: "{{ state_attr('vacuum.my_vacuum_id', 'component_filter') <= 5 }}"
```
{% endraw %}
### {% linkable_title Handling Errors %}
The vacuum entity has an `error` attribute that will contain the _most recent_ error message that came from the vacuum. There is not a comprehensive list of all error messages, so you may need to do some experimentation to determine the error messages that your vacuum can send.
If the vacuum fires a "no error" event, the `error` attribute will change back to `None`. Note, however, that this does not happen for all types of errors.
Alternatively, you can use the `ecovacs_error` event to watch for errors. This event will contain a data payload that looks like:
```json
{
"entity_id": "vacuum.deebot_m80",
"error": "an_error_name"
}
```
Finally, if a vacuum becomes unavailable (usually due to being idle and off its charger long enough for it to completely power off,) the vacuum's `status` attribute will change to `offline` until it is turned back on.

View File

@ -8,19 +8,28 @@ comments: false
sharing: true
footer: true
logo: zigbee.png
ha_category: DIY
ha_category:
- Binary Sensor
- Light
- Sensor
- Switch
ha_release: 0.12
ha_iot_class: Local Polling
redirect_from:
- /components/binary_sensor.zigbee/
- /components/light.zigbee/
- /components/sensor.zigbee/
- /components/switch.zigbee/
---
[Zigbee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The component requires a local Zigbee device to be connected to a serial port. Through this, it will send and receive commands to and from other devices on the Zigbee mesh network.
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](../binary_sensor.zigbee) (digital input pins)
- [Sensor](../sensor.zigbee) (analog input pins and temperature sensor)
- [Light](../light.zigbee) (digital output pins)
- [Switch](../switch.zigbee) (digital output pins)
- [Binary Sensor](#binary-sensor) - Digital input pins
- [Sensor](#sensor) - Analog input pins and temperature sensor
- [Light](#light) - Digital output pins
- [Switch](#switch) - Digital output pins
## {% linkable_title Configuration %}
@ -64,3 +73,185 @@ zigbee:
device: /dev/ttyACM1
baud: 115200
```
## {% linkable_title Binary Sensor %}
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`:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: zigbee
name: Hallway PIR Sensor
pin: 0
```
{% configuration %}
name:
description: The name you would like to give the binary sensor in Home Assistant.
required: true
type: string
pin:
description: The number identifying which pin to use.
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.
required: false
type: string
on_state:
description: Either `high` or `low`, depicting whether the binary sensor is considered `on` when the pin is `high` or `low`.
required: false
default: high
type: string
{% endconfiguration %}
## {% linkable_title Light %}
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:
```yaml
light:
- name: Desk Lamp
platform: zigbee
pin: 0
```
{% configuration %}
name:
description: The name you would like to give the light in Home Assistant.
required: true
type: string
pin:
description: The number identifying which pin to use.
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.
required: false
type: string
on_state:
description: Either `high` or `low`, depicting whether the digital output pin is pulled `high` or `low` when the light is turned on.
required: false
default: high
type: string
{% endconfiguration %}
## {% linkable_title Sensor %}
There are two types of [Zigbee](http://www.zigbee.org/) sensor available to Home Assistant:
- [Analog input pin](#analog-input-pin)
- [Temperature sensor](#temperature-sensor) (XBee Pro)
To configure an analog input pin sensor, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: zigbee
name: My Analog Zigbee Input
type: analog
pin: 0
address: 0013A2004233D138
```
{% configuration %}
name:
description: The name you would like to give the sensor in Home Assistant.
required: true
type: string
type:
description: Set to `analog` or `temperature`.
required: true
type: string
pin:
description: The number identifying which pin to sample.
required: false
type: integer
address:
description: The long 64-bit address of the remote Zigbee device whose pin you would like to sample. Do not include this variable if you want to sample the local Zigbee device's pins.
required: false
type: string
max_volts:
description: The maximum voltage which the input pin is able to read.
required: false
default: 1.2
type: float
{% endconfiguration %}
### {% linkable_title Examples %}
#### {% linkable_title Analog Input Pin %}
The analog input pins on an XBee (non-Pro) will read 0V to 1.2 V. This is translated by the [xbee-helper](https://github.com/flyte/xbee-helper) library into a percentage. The maximum voltage your Zigbee device will read is configurable using the `max_volts` configuration variable.
To configure an analog input pin sensor, add the following to your `configuration.yaml` file:
```yaml
## Example configuration.yaml entry
sensor:
- platform: zigbee
name: My Analog Zigbee Input
type: analog
pin: 0
address: 0013A2004233D138
```
See the [Digi knowledge base](http://knowledge.digi.com/articles/Knowledge_Base_Article/Digital-and-analog-sampling-using-XBee-radios) for more XBee sampling details.
#### {% linkable_title Temperature Sensor %}
The XBee Pro (and perhaps other third party modules) contains a thermometer device which can be read by using the `TP` AT command.
To configure a temperature sensor device, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: zigbee
name: Living Room Temperature Zigbee
type: temperature
address: 0013A20050E752C5
```
## {% linkable_title Switch %}
A Zigbee switch in this context is a device connected to one of the digital output pins on a Zigbee module. It can simply be switched on and off. By default, a switch 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 switch, add the following to your `configuration.yaml` file:
```yaml
switch:
- name: Pond Fountain
platform: zigbee
pin: 0
address: 0013A20040791FA2
on_state: low
```
{% configuration %}
name:
description: The name you would like to give the switch in Home Assistant.
required: true
type: string
pin:
description: The number identifying which pin to use.
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.
required: false
type: string
on_state:
description: Either `high` or `low`, depicting whether the digital output pin is pulled `high` or `low` when the switch is turned on.
required: false
default: high
type: string
{% endconfiguration %}

View File

@ -172,7 +172,7 @@ A very thorough explanation of this is available in the Wikipedia article about
### {% linkable_title Template trigger %}
Template triggers work by evaluating a [template](/docs/configuration/templating/) on every state change for all of the recognized entities. The trigger will fire if the state change caused the template to render 'true'. This is achieved by having the template result in a true boolean expression (`{% raw %}{{ is_state('device_tracker.paulus', 'home') }}{% endraw %}`) or by having the template render 'true' (example below).
Template triggers work by evaluating a [template](/docs/configuration/templating/) on every state change for all of the recognized entities. The trigger will fire if the state change caused the template to render 'true'. This is achieved by having the template result in a true boolean expression (`{% raw %}{{ is_state('device_tracker.paulus', 'home') }}{% endraw %}`) or by having the template render 'true' (example below). Being a boolean expression the template must evaluate to false before it will fire again.
With template triggers you can also evaluate attribute changes by using is_state_attr (`{% raw %}{{ is_state_attr('climate.living_room', 'away_mode', 'off') }}{% endraw %}`)
{% raw %}

View File

@ -16,19 +16,19 @@ One major advantage of Home Assistant is that it's not dependent on cloud servic
Here's the summary of what you *must* do to secure your Home Assistant system:
&#9744; Configure [secrets](/topics/secrets/) (but do remember to back them up)
&#9744; Regularly keep the system up to date
- Configure [secrets](/docs/configuration/secrets/) (but do remember to back them up)
- Regularly keep the system up to date
If you only want to use components supported by [Home Assistant cloud](/cloud/) then you don't need to enable remote access. This is obviously the most secure option, but does mean that you're relying on a cloud service for that functionality.
&#9744; For remote access to the UI, use a [VPN](http://www.pivpn.io/), [Tor](/docs/ecosystem/tor/), or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/)
&#9744; For remote access for components, use a [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/) certificate
- For remote access to the UI, use a [VPN](http://www.pivpn.io/), [Tor](/docs/ecosystem/tor/) or an [SSH tunnel](/blog/2017/11/02/secure-shell-tunnel/)
- For remote access for components, use a [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/) certificate
### {% linkable_title You should %}
As well as the above we advise that you consider the following to improve security:
- For systems that use SSH set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. This is particularly important if you enable remote access to your SSH services.
- For systems that use SSH set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. This is particularly important if you enable remote access to your SSH services.
- Lock down the host following good practice guidance, for example:
* [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html) (this also applies to Raspbian)
* [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf), [CIS Red Hat Enterprise Linux 7 Benchmark](https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf)
@ -39,7 +39,7 @@ As well as the above we advise that you consider the following to improve securi
### {% linkable_title Remote access for just the UI %}
If you only want remote access for access to the web UI then we advise that you follow the **All installs** section, then set up one of:
If you only want remote access for access to the web UI then we advise that you follow the [Installation](/docs/installation/) section, then set up one of:
- A VPN such as [PiVPN](http://www.pivpn.io/) or [ZeroTier](https://www.zerotier.com/), which will give you access to your whole home network
- [Tor](/docs/ecosystem/tor/), which also avoids the need for port forwarding
@ -49,10 +49,10 @@ If you only want remote access for access to the web UI then we advise that you
For remote access for a component, for example, a device tracker, you have to enable access to the API by:
1. Following the steps in **All installs**, then
1. Following the steps in [Installation](/docs/installation/), then
2. Forwarding a port and protect your communication with one of:
* A [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/) certificate (you can use one from Let's Encrypt, or any commercial SSL certificate vendor)
* A [self-signed certificate](/cookbook/tls_self_signed_certificate/) - be warned though, some services will refuse to work with self-signed certificates
3. Optionally use a proxy like [NGINX](/docs/ecosystem/nginx/), [Apache](/cookbook/apache_configuration/), or another. These allow you to provide finer-grained access. You could use this to limit access to specific parts of the API (for example, only `/api/owntracks/`)
3. Optionally use a proxy like [NGINX](/docs/ecosystem/nginx/), [Apache](/docs/ecosystem/apache/), [HAproxy](/docs/ecosystem/haproxy/) or another. These allow you to provide finer-grained access. You could use this to limit access to specific parts of the API (for example, only `/api/owntracks/`)
4. Enable IP Filtering and configure a low [Login Attempts Threshold](/components/http/)
5. If you use a proxy then install [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to [monitor your proxy logs](/cookbook/fail2ban/) (or Home Assistant logs) for failed authentication

View File

@ -20,6 +20,29 @@ Home Assistant provides multiple ways to be installed. The first start may take
Please remember to [secure your installation](/docs/configuration/securing/) once you've finished with the installation process.
</p>
## {% linkable_title Hardware %}
Below is a list of **minimum** requirements
Type | Minimum
-- | --
Storage | 32 GB
Memory | 1 GB
Network | 100 Mb/s wired
Power (if Pi) | At least 2.5A
### {% linkable_title Performance expectations %}
This is a list of popular platforms and what to expect from them.
Platform | Notes
-- | --
Raspberry Pi Zero/Pi 2 | **Only** use these for testing
Raspberry Pi 3/3+ | This is a good starting point, and depending on the amount of devices you integrate this can be enough
NUC i3 | This is if you need a little more power over a Pi
NUC i5 | This will allow you to run multiple services without any issues, perfect for a homelab
NUC i7/i9 | Pure power, you should not have *any* performance issues
## {% linkable_title Recommended %}
These install options are fully supported by Home Assistant's documentation. For example, if a component requires that you install something to make it work on one of these methods then the component page will document the steps required.

View File

@ -20,7 +20,7 @@ $ sudo apt-get -y upgrade
#### {% linkable_title Updating Home Assistant %}
<p class='note'>
You can use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade home-assistant`
You can use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade homeassistant`
</p>
To update the Home Assistant installation execute the following command as the `pi` user.

View File

@ -36,7 +36,7 @@ The following will take you through the steps required to install Hass.io.
2. Install Hass.io:
- Flash the downloaded image to an SD card using [balenaEtcher][balenaEtcher]. We recommend at least a 32 GB SD card to avoid running out of space.
- Flash the downloaded image to an SD card using [balenaEtcher][balenaEtcher]. If using a Pi we recommend at least a 32 GB SD card to avoid running out of space. On Virtual machine platforms, provide at least 32 GB of disk space for the VM.
- Load the appliance image into your virtual machine software. Choose 64-bit Linux and UEFI boot.
3. Optional - set up the WiFi or static IP: On a USB stick, create the `network/my-network` file and follow the [HassOS howto][hassos-network].