Merge branch 'next' into nuheat
This commit is contained in:
commit
2c10e3392e
1067 changed files with 4492 additions and 2372 deletions
|
@ -46,7 +46,9 @@ Screenshot of the HASS Configurator.
|
|||
"ssl": false,
|
||||
"allowed_networks": ["192.168.0.0/16"],
|
||||
"banned_ips": ["8.8.8.8"],
|
||||
"ignore_pattern": ["__pycache__"]
|
||||
"banlimit": 0,
|
||||
"ignore_pattern": ["__pycache__"],
|
||||
"dirsfirst": false,
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -55,7 +57,9 @@ Screenshot of the HASS Configurator.
|
|||
- **ssl** (*Optional*): Enable or Disable SSL for the editor.
|
||||
- **allowed_networks** (*Optional*): Limit access to the configurator by adding allowed IP addresses / networks to the list.
|
||||
- **banned_ips** (*Optional*): List of statically banned IP addresses.
|
||||
- **banlimit** (*Optional*): 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** (*Optional*): Files and folders to ignore in the UI.
|
||||
- **dirsfirst** (*Optional*): List directories before files in the filebrowser.
|
||||
|
||||
### {% linkable_title Embedding into Home-Assistant %}
|
||||
|
||||
|
|
|
@ -44,4 +44,8 @@ Load and update configuration files for Home Assistant from a GIT repository.
|
|||
* **ed25519**
|
||||
* **rsa**
|
||||
|
||||
The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using "rsa" protocol.
|
||||
The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using "rsa" protocol.
|
||||
|
||||
<p class='note warning'>
|
||||
You should only use this add-on if you do not have an existing configuration or if your existing configuration is already in a git repository. If the script does not find the necessary git files in your configuration folder, it will delete anything that might be there. Please ensure that there is a `.git` folder before using this. You can verify this by listing the items in the configuration folder including hidden files. The command is `ls -a /config`.
|
||||
</p>
|
||||
|
|
|
@ -10,6 +10,10 @@ footer: true
|
|||
featured: true
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
If you are wanting to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant then you want the [Google Assistant component](https://home-assistant.io/components/google_assistant/).
|
||||
</p>
|
||||
|
||||
[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interact over [api.ai] with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.
|
||||
|
||||
To enable access to the Google Assistant API, do the following:
|
||||
|
|
|
@ -34,15 +34,15 @@ Set up a [mariadb](https://mariadb.org/) SQL server. It supports multiple databa
|
|||
|
||||
Configuration variables:
|
||||
|
||||
- **databases** (*Require*): Listen of databases.
|
||||
- **logins** (*Require*): Listen of logindata they will create or update.
|
||||
- **username** (*Require*): Username for login.
|
||||
- **host** (*Require*): Host for login, if you need a login with multibe hosts, use '%'.
|
||||
- **password** (*Require*): Password for login.
|
||||
- **rights** (*Require*): Listen of rights to be handle.
|
||||
- **username** (*Require*): Username for grant rights.
|
||||
- **databases** (*Require*): List of databases.
|
||||
- **logins** (*Require*): List of SQL accounts to create or update.
|
||||
- **username** (*Require*): Username for account.
|
||||
- **host** (*Require*): Host for account. If you need an account on multiple hosts, use '%'.
|
||||
- **password** (*Require*): Password for account.
|
||||
- **rights** (*Require*): List of rights to be granted.
|
||||
- **username** (*Require*): Username for granted rights.
|
||||
- **host** (*Require*): Host is a part of username like above.
|
||||
- **database** (*Require*): Database name to grant this user rights to.
|
||||
- **database** (*Require*): Database name on which to grant user rights.
|
||||
- **grant** (*Require*): SQL grant part for access too.
|
||||
|
||||
## {% linkable_title Home Assistant configuration %}
|
||||
|
|
|
@ -23,7 +23,9 @@ Set up [Mosquitto](https://mosquitto.org/) as MQTT broker.
|
|||
"customize": {
|
||||
"active": false,
|
||||
"folder": "mosquitto"
|
||||
}
|
||||
},
|
||||
"certfile": "fullchain.pem",
|
||||
"keyfile": "privkey.pem"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
80
source/_addons/tellstick.markdown
Normal file
80
source/_addons/tellstick.markdown
Normal file
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
layout: page
|
||||
title: "TellStick"
|
||||
description: "Telldus TellStick service enabler and tools."
|
||||
date: 2017-11-30 21:43
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
featured: false
|
||||
---
|
||||
|
||||
Setting up the [Tellstick](http://telldus.com) service and tools contained in the [telldus-core](http://developer.telldus.com/) package and adding configuration to enable Tellstick and Tellstick Duo to work on your Hass.io.
|
||||
|
||||
|
||||
To use this add-on, you first install it from the list of Built-in add-ons in Hass.io.
|
||||
After installation you are presented with a default and example configuration, to alter this you must follow both the JSON format and also be aligned with the [valid parameters for Tellstick configuration file (tellstick.conf)](https://developer.telldus.com/wiki/TellStick_conf).
|
||||
|
||||
After any changes has been made to the configuration you need to restart the add-on for the changes to take effect.
|
||||
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **id** (*Required*): This is a number and must be unique for each device.
|
||||
- **name** (*Required*): A name for easy identification of the device.
|
||||
- **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down.
|
||||
- **model** (*Optional*): The parameter model is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus selflearning etc.
|
||||
- **house** (*Optional*): Depending on protocol the values here can vary a lot to identify or group per house or type.
|
||||
- **unit** (*Optional*): Unit identifier, in most cases a value between 1 to 16 and often used in combination with house.
|
||||
- **fade** (*Optional*): Fade is either `true` or `false` and tells a dimmer if is should fade smooth or instant between values (only for IKEA protocol as it seems).
|
||||
- **code** (*Optional*): A number series based on ones and zeroes often used for dip-switch based devices.
|
||||
|
||||
|
||||
|
||||
|
||||
In order to communicate with the add-on you will also need to add Hass.io specific data in the `configuration.yaml` file.
|
||||
For regular Home Assistant you only add `tellstick:` but for Hass.io and this add-on you need to add internal communication details.
|
||||
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
||||
tellstick:
|
||||
host: core-tellstick
|
||||
port: [50800, 50801]
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
To add [lights](https://home-assistant.io/components/light.tellstick/), [sensors](https://home-assistant.io/components/sensor.tellstick/) and [switches](https://home-assistant.io/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](https://home-assistant.io/components/tellstick/)
|
||||
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
|
||||
Example for adding more devices in the add-on configuration (note the comma separator between devices):
|
||||
|
||||
```json
|
||||
{
|
||||
"devices": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Outdoor light",
|
||||
"protocol": "everflourish",
|
||||
"model": "selflearning-switch",
|
||||
"house": "A",
|
||||
"unit": "1"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Hallway dimmer",
|
||||
"protocol": "risingsun",
|
||||
"model": "selflearning-dimmer",
|
||||
"house": "A",
|
||||
"unit": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
59
source/_components/ads.markdown
Normal file
59
source/_components/ads.markdown
Normal file
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
layout: page
|
||||
title: "ADS"
|
||||
description: Connect Home Assistant to TwinCAT devices via the ADS interface
|
||||
date: 2017-12-05 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: beckhoff.png
|
||||
ha_category: Hub
|
||||
ha_release: "0.60"
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The ADS (automation device specification) describes a device-independent and fieldbus independent interface for communication between [Beckhoff](https://www.beckhoff.com/) automation devices running [TwinCAT](http://www.beckhoff.hu/english.asp?twincat/default.htm) and other devices implementing this interface.
|
||||
|
||||
To enable ADS, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
ads:
|
||||
device: '127.0.0.1.1.1'
|
||||
port: 48898
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
device:
|
||||
required: true
|
||||
description: The AMS NetId that identifies the device.
|
||||
type: string
|
||||
port:
|
||||
required: true
|
||||
description: The port that runs the AMS server on the device, typically this would be 801 or 851.
|
||||
type: int
|
||||
ip_address:
|
||||
required: false
|
||||
description: The IP address of the ADS device, if not set the first 4 bytes of the device id will be used.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Service %}
|
||||
|
||||
The ADS component will register the service `write_by_name` allowing you to write a value to a variable on your ADS device.
|
||||
|
||||
```json
|
||||
{
|
||||
"adsvar": ".myvariable",
|
||||
"adstype": "int",
|
||||
"value": 123
|
||||
}
|
||||
```
|
||||
|
||||
Service parameters:
|
||||
|
||||
- **adsvar**: Name of the variable on the ADS device. To access global variables on *TwinCAT2* use a prepending dot `.myvariable`, for TwinCAT3 use
|
||||
`GBL.myvariable`.
|
||||
- **adstype**: Specify the type of the variable. Use one of the following: `int`, `byte`, `uint`, `bool`
|
||||
- **value**: The value that will be written in the variable.
|
|
@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling"
|
|||
---
|
||||
|
||||
|
||||
The `arlo` control panel platform allows you to control your [Arlo](https://arlo.netgear.com/) base stations.
|
||||
The `arlo` alarm control panel allows you to control your [Arlo](https://arlo.netgear.com/) base stations. You can use it to switch modes and trigger alarms from Home Assistant.
|
||||
|
||||
To get your [Arlo](https://arlo.netgear.com/) base stations working within Home Assistant, please follow the instructions for the general [Arlo component](/components/arlo).
|
||||
|
||||
|
@ -26,7 +26,53 @@ alarm_control_panel:
|
|||
- platform: arlo
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
home_mode_name:
|
||||
description: "Arlo base station does not have a built-in home mode. You can map one of your custom modes to home assistant's home mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match exactly as you set it up in the Arlo app."
|
||||
required: false
|
||||
type: string
|
||||
away_mode_name:
|
||||
description: "Arlo base station does not have a built-in away mode. You can map one of your custom modes to home assistant's away mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app."
|
||||
required: false
|
||||
type: string
|
||||
default: "`Armed` mode in Arlo"
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
These examples are based on an Arlo base station named `my_arlo_base_station`. Replace this with the name of your base station's `entity_id`.
|
||||
|
||||
Arming the Arlo Base Station when leaving.
|
||||
|
||||
```yaml
|
||||
- id: arm_arlo_when_leaving
|
||||
alias: Arm Arlo cameras when leaving
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: group.family
|
||||
from: home
|
||||
to: not_home
|
||||
action:
|
||||
service: alarm_control_panel.alarm_arm_away
|
||||
entity_id: alarm_control_panel.my_arlo_base_station
|
||||
```
|
||||
|
||||
Setting Arlo to a custom mode (mapped to `home_mode_name` in `configuration.yaml`) when arriving.
|
||||
|
||||
```yaml
|
||||
- id: disarm_arlo_when_arriving
|
||||
alias: Set Arlo cameras to Home mode when arriving
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: group.family
|
||||
from: not_home
|
||||
to: home
|
||||
action:
|
||||
service: alarm_control_panel.alarm_arm_home
|
||||
entity_id: alarm_control_panel.my_arlo_base_station
|
||||
```
|
||||
|
||||
You can also completely disarm the Arlo base station by calling the `alarm_control_panel.alarm_disarm` service, and trigger the alarm by calling the `alarm_control_panel.alarm_trigger` service.
|
||||
|
||||
More examples and configuration options can be found on the [Manual Alarm Control page](/components/alarm_control_panel.manual/#examples).
|
||||
|
||||
- **home_mode_name**: (*Optional*): Arlo base station does not have a built-in home mode. You can map one of your custom modes to home assistant's home mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match exactly as you set it up in the Arlo app.
|
||||
- **away_mode_name**: (*Optional*): Like the home mode, the Arlo base station does not have a built-in away mode, however, you can map a custom mode from the Arlo app to Home Assistant with this variable, just make sure the name matches exactly what you have set up in the Arlo app.
|
||||
|
|
48
source/_components/alarm_control_panel.ialarm.markdown
Normal file
48
source/_components/alarm_control_panel.ialarm.markdown
Normal file
|
@ -0,0 +1,48 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Antifurto365 iAlarm Control Panel"
|
||||
description: "Instructions how to integrate iAlarms alarms into Home Assistant."
|
||||
date: 2017-11-30 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: antifurto365-ialarm.png
|
||||
ha_category: Alarm
|
||||
ha_release: "0.60"
|
||||
---
|
||||
|
||||
The `ialarm` platform provides connectivity with the [Antifurto365](https://www.antifurtocasa365.it/) iAlarm alarm systems.
|
||||
|
||||
This platform supports the following services: `alarm_arm_away`, `alarm_arm_home` and `alarm_disarm`.
|
||||
|
||||
To enable this, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
alarm_control_panel:
|
||||
- platform: ialarm
|
||||
host: ALARM_SYSTEM_IP
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of the iAlarm device on your home network.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: Username used to sign into the iAlarm web client (should be admin by default).
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Password used to sign into the iAlarm web client.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name of device in Home Assistant.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
|
@ -25,13 +25,62 @@ Configuration variables:
|
|||
|
||||
- **name** (*Optional*): The name of the alarm. Default is "HA Alarm".
|
||||
- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend.
|
||||
- **pending_time** (*Optional*): The time in seconds of the pending time before arming the alarm. Default is 60 seconds.
|
||||
- **code_template** (*Optional*): If defined, returns a code to enable or disable the alarm in the frontend; an empty string disables checking the code. Inside the template, the variables **from_state** and **to_state** identify the current and desired state. Only one of **code** and **code_template** can be specified.
|
||||
- **delay_time** (*Optional*): The time in seconds of the pending time before triggering the alarm. Default is 0 seconds.
|
||||
- **pending_time** (*Optional*): The time in seconds of the pending time before effecting a state change. Default is 60 seconds.
|
||||
- **trigger_time** (*Optional*): The time in seconds of the trigger time in which the alarm is firing. Default is 120 seconds.
|
||||
- **disarm_after_trigger** (*Optional*): If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state.
|
||||
- **armed_home/armed_away/armed_night/triggered** (*Optional*): State specific settings
|
||||
- **pending_time**: State specific pending time override.
|
||||
- **armed_custom_bypass/armed_home/armed_away/armed_night/disarmed/triggered** (*Optional*): State specific settings
|
||||
- **delay_time** (*Optional*): State specific setting for **delay_time** (all states except **triggered**)
|
||||
- **pending_time** (*Optional*): State specific setting for **pending_time** (all states except **disarmed**)
|
||||
- **trigger_time** (*Optional*): State specific setting for **trigger_time** (all states except **triggered**)
|
||||
|
||||
In the config example below, armed_home state will have no pending time and triggered state will have pending time of 20 second whereas armed_away state will have a default pending time of 30 seconds.
|
||||
## {% linkable_title State machine %}
|
||||
|
||||
The state machine of the manual alarm component is complex but powerful. The
|
||||
transitions are timed according to three values, **delay_time**, **pending_time**
|
||||
and **trigger_time**. The values in turn can come from the default configuration
|
||||
variable or from a state-specific override.
|
||||
|
||||
When the alarm is armed, its state first goes to **pending** for a number
|
||||
of seconds equal to the destination state's **pending_time**, and then
|
||||
transitions to one of the "armed" states. Note that **code_template**
|
||||
never receives "pending" in the **to_state** variable; instead,
|
||||
**to_state** contains the state which the user has requested. However,
|
||||
**from_state** *can* contain "pending".
|
||||
|
||||
When the alarm is triggered, its state goes to **pending** for a number of
|
||||
seconds equal to the previous state's **delay_time** plus the triggered
|
||||
state's **pending_time**. Then the alarm transitions to the "triggered"
|
||||
states. The code is never checked when triggering the alarm, so the
|
||||
**to_state** variable of **code_template** cannot ever contain "triggered"
|
||||
either; again, **from_state** *can* contain "triggered".
|
||||
|
||||
The alarm remains in the "triggered" state for a number of seconds equal to the
|
||||
previous state's **trigger_time**. Then, depending on **disarm_after_trigger**,
|
||||
it goes back to either the previous state or **disarmed**. If the previous
|
||||
state's **trigger_time** is zero, the transition to "triggered" is entirely
|
||||
blocked and the alarm remains in the armed state.
|
||||
|
||||
Each of the settings is useful in different scenarios. **pending_time** gives
|
||||
you some time to leave the building (for "armed" states) or to disarm the alarm
|
||||
(for the "triggered" state).
|
||||
|
||||
**delay_time** can also be used to allow some time to disarm the alarm, but with
|
||||
more flexibility. For example, you could specify a delay time for the
|
||||
"armed away" state, in order to avoid triggering the alarm while the
|
||||
garage door opens, but not for the "armed home" state.
|
||||
|
||||
**trigger_time** is useful to disable the alarm when disarmed, but it can also
|
||||
be used for example to sound the siren for a shorter time during the night.
|
||||
|
||||
In the config example below:
|
||||
|
||||
- the disarmed state never triggers the alarm;
|
||||
|
||||
- the armed_home state will leave no time to leave the building or disarm the alarm;
|
||||
|
||||
- while other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -40,11 +89,13 @@ alarm_control_panel:
|
|||
name: Home Alarm
|
||||
code: 1234
|
||||
pending_time: 30
|
||||
delay_time: 20
|
||||
trigger_time: 4
|
||||
disarmed:
|
||||
trigger_time: 0
|
||||
armed_home:
|
||||
pending_time: 0
|
||||
triggered:
|
||||
pending_time: 20
|
||||
trigger_time: 4
|
||||
delay_time: 0
|
||||
```
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
|
|
@ -42,15 +42,21 @@ alarm_control_panel:
|
|||
|
||||
Configuration variables:
|
||||
|
||||
All configuration variables from the base manual alarm platform are available:
|
||||
The following configuration variables from the base manual alarm platform are available:
|
||||
|
||||
- **name** (*Optional*): The name of the alarm. Default is "HA Alarm".
|
||||
- **code** (*Optional*): If defined, specifies a code to enable or disable the alarm in the frontend. This code is not required for MQTT interactions.
|
||||
- **pending_time** (*Optional*): The time in seconds of the pending time before arming the alarm. Default is 60 seconds.
|
||||
- **code_template** (*Optional*): If defined, returns a code to enable or disable the alarm in the frontend; an empty string disables checking the code. Inside the template, the variables **from_state** and **to_state** identify the current and desired state. Only one of **code** and **code_template** can be specified.
|
||||
- **delay_time** (*Optional*): The time in seconds of the pending time before triggering the alarm. Default is 0 seconds.
|
||||
- **pending_time** (*Optional*): The time in seconds of the pending time before effecting a state change. Default is 60 seconds.
|
||||
- **trigger_time** (*Optional*): The time in seconds of the trigger time in which the alarm is firing. Default is 120 seconds.
|
||||
- **disarm_after_trigger** (*Optional*): If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state.
|
||||
- **armed_home|armed_away|armed_night|triggered** (*Optional*): State specific settings
|
||||
- **pending_time**: State specific pending time override.
|
||||
- **armed_home/armed_away/armed_night/disarmed/triggered** (*Optional*): State specific settings
|
||||
- **delay_time** (*Optional*): State specific setting for **delay_time** (all states except **triggered**)
|
||||
- **pending_time** (*Optional*): State specific setting for **pending_time** (all states except **disarmed**)
|
||||
- **trigger_time** (*Optional*): State specific setting for **trigger_time** (all states except **triggered**)
|
||||
|
||||
See the documentation for the [manual alarm platform](../alarm_control_panel.manual/) for a description.
|
||||
|
||||
Additionally, the following MQTT configuration variables are also available:
|
||||
|
||||
|
@ -62,7 +68,13 @@ Additionally, the following MQTT configuration variables are also available:
|
|||
- **payload_arm_away** (*Optional*): The payload to set armed-away mode on this Alarm Panel. Default is "ARM_AWAY".
|
||||
- **payload_arm_night** (*Optional*): The payload to set armed-night mode on this Alarm Panel. Default is "ARM_NIGHT".
|
||||
|
||||
In the config example below, armed_home state will have no pending time and triggered state will have a pending time of 20 seconds whereas armed_away state will have a default pending time of 30 seconds.
|
||||
In the config example below:
|
||||
|
||||
- the disarmed state never triggers the alarm;
|
||||
|
||||
- the armed_home state will leave no time to leave the building or disarm the alarm;
|
||||
|
||||
- while other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
@ -71,11 +83,13 @@ alarm_control_panel:
|
|||
state_topic: home/alarm
|
||||
command_topic: home/alarm/set
|
||||
pending_time: 30
|
||||
delay_time: 20
|
||||
trigger_time: 4
|
||||
disarmed:
|
||||
trigger_time: 0
|
||||
armed_home:
|
||||
pending_time: 0
|
||||
triggered:
|
||||
pending_time: 20
|
||||
trigger_time: 4
|
||||
delay_time: 0
|
||||
```
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
|
|
@ -18,3 +18,19 @@ The `spc` alarm control panel platform allows you to control your [Vanderbilt SP
|
|||
|
||||
The requirement is that you have setup your [SPC hub](/components/spc/).
|
||||
|
||||
The `changed_by` attribute enables one to be able to take different actions depending on who armed/disarmed the alarm in [automation](/getting-started/automation/).
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Alarm status changed
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: alarm_control_panel.alarm_1
|
||||
action:
|
||||
- service: notify.notify
|
||||
data_template:
|
||||
message: >
|
||||
{% raw %}Alarm changed from {{ trigger.from_state.state }}
|
||||
to {{ trigger.to_state.state }}
|
||||
by {{ trigger.to_state.attributes.changed_by }}{% endraw %}
|
||||
```
|
||||
|
|
|
@ -135,6 +135,13 @@ Custom slot type for scene support.
|
|||
|
||||
The names must exactly match the scene names (minus underscores - amazon discards them anyway and we later map them back in with the template).
|
||||
|
||||
In the new Alexa Skills Kit, you can also create synonyms for slot type values, which can be used in place of the base value in utterances. Synonyms will be replaced with their associated slot value in the intent request sent to the Alexa API endpoint, but only if there are not multiple synonym matches. Otherwise, the value of the synonym that was spoken will be used.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/components/alexa/scene_slot_synonyms.png' />
|
||||
Custom slot values with synonyms.
|
||||
</p>
|
||||
|
||||
Add a sample utterance:
|
||||
|
||||
```text
|
||||
|
|
|
@ -68,10 +68,6 @@ axis:
|
|||
location: köket
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
If you are using Python 3.6, you might need to replace the 34m with 36m in the _gi.*.so filename in the gi folder.
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
Any specific levels for triggers needs to be configured on the device.
|
||||
</p>
|
||||
|
|
41
source/_components/binary_sensor.ads.markdown
Normal file
41
source/_components/binary_sensor.ads.markdown
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
layout: page
|
||||
title: "ADS Binary Sensor"
|
||||
description: "Instructions on how to set up ADS binary sensors within Home Assistant."
|
||||
date: 2017-10-25 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: beckhoff.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: "0.60"
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `ads` binary sensor platform can be used to monitor a boolean value on your ADS device.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](/components/ads/) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
- platform: ads
|
||||
adsvar: .boolean1
|
||||
```
|
||||
|
||||
{% 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
|
||||
{% endconfiguration %}
|
|
@ -26,7 +26,10 @@ binary_sensor:
|
|||
- 'coreos-512mb-nyc3-01'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **droplets** (*Required*): List of droplets you want to control.
|
||||
{% configuration %}
|
||||
droplets:
|
||||
description: List of droplets you want to monitor.
|
||||
required: true
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
|
|
28
source/_components/binary_sensor.hive.markdown
Normal file
28
source/_components/binary_sensor.hive.markdown
Normal file
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Hive Sensor"
|
||||
description: "Instructions on how to integrate Hive Sensors with Home Assistant."
|
||||
date: 2017-09-24 21:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: hive.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.59
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
|
||||
The 'hive' binary sensor component integrates your Hive sensors into Home Assistant.
|
||||
|
||||
The Hive sensor component supports the following Hive products:
|
||||
- **Hive Window or Door Sensor**
|
||||
- **Hive Motion Sensor**
|
||||
|
||||
|
||||
<p class='note'>
|
||||
Full configuration details can be found on the main [Hive component](/components/hive/) page.
|
||||
</p>
|
||||
|
||||
|
|
@ -25,9 +25,13 @@ binary_sensor:
|
|||
- platform: iss
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **show_on_map** (*Optional*): Option to show the position of the ISS on the map. Defaults to `False`.
|
||||
{% configuration %}
|
||||
show_on_map:
|
||||
description: Option to show the position of the ISS on the map.
|
||||
required: optional
|
||||
default: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note warning'>
|
||||
If you set `show_on_map` `True` then the location attributes are named `latitude` and `longitude`. The default name of the location attributes is `lat` and `long` to avoid showing them on the map.
|
||||
|
|
|
@ -14,6 +14,7 @@ Binary sensors gather information about the state of devices which have a "digit
|
|||
The way these sensors are displayed in the frontend can be modified in the [customize section](/getting-started/customizing-devices/). The following device classes are supported for binary sensors:
|
||||
|
||||
- **None**: Generic on/off. This is the default and doesn't need to be set.
|
||||
- **battery**: `On` means low, `Off` means normal
|
||||
- **cold**: `On` means cold
|
||||
- **connectivity**: `On` means connection present, `Off` means no connection
|
||||
- **gas**: `On` means gas detected
|
||||
|
@ -26,6 +27,7 @@ The way these sensors are displayed in the frontend can be modified in the [cust
|
|||
- **opening**: `On` means open, `Off` means closed
|
||||
- **plug**: `On` means device is plugged in, `Off` means device is unplugged
|
||||
- **power**: Power, over-current, etc.
|
||||
- **presence**: `On` means Home, `Off` means Away
|
||||
- **safety**: `On` means unsafe, `Off` means safe
|
||||
- **smoke**: `On` means smoke detected
|
||||
- **sound**: `On` means sound detected, `Off` means no sound
|
||||
|
|
|
@ -25,10 +25,10 @@ binary_sensor:
|
|||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
See the [entity component options](/docs/configuration/platform_options/) to control how often the main component polls the random binary sensor. The default is 30 seconds.
|
||||
|
|
|
@ -158,7 +158,7 @@ binary_sensor:
|
|||
This example creates a washing machine "load running" sensor by monitoring an
|
||||
energy meter connected to the washer. During the washer's operation, the energy
|
||||
meter will fluctuate wildly, hitting zero frequently even before the load is
|
||||
finished. By utilizing `off_delay`, we can have this sensor only turn off if
|
||||
finished. By utilizing `delay_off`, we can have this sensor only turn off if
|
||||
there has been no washer activity for 5 minutes.
|
||||
|
||||
{% raw %}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Ring Binary Camera"
|
||||
title: "Ring Camera"
|
||||
description: "Instructions on how to integrate your Ring.com devices within Home Assistant."
|
||||
date: 2017-10-20 10:00
|
||||
sidebar: true
|
||||
|
@ -13,7 +13,7 @@ ha_release: 0.57
|
|||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring).
|
||||
To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). Please note that downloading and playing Ring video will require a Ring Protect plan.
|
||||
|
||||
Once you have enabled the [Ring component](/components/ring), add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -32,19 +32,30 @@ Configuration variables:
|
|||
|
||||
Currently it supports doorbell and stickup cameras.
|
||||
|
||||
## {% linkable_title Saving the videos captured by your Ring Door Bell %}
|
||||
|
||||
## {% linkable_title Saving locally the videos captured by your Ring Door Bell %}
|
||||
You can save locally the latest video captured by your Ring Door Bell using the [downloader](/components/downloader) along with either an [automation](/components/automation) or [python_script](/components/python_script). First, enable the [downloader](/components/downloader) component in your configuration by adding the following to your `configuration.yaml`.
|
||||
|
||||
You can save locally the latest video captured by your Ring Door Bell by enabling the [downloader](/components/downloader) and the [python_scripts](/components/python_script) components.
|
||||
|
||||
- Add to the `configuration.yaml` the `downloader` and `python_scripts`. Visit the component page for further details.
|
||||
|
||||
```json
|
||||
python_script:
|
||||
```yaml
|
||||
downloader:
|
||||
download_dir: downloads
|
||||
```
|
||||
- Create a file `ring_downloader.py` in the folder `<config>/python_scripts` and give it this content:
|
||||
Then you can use the following `action` in your automation (this will save the video file under `<config>/downloads/ring_<camera_name>/`):
|
||||
|
||||
```yaml
|
||||
action:
|
||||
- service: downloader.download_file
|
||||
data_template:
|
||||
url: "{{ states.camera.front_door.attributes.video_url }}"
|
||||
subdir: "{{states.camera.front_door.attributes.friendly_name}}"
|
||||
filename: "{{states.camera.front_door.attributes.friendly_name}}"
|
||||
```
|
||||
|
||||
If you want to use `python_script`, enable it your `configuration.yaml` file first:
|
||||
```yaml
|
||||
python_script:
|
||||
```
|
||||
You can then use the following `python_script` to save the video file:
|
||||
|
||||
```python
|
||||
# obtain ring doorbell camera object
|
||||
|
@ -57,15 +68,9 @@ subdir_name = 'ring_{}'.format(ring_cam.attributes.get('friendly_name'))
|
|||
data = {
|
||||
'url': ring_cam.attributes.get('video_url'),
|
||||
'subdir': subdir_name,
|
||||
'filename': ring_cam.attributes.get('friendly_name')
|
||||
}
|
||||
|
||||
# call downloader component to save the video
|
||||
hass.services.call('downloader', 'download_file', data)
|
||||
```
|
||||
|
||||
- Start Home Assistant
|
||||
- Call the server `python_script/ring_downloader`
|
||||
|
||||
You should be able to see a video file saved under `<config>/<downloader_dir>/ring_<camera_name>/`.
|
||||
|
||||
You can also automate the process by integrating it with the (automation)[/components/automation) component.
|
||||
|
|
29
source/_components/climate.hive.markdown
Normal file
29
source/_components/climate.hive.markdown
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Hive Thermostat"
|
||||
description: "Instructions on how to integrate Hive thermostat(s) with Home Assistant."
|
||||
date: 2017-09-24 21:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: hive.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.59
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
|
||||
The 'hive' climate component integrates your Hive thermostat and hot water into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
|
||||
|
||||
The Hive climate component supports the following Hive products:
|
||||
- **Hive Active Heating**
|
||||
- **Hive Multizone**
|
||||
- **Hot water control**
|
||||
|
||||
|
||||
<p class='note'>
|
||||
Full configuration details can be found on the main [Hive component](/components/hive/) page.
|
||||
</p>
|
||||
|
||||
|
|
@ -25,10 +25,11 @@ To use your KNX thermostats in your installation, add the following lines to you
|
|||
climate:
|
||||
- platform: knx
|
||||
name: HASS-Kitchen.Temperature
|
||||
temperature_address: '6/2/1'
|
||||
setpoint_address: '5/1/2'
|
||||
target_temperature_address: '5/1/1'
|
||||
operation_mode_address: '5/1/3'
|
||||
temperature_address: '5/1/1'
|
||||
setpoint_shift_address: '5/1/2'
|
||||
setpoint_shift_state_address: '5/1/3'
|
||||
target_temperature_address: '5/1/4'
|
||||
operation_mode_address: '5/1/5'
|
||||
```
|
||||
|
||||
Alternatively, if your device has dedicated binary group addresses for frost/night/comfort mode:
|
||||
|
@ -38,12 +39,13 @@ Alternatively, if your device has dedicated binary group addresses for frost/nig
|
|||
climate:
|
||||
- platform: knx
|
||||
name: HASS-Kitchen.Temperature
|
||||
temperature_address: '6/2/1'
|
||||
setpoint_address: '5/1/2'
|
||||
target_temperature_address: '5/1/1'
|
||||
operation_mode_frost_protection_address: '5/1/3'
|
||||
operation_mode_night_address: '5/1/4'
|
||||
operation_mode_comfort_address: '5/1/5'
|
||||
temperature_address: '5/1/1'
|
||||
setpoint_shift_address: '5/1/2'
|
||||
setpoint_shift_state_address: '5/1/3'
|
||||
target_temperature_address: '5/1/4'
|
||||
operation_mode_frost_protection_address: '5/1/5'
|
||||
operation_mode_night_address: '5/1/6'
|
||||
operation_mode_comfort_address: '5/1/7'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -51,7 +53,16 @@ Configuration variables:
|
|||
- **name** (*Optional*): A name for this device used within Home Assistant.
|
||||
- **temperature_address**: KNX group address for reading current room temperature from KNX bus.
|
||||
- **target_temperature_address**: KNX group address for reading current target temperature from KNX bus.
|
||||
- **setpoint_address**: KNX group address for basis setpoint
|
||||
|
||||
The `knx` component sets the desired target temperature by modifying the setpoint_shift. The module provides the following configuration options:
|
||||
|
||||
* **setpoint_shift_address**: (*Optional*) KNX address for setpoint_shift
|
||||
* **setpoint_shift_state_address**: (*Optional*) Explicit KNX address for reading setpoint_shift.
|
||||
* **setpoint_shift_step**: (*Optional*) Defines for step size in Kelvin for each step of setpoint_shift. Default is 0.5 K.
|
||||
* **setpoint_shift_min**: (*Optional*) Minimum value of setpoint shift. Default is "-6".
|
||||
* **setpoint_shift_max**: (*Optional*) Maximum value of setpoint shift. Default is "6".
|
||||
|
||||
The operation modes may be controlled with the following directives:
|
||||
|
||||
- **operation_mode_address** (*Optional*): KNX address for operation mode (Frost protection/night/comfort).
|
||||
- **operation_mode_state_address** (*Optional*): Explicit KNX address for reading operation mode
|
||||
|
@ -63,5 +74,3 @@ Configuration variables:
|
|||
- **operation_mode_comfort_address** (*Optional*): KNX address for switching on/off comfort mode.
|
||||
|
||||
`operation_mode_frost_protection_address` / `operation_mode_night_address` / `operation_mode_comfort_address` are not necessary if `operation_mode_address` was specified.
|
||||
|
||||
|
||||
|
|
92
source/_components/cloud.markdown
Normal file
92
source/_components/cloud.markdown
Normal file
|
@ -0,0 +1,92 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Cloud"
|
||||
description: "Enable the Home Assistant Cloud integration."
|
||||
date: 2017-11-17 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_release: 0.57
|
||||
---
|
||||
|
||||
<p class='note warning'>
|
||||
Home Assistant Cloud is currently in private beta.
|
||||
</p>
|
||||
|
||||
The Home Assistant Cloud allows you to quickly integrate your local instance with various cloud services. Any processing of services from other cloud services is handled by your local instance.
|
||||
|
||||
To get started, create an account and log in via the configuration panel in your Home Assistant instance. There is no need to configure your router or expose your instance to the internet in any other way.
|
||||
|
||||
### {% linkable_title Amazon Alexa %}
|
||||
|
||||
The Alexa integration allows users to control the entities via the [Home Assistant Smart Home skill for Alexa][alexa skill]. This means that you can say things like "Alexa, turn on the kitchen light" to control your local instance.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry configuring Alexa
|
||||
cloud:
|
||||
alexa:
|
||||
filter:
|
||||
include_entities:
|
||||
- light.kitchen
|
||||
include_domains:
|
||||
- switch
|
||||
exclude_entities:
|
||||
- light.living_room
|
||||
exclude_domains:
|
||||
- script
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
alexa:
|
||||
description: Configuration options for the Amazon Alexa integration.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
filter:
|
||||
description: Filters for entities to include/exclude from Alexa.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
include_entities:
|
||||
description: Entity IDs to include.
|
||||
required: false
|
||||
type: list
|
||||
include_domains:
|
||||
description: Domains to include.
|
||||
required: false
|
||||
type: list
|
||||
exclude_entities:
|
||||
description: Entity IDs to exclude.
|
||||
required: false
|
||||
type: list
|
||||
exclude_domains:
|
||||
description: Domains to exclude.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Possible values for customize %}
|
||||
|
||||
| Attribute | Description |
|
||||
| --------- | ----------- |
|
||||
| `alexa_hidden` | Hide the entity from the Alexa smart home devices.
|
||||
| `alexa_name` | Defines name of the entity for a Alexa smart home device. Useful if you have an entity with a friendly name in a local language that you want to access using an English sounding name.
|
||||
| `alexa_description` | The description of the device in the Alexa smart home device list.
|
||||
| `alexa_display_categories` | Set displayCategories, useful for things like media_player (TV/SPEAKERS) or scene (ACTIVITY_TRIGGER/SCENE_TRIGGER). More info can be found [here](https://developer.amazon.com/docs/device-apis/alexa-discovery.html#display-categories).
|
||||
|
||||
### {% linkable_title Available domains %}
|
||||
Currently, the following domains are available to be used with Alexa:
|
||||
- alert
|
||||
- automation
|
||||
- cover
|
||||
- light
|
||||
- fan (supports on/off and set speed)
|
||||
- group
|
||||
- lock (lock and unlock, but unlock is untested as Amazon has disabled unlock for now)
|
||||
- media_player (play, pause, stop, set volume, adjust volume, next track and previous track)
|
||||
- scene
|
||||
- switch
|
||||
|
||||
[alexa skill]: https://alexa.amazon.com/spa/index.html#skills/dp/B0772J1QKB/?ref=skill_dsk_skb_sr_2
|
21
source/_components/cover.tahoma.markdown
Normal file
21
source/_components/cover.tahoma.markdown
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Tahoma Cover"
|
||||
description: "Instructions how to integrate Tahoma covers into Home Assistant."
|
||||
date: 2017-07-18 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: tahoma.png
|
||||
ha_category: Cover
|
||||
ha_release: 0.59
|
||||
---
|
||||
|
||||
To use your tahoma covers in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
``yaml
|
||||
# Example configuration.yml entry
|
||||
cover:
|
||||
platform: tahoma
|
||||
```
|
44
source/_components/device_tracker.hitron_coda.markdown
Normal file
44
source/_components/device_tracker.hitron_coda.markdown
Normal file
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Hitron CODA Routers"
|
||||
description: "Instructions on how to integrate Hitron CODA Routers into Home Assistant."
|
||||
date: 2017-10-03 15:40
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: hitron.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.58
|
||||
---
|
||||
|
||||
This component offers presence detection by examining devices connected to a [Rogers Hitron CODA](https://www.rogers.com/customer/support/article/wi-fi-password-hitron-coda4582-cgn3amr-cgnm3552-cgn3acr-cgn3)
|
||||
Router.
|
||||
|
||||
To use a Hitron router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: hitron_coda
|
||||
host: !secret router_ip
|
||||
username: !secret router_username
|
||||
password: !secret router_password
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The IP address of your router, e.g., `192.168.0.1`.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The username to login into the router (user should have read access to the web interface of the router). Usually "cusadmin".
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password for the specified username. Usually your WiFi password.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
|
@ -13,7 +13,7 @@ ha_release: 0.51
|
|||
---
|
||||
|
||||
This component offers presence detection by looking at connected devices to a [Huawei router](http://m.huawei.com/enmobile/enterprise/products/network/access/pon-one/hw-371813.htm).
|
||||
Currently, this was only tested with the Huawei HG8247H (used by Vodafone Portugal).
|
||||
Currently, this was only tested with the Huawei HG8247H and HG8247Q Smart Router (used by Vodafone Portugal).
|
||||
|
||||
To use a Huawei router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
|
|
@ -26,15 +26,19 @@ device_tracker:
|
|||
host: 192.168.1.1
|
||||
username: admin
|
||||
password: YOUR_PASSWORD
|
||||
new_device_defaults:
|
||||
track_new_devices: True
|
||||
hide_if_away: False
|
||||
|
||||
```
|
||||
|
||||
The following optional parameters can be used with any platform. However device tracker will only look for global settings under the configuration of the first configured platform:
|
||||
|
||||
| Parameter | Default | Description |
|
||||
|---------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `track_new_devices` | True | If new discovered devices are tracked by default |
|
||||
| `interval_seconds` | 12 | Seconds between each scan for new devices |
|
||||
| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (E.g. the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) |
|
||||
|----------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `interval_seconds` | 12 | Seconds between each scan for new devices |
|
||||
| `consider_home` | 180 | Seconds to wait till marking someone as not home after not being seen. This parameter is most useful for households with Apple iOS devices that go into sleep mode while still at home to conserve battery life. iPhones will occasionally drop off the network and then re-appear. `consider_home` helps prevent false alarms in presence detection when using IP scanners such as Nmap. `consider_home` accepts various time representations, (E.g. the following all represents 3 minutes: `180`, `0:03`, `0:03:00`) |
|
||||
| `new_device_defaults`| | Default values for new discovered devices. Available options `track_new_devices` (default: `True`), `hide_if_away` (default: `False`) |
|
||||
|
||||
The extended example from above would look like the following sample:
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ featured: false
|
|||
|
||||
As an alternative to the router-based device tracking, it is possible to directly scan the network for devices by using Nmap. The IP addresses to scan can be specified in any format that Nmap understands, including the network-prefix notation (`192.168.1.1/24`) and the range notation (`192.168.1.1-255`).
|
||||
|
||||
If you're on Debian or Ubuntu, you might have to install the packages for `arp` and `nmap`. Do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
|
||||
You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
|
||||
|
||||
<p class='note'>
|
||||
If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fulfilled.
|
||||
|
@ -29,7 +29,7 @@ To use this device tracker in your installation, add the following to your `conf
|
|||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: nmap_tracker
|
||||
hosts: 192.168.1.1/24
|
||||
hosts: 192.168.1.0/24
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -47,7 +47,7 @@ A full example for the `nmap` tracker could look like the following sample:
|
|||
# One whole subnet, and skipping two specific IPs.
|
||||
device_tracker:
|
||||
- platform: nmap_tracker
|
||||
hosts: 192.168.1.1/24
|
||||
hosts: 192.168.1.0/24
|
||||
home_interval: 10
|
||||
exclude:
|
||||
- 192.168.1.12
|
||||
|
@ -60,7 +60,7 @@ device_tracker:
|
|||
device_tracker:
|
||||
- platform: nmap_tracker
|
||||
hosts:
|
||||
- 192.168.1.1/24
|
||||
- 192.168.1.0/24
|
||||
- 10.0.0.2
|
||||
- 10.0.0.15
|
||||
```
|
||||
|
|
|
@ -19,7 +19,7 @@ A lot WiFi access points and WiFi routers support the Simple Network Management
|
|||
This device tracker needs SNMP to be enabled on the router. It could be that you need to install the SNMP support manually.
|
||||
</p>
|
||||
|
||||
OID examples:
|
||||
The following OID examples pull the current MAC Address table from a router. This reflects all recent devices seen on the network. However, since devices are not removed until they time out, this is less effective for [device tracker component page](/components/device_tracker/) than desirable. It is recommended to use [Ping](/components/device_tracker.ping/) or [NMAP](/components/device_tracker.nmap_tracker/) instead.
|
||||
|
||||
| Brand | Device/Firmware | OID |
|
||||
|---|---|---|---|
|
||||
|
@ -33,6 +33,7 @@ OID examples:
|
|||
| TP-Link | Archer VR600 | `1.3.6.1.2.1.3.1.1.2` |
|
||||
| EdgeRouter | Lite v1.9.0 | `1.3.6.1.2.1.4.22.1.2` |
|
||||
| Ruckus | ZoneDirector 9.13.3 | `1.3.6.1.4.1.25053.1.2.2.1.1.3.1.1.1.6` |
|
||||
| DD-WRT | unknown RouterOS version/model | `1.3.6.1.2.1.4.22.1.2` |
|
||||
|
||||
To use the SNMP version 1 platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
|
46
source/_components/device_tracker.tile.markdown
Normal file
46
source/_components/device_tracker.tile.markdown
Normal file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Tile"
|
||||
description: "Instructions how to use Tile to track devices in Home Assistant."
|
||||
date: 2017-11-08 20:40:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: tile.png
|
||||
ha_release: 0.58
|
||||
ha_category: Presence Detection
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `tile` platform allows Home Assistant to utilize [Tile® Bluetooth trackers](https://www.thetileapp.com).
|
||||
The official Tile mobile app handles the actual tracking of Tile devices using
|
||||
the mobile device's Bluetooth and GPS.
|
||||
|
||||
To integrate Tile into Home Assistant, add the following section to your
|
||||
`configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
device_tracker:
|
||||
- platform: tile
|
||||
username: email@address.com
|
||||
password: MY_PASSWORD_123
|
||||
monitored_variables:
|
||||
- TILE
|
||||
- PHONE
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: the email address for the Tile account
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: the password for the Tile account
|
||||
required: true
|
||||
type: string
|
||||
monitored_variables:
|
||||
description: the Tile types to monitor; valid values are `TILE` and `PHONE` (default is for all types to be included)
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
|
@ -36,3 +36,9 @@ Configuration variables:
|
|||
- **detection_time** (*Optional*): The Unifi component will not return a device that has not been seen by the controller in the last 180 seconds. You can adjust this threshold with this variable and accepts seconds or `00:00:00` time formats.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
||||
<p class='note'>
|
||||
If you decide to install the Unifi Controller on the same system as your Home Assistant, be aware there may be overlap in ports if you have the MQTT component as well.
|
||||
|
||||
[Related Issue](https://github.com/home-assistant/home-assistant/issues/10507)
|
||||
</p>
|
||||
|
|
45
source/_components/device_tracker.unifi_direct.markdown
Normal file
45
source/_components/device_tracker.unifi_direct.markdown
Normal file
|
@ -0,0 +1,45 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Ubiquiti Unifi direct AP"
|
||||
description: "Instructions how to use a Unifi WAP as a device tracker."
|
||||
date: 2017-11-17 14:59
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ubiquiti.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: 0.59
|
||||
---
|
||||
|
||||
|
||||
This platform allows you to detect presence by looking at devices connected to a [UniFi AP](https://www.ubnt.com/products/#unifi). This device tracker differs form [Ubiquiti Unifi WAP](https://home-assistant.io/components/device_tracker.unifi/) because it doesn't require the Unifi controller software.
|
||||
|
||||
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: unifi_direct
|
||||
host: YOUR_AP_IP_ADDRESS
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
host:
|
||||
description: The hostname or IP address of your Unifi AP.
|
||||
required: true
|
||||
type: string
|
||||
username:
|
||||
description: The username used to connect to your Unifi AP.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password used to connect to your Unifi AP.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
||||
|
|
@ -26,6 +26,10 @@ digital_ocean:
|
|||
access_token: YOUR_API_KEY
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
access_token:
|
||||
description: Your Digital Ocean API access token.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
- **access_token** (*Required*): Your Digital Ocean API access token.
|
||||
|
|
|
@ -35,6 +35,7 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi
|
|||
* [SABnzbd downloader](https://home-assistant.io/components/sensor.sabnzbd/)
|
||||
* [Samsung TVs](https://home-assistant.io/components/media_player.samsungtv/)
|
||||
* [Sonos speakers](https://home-assistant.io/components/media_player.sonos/)
|
||||
* [Telldus Live](https://home-assistant.io/components/tellduslive/)
|
||||
* [Yamaha media player](https://home-assistant.io/components/media_player.yamaha/)
|
||||
* [Yeelight Sunflower bulb](https://home-assistant.io/components/light.yeelightsunflower/)
|
||||
|
||||
|
@ -77,6 +78,7 @@ Valid values for ignore are:
|
|||
* `sabnzbd`: SABnzbd downloader
|
||||
* `samsung_tv`: Samsung TVs
|
||||
* `sonos`: Sonos speakers
|
||||
* `tellduslive`: Telldus Live
|
||||
* `yamaha`: Yamaha media player
|
||||
* `yeelight`: Yeelight Sunflower bulb
|
||||
|
||||
|
@ -94,7 +96,9 @@ If you are on Windows and you're using Python 3.5, download the [Netifaces](http
|
|||
</p>
|
||||
|
||||
<p class='note'>
|
||||
If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of home-assistant, discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.
|
||||
If you see `Not initializing discovery because could not install dependency netdisco==0.6.1` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of Home Assistant, the discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.
|
||||
|
||||
For DSM/Synology, install via debian-chroot [see this forum post](https://community.home-assistant.io/t/error-starting-home-assistant-on-synology-for-first-time/917/15).
|
||||
</p>
|
||||
|
||||
If you are developing a new platform, please read [how to make your platform discoverable](/developers/component_discovery/) for further details.
|
||||
|
|
80
source/_components/dominos.markdown
Normal file
80
source/_components/dominos.markdown
Normal file
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Dominos Pizza"
|
||||
description: "Instructions on how to setup Dominos Pizza ordering within Home Assistant."
|
||||
date: 2017-11-05 17:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: dominos.png
|
||||
ha_category: Other
|
||||
ha_version: 0.59
|
||||
---
|
||||
|
||||
The `Dominos` component allows you to order Dominos Pizza from within your Home Assistant scripts and automations.
|
||||
|
||||
At present, this component only supports ordering within Canada and the US.
|
||||
|
||||
To enable the component, you need to set up your customer information and define some orders.
|
||||
|
||||
Orders are a group of product codes. You can get these product codes by inspecting an order request from the Dominos web app, or you can [add this custom panel by following this readme](https://github.com/wardcraigj/hass-dominos-panel) to see the available product codes in a separate panel in your install.
|
||||
|
||||
Currently, there is no support in this component for toppings, coupons or order tracking.
|
||||
|
||||
```yaml
|
||||
dominos:
|
||||
country_code: ca
|
||||
first_name: Justin
|
||||
last_name: Trudeau
|
||||
email: justin.trudeau@parl.gc.ca
|
||||
phone: 6139950253
|
||||
address: 24 Sussex Dr, Ottawa, ON, K1M1M4
|
||||
orders:
|
||||
- name: Medium Pan
|
||||
codes:
|
||||
- P12IPAZA
|
||||
```
|
||||
|
||||
Now you can use the Dominos service to order pizza within your automations:
|
||||
|
||||
```yaml
|
||||
- service: dominos.order
|
||||
data:
|
||||
order_entity_id: dominos.medium_pan
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
country_code:
|
||||
required: true
|
||||
description: \'ca\' or \'us\', depending on your location
|
||||
type: string
|
||||
first_name:
|
||||
required: true
|
||||
description: Your first name
|
||||
type: string
|
||||
last_name:
|
||||
required: true
|
||||
description: Your last name
|
||||
type: string
|
||||
email:
|
||||
required: true
|
||||
description: Your email address
|
||||
type: string
|
||||
phone:
|
||||
required: true
|
||||
description: Your phone number
|
||||
type: string
|
||||
address:
|
||||
required: true
|
||||
description: Your delivery address
|
||||
type: string
|
||||
show_menu:
|
||||
required: false
|
||||
description: Dumps product codes from your nearest store into your log (for use in with the custom panel)
|
||||
type: integer
|
||||
orders:
|
||||
required: false
|
||||
description: Sets of product codes to use for ordering
|
||||
type: list
|
||||
{% endconfiguration %}
|
|
@ -61,3 +61,5 @@ Configuration variables:
|
|||
<img src='{{site_root}}/images/screenshots/ecobee-sensor-badges.png' />
|
||||
<img src='{{site_root}}/images/screenshots/ecobee-thermostat-card.png' />
|
||||
</p>
|
||||
|
||||
If for whatever reason you delete and re-create your ecobee app at ecobee.com such that your developer API key changes, you will need to delete your `/conf/ecobee.conf file`. You will also need to update the `api_key:` in the `configuration.yaml` or `secrets.yaml` file.
|
||||
|
|
|
@ -22,7 +22,7 @@ entities. The driving use case behind this functionality is to allow Home Assist
|
|||
The virtual bridge has the ability to turn entities on or off, or change the brightness of dimmable lights. The volume level of media players can be controlled as brightness.
|
||||
|
||||
<p class='note'>
|
||||
A physical Hue Bridge is required for the lights to function - this virtual bridge will not replace a physical bridge.
|
||||
A physical Hue Bridge is required for Philips Hue lights to function - this virtual bridge will not replace a physical bridge. Instead, it allows Home Assistant to represent non-Philips Hue devices to Amazon Echo as Philips Hue devices, which Amazon Echo can control with built-in support.
|
||||
</p>
|
||||
|
||||
<p class='note'>
|
||||
|
|
|
@ -13,7 +13,7 @@ ha_version: 0.57
|
|||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2. The Air Purifier Pro isn't supported right now.
|
||||
The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2, Air Purifier 2S andd Air Purifier Pro.
|
||||
|
||||
Currently, the supported features are
|
||||
|
||||
|
|
|
@ -19,6 +19,11 @@ frontend:
|
|||
```
|
||||
|
||||
{% configuration %}
|
||||
javascript_version:
|
||||
description: "Version of the JavaScript to serve to clients. Options: `es5` - transpiled so old browsers understand it. `latest` - not transpiled, so will work on recent browsers only. `auto` - select a version according to the browser user-agent. The value in the config can be overiden by putting `es5` or `latest` in the URL. For example `http://localhost:8123/states?es5` "
|
||||
required: false
|
||||
type: string
|
||||
default: es5
|
||||
themes:
|
||||
description: Allow to define different themes. See below for further details.
|
||||
required: false
|
||||
|
@ -34,7 +39,11 @@ frontend:
|
|||
required: true
|
||||
type: [list, string]
|
||||
extra_html_url:
|
||||
description: "List of addtional [resources](/developers/frontend_creating_custom_ui/) to load."
|
||||
description: "List of addtional [resources](/developers/frontend_creating_custom_ui/) to load in `latest` javascript mode."
|
||||
required: false
|
||||
type: list
|
||||
extra_html_url_es5:
|
||||
description: "List of addtional [resources](/developers/frontend_creating_custom_ui/) to load in `es5` javascript mode."
|
||||
required: false
|
||||
type: list
|
||||
development_repo:
|
||||
|
@ -101,8 +110,12 @@ automation:
|
|||
|
||||
### {% linkable_title Manual Theme Selection %}
|
||||
|
||||
When themes are enabled in the `configuration.yaml` file, a new option will show up in the Configuration panel under `configuration.yaml` called "Set a theme." You can then choose any installed theme from the dropdown list and it will be applied immediately.
|
||||
When themes are enabled in the `configuration.yaml` file, a new option will show up in the Configuration panel under **General** called "Set a theme." You can then choose any installed theme from the dropdown list and it will be applied immediately.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/frontend/choose-theme.png' />
|
||||
Set a theme
|
||||
</p>
|
||||
|
||||
## {% linkable_title Loading extra HTML %}
|
||||
|
||||
|
@ -118,4 +131,13 @@ frontend:
|
|||
- /file2.html
|
||||
```
|
||||
|
||||
Those will be loaded via `<link rel='import' href='{{ extra_url }}' async>` on any page (states and panels)
|
||||
Those will be loaded via `<link rel='import' href='{{ extra_url }}' async>` on any page (states and panels).
|
||||
|
||||
### {% linkable_title Manual Language Selection %}
|
||||
|
||||
The browser language is automatically detected. To use a different language, go to **General** in the Configuration panel and select a one from "Choose a Language". It will be applied immediately.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/frontend/choose-language.png' />
|
||||
Choose a Language
|
||||
</p>
|
||||
|
|
|
@ -28,6 +28,8 @@ google_assistant:
|
|||
project_id: someproject-2d0b8
|
||||
client_id: [long URL safe random string]
|
||||
access_token: [a different long URL safe random string]
|
||||
agent_user_id: [a string to identify user]
|
||||
api_key: [an API Key generated for the Google Actions project]
|
||||
exposed_domains:
|
||||
- switch
|
||||
- light
|
||||
|
@ -43,6 +45,8 @@ google_assistant:
|
|||
* *project_id* (Required): Project ID from the Google Developer console (looks like `words-2ab12`)
|
||||
* *client_id* (Required): A long random URL safe string (no spaces or special characters) that will be used for Implicit OAuth.
|
||||
* *access_token* (Required): Another different long random URL safe string.
|
||||
* *agent_user_id* (Optional): A string to identify the user, e.g., email address. If not provided, the component will generate one.
|
||||
* *api_key* (Optional): An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see setup below). If not provided then the request_sync service is not exposed.
|
||||
* *exposed_domains* (Optional): An array of Home Assistant domains to expose to Google Assistant. Options include:
|
||||
- `switch`
|
||||
- `light`
|
||||
|
@ -111,7 +115,7 @@ homeassistant:
|
|||
5. You'll need to fill out most of the information on that page, but none of it really matters since you won't be addressing the App directly, only through the Smart Home functionality built into Google Assistant.
|
||||
6. The final item on that page `Account linking` is required for your app to interact with Home Assistant.
|
||||
1. Grant type: `Implicit`
|
||||
2. Client ID: Should be the same as `client_id` from your hass config above
|
||||
2. Client ID: The `client_id` from your Home Assistant configuration above
|
||||
3. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth`
|
||||
4. Configure your client. Add scopes for `email` and `name`
|
||||
5. Testing instructions: doesn't matter since you won't submit this app
|
||||
|
@ -123,3 +127,10 @@ homeassistant:
|
|||
2. Under the gear icon, click `Permissions`
|
||||
3. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role
|
||||
4. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 7.
|
||||
11. If you want to use the `google_assistant.request_sync` service in Home Assistant, then enable Homegraph API for your project:
|
||||
1. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview)
|
||||
2. Select your project and click Enable Homegraph API
|
||||
3. Go to Credentials and select API Key from Create Credentials
|
||||
4. Note down the generated API Key and use this in the configuration
|
||||
|
||||
*Note:* The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlehome/answer/7506443?hl=en-GB) from Home Control and relink.
|
||||
|
|
|
@ -79,9 +79,7 @@ Notice in the example below that in order to refer to the group "Living Room", y
|
|||
entities:
|
||||
- light.light_family_1
|
||||
- binary_sensor.motion_living
|
||||
|
||||
Bedroom: light.light_bedroom, switch.sleeping
|
||||
|
||||
Rooms:
|
||||
view: yes
|
||||
name: Rooms
|
||||
|
@ -93,6 +91,7 @@ Notice in the example below that in order to refer to the group "Living Room", y
|
|||
## {% linkable_title Default groups %}
|
||||
|
||||
Some components automatically create special groups containing component entities. These groups are named like `group.all_...`, for example:
|
||||
|
||||
- `group.all_switches`
|
||||
- `group.all_lights`
|
||||
- `group.all_devices`
|
||||
|
@ -105,13 +104,11 @@ Default groups appear in the HOME tab, if not overridden by user views and group
|
|||
|
||||
```yaml
|
||||
# Example configuration.yaml to include default groups in custom view
|
||||
|
||||
customize:
|
||||
group.all_automations:
|
||||
hidden: false
|
||||
group.all_scripts:
|
||||
hidden: false
|
||||
|
||||
group:
|
||||
automation_view:
|
||||
name: Automation
|
||||
|
@ -124,3 +121,22 @@ group:
|
|||
## {% linkable_title Group behaviour %}
|
||||
|
||||
When any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`.
|
||||
|
||||
## {% linkable_title Customize group order %}
|
||||
You can also order your groups using [customize](/docs/configuration/customizing-devices/) with `order: ` if they don't show up in the order you want them in.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml to order groups with order:
|
||||
customize:
|
||||
group.all_automations:
|
||||
order: 1
|
||||
group.all_scripts:
|
||||
order: 2
|
||||
group:
|
||||
automation_view:
|
||||
name: Automation
|
||||
view: yes
|
||||
entities:
|
||||
- group.all_automations
|
||||
- group.all_scripts
|
||||
```
|
||||
|
|
54
source/_components/hive.markdown
Normal file
54
source/_components/hive.markdown
Normal file
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Hive"
|
||||
description: "Instructions on how to integrate Hive devices with Home Assistant."
|
||||
date: 2017-09-24 21:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: hive.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.59
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
|
||||
This Hive component is the main component to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all your Hive devices into Home Assistant, including support for multizone heating.
|
||||
|
||||
This component uses the unofficial API used in the official Hive website [https://my.hivehome.com](https://my.hivehome.com), and you will need to use the same Username and Password you use on the Hive website to configure this Hive component in Home Assistant.
|
||||
|
||||
To add your Hive devices into your Home Assistant installation, using the default scan_interval, add the following to your 'configuration.yaml' file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
hive:
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: Your username from [https://my.hivehome.com](https://my.hivehome.com).
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: Your password from [https://my.hivehome.com](https://my.hivehome.com).
|
||||
required: true
|
||||
type: string
|
||||
scan_interval:
|
||||
description: The time in minutes between Hive API calls
|
||||
required: false
|
||||
type: int
|
||||
default: 2
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
The Hive Home Assistant platform currently supports the following Hive devices:
|
||||
|
||||
- Hive Active Heating (including hot water and Hive Multizone)
|
||||
- Hive Active Light Dimmable
|
||||
- Hive Active Light Cool to Warm White
|
||||
- Hive Active Plug
|
||||
- Hive Window or Door Sensor
|
||||
- Hive Motion Sensor
|
|
@ -64,6 +64,7 @@ Choose "Webhooks" as service.
|
|||
You need to setup a unique trigger for each event you sent to IFTTT.
|
||||
</p>
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml Automation entry
|
||||
automation:
|
||||
|
@ -75,9 +76,11 @@ automation:
|
|||
service: ifttt.trigger
|
||||
data: {"event":"TestHA_Trigger", "value1":"Hello World!"}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
IFTTT can also be used in scripts and with `data_template`. Here is the above automation broken into an automation and script using variables and data_templates.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml Automation entry
|
||||
automation:
|
||||
|
@ -89,10 +92,12 @@ automation:
|
|||
service: script.ifttt_notify
|
||||
data_template:
|
||||
value1: 'HA Status:'
|
||||
value2: {% raw %}"{{ trigger.event.data.entity_id.split('_')[1] }} is "{% endraw %}
|
||||
value3: {% raw %}"{{ trigger.event.data.to_state.state }}"{% endraw %}
|
||||
value2: "{{ trigger.event.data.entity_id.split('_')[1] }} is "
|
||||
value3: "{{ trigger.event.data.to_state.state }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
#Example Script to send TestHA_Trigger to IFTTT but with some other data (homeassistant UP).
|
||||
ifttt_notify:
|
||||
|
@ -100,6 +105,7 @@ ifttt_notify:
|
|||
- service: ifttt.trigger
|
||||
data_template: {"event":"TestHA_Trigger", "value1":"{{ value1 }}", "value2":"{{ value2 }}", "value3":"{{ value3 }}"}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title Sending events from IFTTT to Home Assistant %}
|
||||
|
||||
|
|
|
@ -34,6 +34,8 @@ Configuration variables:
|
|||
- **database** (*Optional*): Name of the database to use. Defaults to `home_assistant`. The database must already exist.
|
||||
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false.
|
||||
- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false.
|
||||
- **max_retries** (*Optional*): Allow the component to retry if there was a network error when transmitting data
|
||||
- **retry_queue_limit** (*Optional*): If retry enabled, specify how much calls are allowed to be queued for retry.
|
||||
- **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id.
|
||||
- **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
|
||||
- **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](https://home-assistant.io/getting-started/customizing-devices/) for format.
|
||||
|
@ -175,6 +177,7 @@ influxdb:
|
|||
password: MY_PASSWORD
|
||||
ssl: true
|
||||
verify_ssl: true
|
||||
max_retries: 3
|
||||
default_measurement: state
|
||||
exclude:
|
||||
entities:
|
||||
|
|
|
@ -39,7 +39,7 @@ Configuration variables:
|
|||
- **name** (*Optional*): Friendly name of the datetime input.
|
||||
- **has_time** (*Optional*): Set to `true` if this input should have time. Defaults to `false`.
|
||||
- **has_date** (*Optional*): Set to `true` if this input should have a date. Defaults to `false`.
|
||||
- **initial** (*Optional*): Set the initial value of this input. Defaults to '1970-01-01 00:00'.
|
||||
- **initial** (*Optional*): Set the initial value of this input. Defaults to '1970-01-01 00:00'. If has_time is `false` this must be just a date (e.g.: '1970-01-01'). If has_date is `false` this must be just a time (e.g.: '15:16').
|
||||
|
||||
A datetime input entity's state exports several attributes that can be useful in automations and templates:
|
||||
|
||||
|
|
|
@ -55,11 +55,9 @@ Configuration variables:
|
|||
|
||||
Here's an example of `input_number` being used as a trigger in an automation.
|
||||
|
||||
```yaml
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry using 'input_number' as a trigger in an automation
|
||||
|
||||
# Define input_number
|
||||
input_number:
|
||||
bedroom_brightness:
|
||||
name: Brightness
|
||||
|
@ -67,8 +65,6 @@ input_number:
|
|||
min: 0
|
||||
max: 254
|
||||
step: 1
|
||||
|
||||
# Automation.
|
||||
automation:
|
||||
- alias: Bedroom Light - Adjust Brightness
|
||||
trigger:
|
||||
|
@ -76,20 +72,19 @@ automation:
|
|||
entity_id: input_number.bedroom_brightness
|
||||
action:
|
||||
- service: light.turn_on
|
||||
# Note the use of 'data_template:' below rather than the normal 'data:' if you weren't using an input variable
|
||||
# Note the use of 'data_template:' below rather than the normal 'data:' if you weren't using an input variable
|
||||
data_template:
|
||||
entity_id: light.bedroom
|
||||
brightness: '{{ trigger.to_state.state | int }}'
|
||||
{% endraw %}
|
||||
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Another code example using `input_number`, this time being used in an action in an automation.
|
||||
|
||||
```yaml
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry using 'input_number' in an action in an automation
|
||||
|
||||
# Define 'input_select'
|
||||
input_select:
|
||||
scene_bedroom:
|
||||
name: Scene
|
||||
|
@ -101,8 +96,6 @@ input_select:
|
|||
- Relax
|
||||
- 'OFF'
|
||||
initial: 'Select'
|
||||
|
||||
# Define input_number
|
||||
input_number:
|
||||
bedroom_brightness:
|
||||
name: Brightness
|
||||
|
@ -110,8 +103,6 @@ input_number:
|
|||
min: 0
|
||||
max: 254
|
||||
step: 1
|
||||
|
||||
# Automation.
|
||||
automation:
|
||||
- alias: Bedroom Light - Custom
|
||||
trigger:
|
||||
|
@ -120,21 +111,18 @@ automation:
|
|||
to: CUSTOM
|
||||
action:
|
||||
- service: light.turn_on
|
||||
# Again, note the use of 'data_template:' rather than the normal 'data:' if you weren't using an input variable.
|
||||
# Again, note the use of 'data_template:' rather than the normal 'data:' if you weren't using an input variable.
|
||||
data_template:
|
||||
entity_id: light.bedroom
|
||||
brightness: '{{ states.input_number.bedroom_brightness.state | int }}'
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
||||
Example of `input_number` being used in a bidirectional manner, both being set by and controlled by an MQTT action in an automation.
|
||||
|
||||
```yaml
|
||||
{% raw %}
|
||||
```yaml
|
||||
# Example configuration.yaml entry using 'input_number' in an action in an automation
|
||||
|
||||
# Define input_number
|
||||
input_number:
|
||||
target_temp:
|
||||
name: Target Heater Temperature Slider
|
||||
|
@ -143,31 +131,29 @@ input_number:
|
|||
step: 1
|
||||
unit_of_measurement: step
|
||||
icon: mdi:target
|
||||
|
||||
# Automation.
|
||||
# This automation script runs when a value is received via MQTT on retained topic: setTemperature
|
||||
# It sets the value slider on the GUI. This slides also had its own automation when the value is changed.
|
||||
- alias: Set temp slider
|
||||
trigger:
|
||||
platform: mqtt
|
||||
topic: "setTemperature"
|
||||
action:
|
||||
service: input_number.set_value
|
||||
data_template:
|
||||
entity_id: input_number.target_temp
|
||||
value: '{{ trigger.payload}}'
|
||||
|
||||
# This automation script runs when the target temperature slider is moved.
|
||||
# It publishes its value to the same MQTT topic it is also subscribed to.
|
||||
- alias: Temp slider moved
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: input_number.target_temp
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data_template:
|
||||
automation:
|
||||
- alias: Set temp slider
|
||||
trigger:
|
||||
platform: mqtt
|
||||
topic: "setTemperature"
|
||||
retain: true
|
||||
payload: '{{ states.input_number.target_temp.state | int }}'
|
||||
{% endraw %}
|
||||
action:
|
||||
service: input_number.set_value
|
||||
data_template:
|
||||
entity_id: input_number.target_temp
|
||||
value: '{{ trigger.payload}}'
|
||||
# This automation script runs when the target temperature slider is moved.
|
||||
# It publishes its value to the same MQTT topic it is also subscribed to.
|
||||
- alias: Temp slider moved
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: input_number.target_temp
|
||||
action:
|
||||
service: mqtt.publish
|
||||
data_template:
|
||||
topic: "setTemperature"
|
||||
retain: true
|
||||
payload: '{{ states.input_number.target_temp.state | int }}'
|
||||
```
|
||||
{% endraw %}
|
||||
|
|
|
@ -18,6 +18,10 @@ The [KNX](http://www.knx.org) integration for Home Assistant allows you to conne
|
|||
|
||||
The component requires a local KNX/IP interface like the [Weinzierl 730](http://www.weinzierl.de/index.php/en/all-knx/knx-devices-en/knx-ip-interface-730-en). Through this, it will send and receive commands to and from other devices to the KNX bus.
|
||||
|
||||
<p class='note warning'>
|
||||
Please note, the `knx` platform does not support Windows and needs at least python version 3.5.
|
||||
</p>
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
- [Binary Sensor](/components/binary_sensor.knx)
|
||||
|
@ -79,6 +83,7 @@ knx:
|
|||
- **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus
|
||||
- **fire_event_filter** (*Optional*): If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus.
|
||||
- **state_updater** (*Optional*): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behaviour.
|
||||
- **time_address** (*Optional*): Broadcast current local time to KNX bus with configured group address.
|
||||
|
||||
### {% linkable_title Services %}
|
||||
|
||||
|
|
42
source/_components/light.ads.markdown
Normal file
42
source/_components/light.ads.markdown
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
layout: page
|
||||
title: "ADS Light"
|
||||
description: Instructions how to set up ADS lights within Home Assistant
|
||||
date: 2017-10-25 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: beckhoff.png
|
||||
ha_category: Light
|
||||
ha_release: "0.60"
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `ads` light platform allows you to control your connecte ADS lights.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](/components/ads/) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: ads
|
||||
adsvar: GVL.enable_light
|
||||
adsvar_brightness: GVL.brightness
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
adsvar:
|
||||
required: true
|
||||
description: The name of the boolean variable that switches the light on
|
||||
type: string
|
||||
adsvar_brightness:
|
||||
required: false
|
||||
description: The name of the variable that controls the brightness, use an unsigned integer on the PLC side
|
||||
type: integer
|
||||
name:
|
||||
required: false
|
||||
description: An identifier for the Light in the frontend
|
||||
type: string
|
||||
{% endconfiguration %}
|
28
source/_components/light.hive.markdown
Normal file
28
source/_components/light.hive.markdown
Normal file
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Hive Light"
|
||||
description: "Instructions on how to integrate Hive lights with Home Assistant."
|
||||
date: 2017-09-24 21:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: hive.png
|
||||
ha_category: Light
|
||||
ha_release: 0.59
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
|
||||
The 'hive' light component integrates your Hive lights into Home Assistant, enabling control of various settings, depending on the model light.
|
||||
|
||||
The Hive light component supports the following Hive products:
|
||||
- **Hive Active Light Dimmable**
|
||||
- **Hive Active Light Cool to Warm White**
|
||||
|
||||
|
||||
<p class='note'>
|
||||
Full configuration details can be found on the main [Hive component](/components/hive/) page.
|
||||
</p>
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ Configuration variables:
|
|||
- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates.
|
||||
- **rgb_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the RGB value.
|
||||
- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
|
||||
- **state_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the state value.
|
||||
- **state_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the state value. The template should match the payload "on" and "off" values, so if your light uses "power on" to turn on, your `state_value_template` string should return "power on" when the switch is on. For example if the message is just "on", your `state_value_template` should be `power {{ value }}`.
|
||||
- **white_value_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's white value.
|
||||
- **white_value_state_topic** (*Optional*): The MQTT topic subscribed to receive white value updates.
|
||||
- **white_value_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the white value.
|
||||
|
|
|
@ -26,11 +26,21 @@ light:
|
|||
mac: MAC_ADDRESS
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address of your myStrom WiFi Bulb, eg. `192.168.1.32`.
|
||||
- **mac** (*Required*): The MAC address of your myStrom WiFi Bulb, eg. `5AAC8CA542F3`.
|
||||
- **name** (*Optional*): The name to use when displaying this light.
|
||||
{% configuration %}
|
||||
host:
|
||||
description: "The IP address of your myStrom WiFi Bulb, e.g., `192.168.1.32`."
|
||||
required: true
|
||||
type: string
|
||||
mac:
|
||||
description: "The MAC address of your myStrom WiFi Bulb, e.g., `5AAC8CA542F3`."
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: The name to use when displaying this bulb.
|
||||
required: false
|
||||
type: string
|
||||
default: myStrom Bulb
|
||||
{% endconfiguration %}
|
||||
|
||||
Check if you are able to access the light located at `IP_ADRRESS`. The details about your light is provided as a JSON response.
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ Per default the bulb limits the amount of requests per minute to 60, a limitatio
|
|||
### {% linkable_title Initial setup %}
|
||||
<p class='note'>
|
||||
Before trying to control your light through Home Assistant, you have to setup your bulb using Yeelight app. ( [Android](https://play.google.com/store/apps/details?id=com.yeelight.cherry&hl=fr), [IOS](https://itunes.apple.com/us/app/yeelight/id977125608?mt=8) ).
|
||||
In the bulb property, you have to enable "Developer Mode" Developer mode may only be available with the latest firmware installed on your bulb. Firmware can be updated in the application after connecting the bulb.
|
||||
In the bulb property, you have to enable "LAN Mode" (previously called "Developer mode"). LAN mode may only be available with the latest firmware installed on your bulb. Firmware can be updated in the application after connecting the bulb.
|
||||
Determine your bulb IP (using router, software, ping ...)
|
||||
</p>
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ ha_release: 0.57
|
|||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `linode` component allows you to access the information about your [Linode](https://www.linode.com) systems from Home Assistant.
|
||||
The `linode` component allows you to access the information about your [Linode](https://linode.com) systems from Home Assistant.
|
||||
|
||||
Obtain your oAuth2 Access Token from Linode account.
|
||||
* <http://cloud.linode.com>
|
||||
|
|
|
@ -26,9 +26,15 @@ To allow Home Assistant to talk to your IR receiver, you need to first make sure
|
|||
$ sudo apt-get install lirc liblircclient-dev
|
||||
```
|
||||
|
||||
|
||||
<p class='note'>
|
||||
If you are configuring on a Raspberry Pi, there are excellent instructions with GPIO schematics and driver configurations [here](http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/). Consider following these.
|
||||
If you are configuring on a Raspberry Pi, there are excellent instructions with GPIO schematics and driver configurations [here](http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/). Take notice, the instructions in this blog are valid for Raspian Jesse where lirc 0.9.0 was included in the debian package. In Raspian Stretch lirc 0.9.4 is included in the Debian package.
|
||||
The configuration is slightly different :
|
||||
|
||||
- The `hardware.conf` file is not supported, obsoleted by a new `lirc_options.conf` file and systemd unit definitions.
|
||||
- The former single `lirc` service is replaced with the three systemd services `lircd.service`, `lircmd.service` and `irexec.service`. There is no counterpart to the 0.9.0 `lirc` service which covered all of these. Using a separate transmitter device requires yet another service.
|
||||
- 0.9.4 defaults to using systemd for controlling the services. This is not just start/stop functionality, systemd is used to implement new features and to address shortcomings in 0.9.0. However, traditional systemV scripts are also installed and could be used although this is less tested and not really documented.
|
||||
|
||||
For more infomation have a look at `/usr/share/doc/lirc/README.Debian.gz` where the update process is explained when you have updated from jessie to stretch.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Configuring LIRC %}
|
||||
|
|
|
@ -11,7 +11,9 @@ footer: true
|
|||
ha_category: "History"
|
||||
---
|
||||
|
||||
The `logentries` component makes it possible to log all state changes to [your Logentries account](http://logentries.com/) using Logentries Webhook endpoint and a token based log
|
||||
The `logentries` component makes it possible to log all state changes to [Logentries](http://logentries.com/) using Logentries Webhook endpoint.
|
||||
|
||||
Open the **Add a Log** page and choose **Manual**. Enter a name for your log in **Log Name**, add a group in **Select Log Set**, set **Token TCP - logs are identified by a token.** and press **Create Log Token**. The generated token is required for the Home Assistant configuration.
|
||||
|
||||
To use the `logentries` component in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -21,6 +23,10 @@ logentries:
|
|||
token: TOKEN
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
token:
|
||||
description: The token for the log to use.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
- **token** (*Required*): Your Logentries log token.
|
||||
|
|
|
@ -27,17 +27,25 @@ The currently supported Caseta devices are:
|
|||
|
||||
When configured, the `lutron_caseta` component will automatically discover the currently supported devices as setup in the Lutron Smart Bridge. The name assigned in the Lutron mobile app will be used to form the `entity_id` used in Home Assistant. e.g. a dimmer called 'Bedroom Lamp' becomes `light.bedroom_lamp` in Home Assistant.
|
||||
|
||||
To use Lutron Caseta devices in your installation, add the following to your `configuration.yaml` file using the IP of your Smart Bridge:
|
||||
To use Lutron Caseta devices in your installation, you must first log in to your Lutron account and generate a certificate that allows Home Assistant to connect to your bridge. This can be accomplished by downloading and executing [this script](/assets/get_lutron_cert.zip), which will generate three files: caseta.key, caseta.crt, caseta-bridge.crt when you run it. See the instructions at the top of the script for more information.
|
||||
|
||||
Once you have the three necessary files, place them in your configuration directory and add the following to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
lutron_caseta:
|
||||
host: IP_ADDRESS
|
||||
keyfile: caseta.key
|
||||
certfile: caseta.crt
|
||||
ca_certs: caseta-bridge.crt
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address of the Lutron Smart Bridge.
|
||||
- **keyfile** (*Required*): The private key that Home Assistant will use to authenticate to the bridge.
|
||||
- **certfile** (*Required*): The certificate chain that Home Assistant will use to authenticate to the bridge.
|
||||
- **ca_certs** (*Required*): The list of certificate authorities (usually only one) that Home Assistant will expect when connecting to the bridge.
|
||||
|
||||
<p class='note'>
|
||||
It is recommended to assign a static IP address to your Lutron Smart Bridge. This ensures that it won't change IP address, so you won't have to change the `host` if it reboots and comes up with a different IP address.
|
||||
|
|
|
@ -52,5 +52,6 @@ Currently known supported models:
|
|||
- LC-52LE925UN
|
||||
- LC-60LE925UN
|
||||
- LC-60LE857U
|
||||
- LC-60EQ10U
|
||||
|
||||
If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/media_player.aquostv.markdown).
|
||||
|
|
|
@ -57,6 +57,7 @@ Currently known supported models:
|
|||
- KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
|
||||
- KS7502 (port must be set to 8001, and `pip3 install websocket-client` must be executed, turn on doesn't work, turn off works fine)
|
||||
- K5600AK (partially supported, turn on works but state is not updated)
|
||||
- UE65KS8005 (port must be set to 8001, On/Off, Forward/Backward, Volume are OK, but no Play button)
|
||||
|
||||
Currently tested but not working models:
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ featured: false
|
|||
|
||||
Universal Media Players combine multiple existing entities in Home Assistant into one media player entity. This is used for creating a single entity that controls an entire media center.
|
||||
|
||||
Multiple Media Player entities can be controlled from a Universal Media Player. Additionally, the Universal Media Player allows volume and power commands to be re-routed to other entities in Home Assistant. This allows the power and volume to control external devices like a television or audio receiver.
|
||||
Multiple media player entities can be controlled from an universal media player. Additionally, the universal media player allows volume and power commands to be re-routed to other entities in Home Assistant. This allows the power and volume to control external devices like a television or audio receiver.
|
||||
|
||||
A Universal Media Player is created in `configuration.yaml` as follows.
|
||||
|
||||
|
@ -47,23 +47,46 @@ media_player:
|
|||
state: ENTITY_ID|ATTRIBUTE
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name to assign the player.
|
||||
required: true
|
||||
type: string
|
||||
children:
|
||||
description: Ordered list of child media players this entity will control.
|
||||
required: true
|
||||
type: list
|
||||
state_template:
|
||||
description: "A [template](/topics/templating/) can be specified to render the state of the media player. This way, the state could depend on entities different from media players, like switches or input booleans."
|
||||
required: false
|
||||
type: template
|
||||
commands:
|
||||
description: "Commands to be overwritten. Possible entries are `turn_on`, `turn_off`, `select_source`, `volume_set`, `volume_up`, `volume_down` and `volume_mute`."
|
||||
required: false
|
||||
type: string
|
||||
attributes:
|
||||
description: "Attributes that can be overwritten. Possible entries are `is_volume_muted`, `state`, `source`, `source_list` and `volume_level`. The values should be an entity ID and state attribute separated by a pipe character (|). If the entity ID's state should be used, then only the entity id should be provided."
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
- **name** (*Required*): The name to assign the player
|
||||
- **children** (*Required*): Ordered list of child media players this entity will control
|
||||
- **commands** (*Optional*): Commands to be overwritten. Possible entries are *turn_on*, *turn_off*, *select_source*, *volume_set*, *volume_up*, *volume_down*, and *volume_mute*.
|
||||
- **attributes** (*Optional*): Attributes that can be overwritten. Possible entries are *is_volume_muted*, *state*, *source*, *source_list, and *volume_level*. The values should be an entity id and state attribute separated by a bar (\|). If the entity id's state should be used, then only the entity id should be provided.
|
||||
The Universal Media Player will primarily imitate one of its `children`. The Universal Media Player will control the first child on the list that is active (not idle/off). The Universal Media Player will also inherit its state from the first active child if a `state_template` is not provided. Entities in the `children:` list must be media players, but the state template can contain any entity.
|
||||
|
||||
The universal media player will primarily imitate one of its *children*. The first child in the list that is active (not idle/off) will be controlled the universal media player. The universal media player will also inherit its state from the first active child. Entities in the *children* list must be media players.
|
||||
It is recommended that the command `turn_on`, the command `turn_off`, and the attribute `state` all be provided together. The `state` attribute indicates if the media player is on or off. If `state` indicates the media player is off, this status will take precedence over the states of the children. If all the children are idle/off and `state` is on, the Universal Media Player's state will be on.
|
||||
|
||||
It is recommended that the command *turn_on*, the command *turn_off*, and the attribute *state* all be provided together. The *state* attribute indicates if the Media Player is on or off. If *state* indicates the media player is off, this status will take precedent over the states of the children. If all the children are idle/off and *state* is on, the universal media player's state will be on.
|
||||
It is also recommended that the command `volume_up`, the command `volume_down`, the command `volume_mute`, and the attribute `is_volume_muted` all be provided together. The attribute `is_volume_muted` should return either True or the on state when the volume is muted. The `volume_mute` service should toggle the mute setting.
|
||||
|
||||
It is also recommended that the command *volume_up*, the command *volume_down*, the command *volume_mute*, and the attribute *is_volume_muted* all be provided together. The attribute *is_volume_muted* should return either True or the on state when the volume is muted. The *volume_mute* service should toggle the mute setting.
|
||||
When providing `select_source` as a command, it is recommended to also provide the attributes `source`, and `source_list`. The `source` attribute is the currently select source, while the `source_list` attribute is a list of all available sources.
|
||||
|
||||
When providing *select_source* as a command, it is recommended to also provide the attributes *source*, and *source_list*. The *source* attribute is the currently select source, while the *source_list* attribute is a list of all available sources.
|
||||
## {% linkable_title Usage examples %}
|
||||
|
||||
Below is an example configuration.
|
||||
#### {% linkable_title Chromecast & Kodi control with switches %}
|
||||
|
||||
In this example, a switch is available to control the power of the television. Switches are also available to turn the volume up, turn the volume down, and mute the audio. These could be command line switches or any other entity in Home Assistant. The `turn_on` and `turn_off` commands will be redirected to the television, and the volume commands will be redirected to an audio receiver. The `select_source` command will be passed directly to an A/V receiver.
|
||||
|
||||
The children are a Chromecast and a Kodi player. If the Chromecast is playing, the Universal Media Player will reflect its status. If the Chromecast is idle and Kodi is playing, the universal media player will change to reflect its status.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
media_player:
|
||||
platform: universal
|
||||
|
@ -96,12 +119,12 @@ media_player:
|
|||
service: media_player.select_source
|
||||
data_template:
|
||||
entity_id: media_player.receiver
|
||||
source: '{% raw %}{{ source }}{% endraw %}'
|
||||
source: '{{ source }}'
|
||||
volume_set:
|
||||
service: media_player.volume_set
|
||||
data_template:
|
||||
entity_id: media_player.receiver
|
||||
volume_level: '{% raw %}{{ volume_level }}{% endraw %}'
|
||||
volume_level: '{{ volume_level }}'
|
||||
|
||||
attributes:
|
||||
state: switch.living_room_tv
|
||||
|
@ -109,9 +132,112 @@ media_player:
|
|||
volume_level: media_player.receiver|volume_level
|
||||
source: media_player.receiver|source
|
||||
source_list: media_player.receiver|source_list
|
||||
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
In this example, a switch is available to control the power of the television. Switches are also available to turn the volume up, turn the volume down, and mute the audio. These could be command line switches or any other entity in Home Assistant. The *turn_on* and *turn_off* commands will be redirected to the television and the volume commands will be redirected to an audio receiver. The *select_source* command will be passed directly to an A/V receiver.
|
||||
#### {% linkable_title Kodi CEC-TV control %}
|
||||
|
||||
The children are a Chromecast and a Kodi player. If the Chromecast is playing, the Universal Media Player will reflect its status. If the Chromecast is idle and Kodi is playing, the Universal Media player will change to reflect its status.
|
||||
In this example, a [Kodi Media Player](/components/media_player.kodi/) runs in a CEC capable device (OSMC/OpenElec running in a Raspberry Pi 24/7, for example), and, with the JSON-CEC Kodi addon installed, it can turn on and off the attached TV.
|
||||
|
||||
We store the state of the attached TV in a hidden [input boolean](/components/input_boolean/), so we can differentiate the TV being on or off, while Kodi is always 'idle', and use the universal media player to render its state with a template. We can hide the Kodi Media Player too, and only show the universal one, which now can differentiate between the 'idle' and the 'off' state (being the second when it is idle and the TV is off).
|
||||
|
||||
Because the input boolean used to store the TV state is only changing when using the Home Assistant `turn_on` and `turn_off` actions, and Kodi could be controlled by so many ways, we also define some automations to update this Input Boolean when needed.
|
||||
|
||||
In an Apple HomeKit scene, we can now expose this universal media player as an on/off switch in Homebridge, and, that way, use Siri to turn on and off the TV.
|
||||
|
||||
The complete configuration is:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
homeassistant:
|
||||
customize:
|
||||
input_boolean.kodi_tv_state:
|
||||
hidden: true
|
||||
homebridge_hidden: true
|
||||
media_player.kodi:
|
||||
hidden: true
|
||||
homebridge_hidden: true
|
||||
media_player.kodi_tv:
|
||||
friendly_name: Kodi
|
||||
homebridge_name: Kodi
|
||||
homebridge_media_player_switch: on_off
|
||||
|
||||
input_boolean:
|
||||
kodi_tv_state:
|
||||
|
||||
media_player:
|
||||
- platform: universal
|
||||
name: Kodi TV
|
||||
state_template: >
|
||||
{% if is_state('media_player.kodi', 'idle') and is_state('input_boolean.kodi_tv_state', 'off') %}
|
||||
off
|
||||
{% else %}
|
||||
{{ states('media_player.kodi') }}
|
||||
{% endif %}
|
||||
children:
|
||||
- media_player.kodi
|
||||
commands:
|
||||
turn_on:
|
||||
service: media_player.turn_on
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
turn_off:
|
||||
service: media_player.turn_off
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
attributes:
|
||||
is_volume_muted: media_player.kodi|is_volume_muted
|
||||
volume_level: media_player.kodi|volume_level
|
||||
|
||||
- platform: kodi
|
||||
name: Kodi
|
||||
host: 192.168.1.10
|
||||
turn_on_action:
|
||||
- service: input_boolean.turn_on
|
||||
data:
|
||||
entity_id: input_boolean.kodi_tv_state
|
||||
- service: media_player.kodi_call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: Addons.ExecuteAddon
|
||||
addonid: script.json-cec
|
||||
params:
|
||||
command: activate
|
||||
turn_off_action:
|
||||
- service: input_boolean.turn_off
|
||||
data:
|
||||
entity_id: input_boolean.kodi_tv_state
|
||||
- service: media_player.media_stop
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
- service: media_player.kodi_call_method
|
||||
data:
|
||||
entity_id: media_player.kodi
|
||||
method: Addons.ExecuteAddon
|
||||
addonid: script.json-cec
|
||||
params:
|
||||
command: standby
|
||||
|
||||
automation:
|
||||
- alias: Turn on the TV when Kodi is activated
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: media_player.kodi_tv
|
||||
from: 'off'
|
||||
to: 'playing'
|
||||
action:
|
||||
- service: media_player.turn_on
|
||||
entity_id: media_player.kodi_tv
|
||||
|
||||
- alias: Turn off the TV when Kodi is in idle > 15 min
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: media_player.kodi_tv
|
||||
to: 'idle'
|
||||
for:
|
||||
minutes: 15
|
||||
action:
|
||||
- service: media_player.turn_off
|
||||
entity_id: media_player.kodi_tv
|
||||
```
|
||||
{% endraw %}
|
||||
|
|
|
@ -24,12 +24,18 @@ mqtt_eventstream:
|
|||
subscribe_topic: OtherHaServerName
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
publish_topic:
|
||||
description: Topic for publishing local events.
|
||||
required: false
|
||||
type: string
|
||||
subscribe_topic:
|
||||
description: Topic to receive events from the remote server.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
- **publish_topic** (*Optional*): Topic for publishing local events
|
||||
- **subscribe_topic** (*Optional*): Topic to receive events from the remote server.
|
||||
|
||||
## Multiple Instances
|
||||
## {% linkable_title Multiple Instances %}
|
||||
|
||||
Events from multiple instances can be aggregated to a single master instance by subscribing to a wildcard topic from the master instance.
|
||||
|
||||
|
|
|
@ -32,6 +32,12 @@ Configuration variables:
|
|||
Default is false.
|
||||
- **publish_timestamps** (*Optional*): Publish the last_changed and last_updated timestamps for the entity.
|
||||
Default is false.
|
||||
- **exclude** (*Optional*): Configure which components should be excluded from recordings. See *Include/Exclude* section below for details.
|
||||
- **entities** (*Optional*): The list of entity ids to be excluded from recordings.
|
||||
- **domains** (*Optional*): The list of domains to be excluded from recordings.
|
||||
- **include** (*Optional*): Configure which components should be included in recordings. If set, all other entities will not be recorded.
|
||||
- **entities** (*Optional*): The list of entity ids to be included from recordings.
|
||||
- **domains** (*Optional*): The list of domains to be included from recordings.
|
||||
|
||||
## Operation
|
||||
|
||||
|
@ -44,6 +50,56 @@ For example, with the example configuration above, if an entity called 'light.ma
|
|||
|
||||
If that entity also has an attribute called `brightness`, the component will also publish the value of that attribute to `homeassistant/light/master_bedroom_dimmer/brightness`.
|
||||
|
||||
All states and attributes are passed through JSON serialization before publishing. **Please note** that this causes strings to be quoted (e.g., the string 'on' will be published as '"on"'). You can access the JSON deserialized values (as well as unquoted strings) at many places by using `value_json` instead of `value`.
|
||||
All states and attributes are passed through JSON serialization before publishing. **Please note** that this causes strings to be quoted (e.g., the string 'on' will be published as '"on"'). You can access the JSON deserialized values (as well as unquoted strings) at many places by using `value_json` instead of `value`.
|
||||
|
||||
The last_updated and last_changed values for the entity will be published to `homeassistant/light/master_bedroom_dimmer/last_updated` and `homeassistant/light/master_bedroom_dimmer/last_changed`, respectively. The timestamps are in ISO 8601 format - for example, `2017-10-01T23:20:30.920969+00:00`.
|
||||
|
||||
## Include/exclude
|
||||
|
||||
The **exclude** and **include** configuration variables can be used to filter the items that are published to MQTT.
|
||||
|
||||
1\. If neither **exclude** or **include** are specified, all entities are published.
|
||||
|
||||
2\. If only **exclude** is specified, then all entities except the ones listed are published.
|
||||
|
||||
```yaml
|
||||
# Example of excluding entities
|
||||
mqtt_statestream:
|
||||
base_topic: homeassistant
|
||||
exclude:
|
||||
domains:
|
||||
- switch
|
||||
entities:
|
||||
- sensor.nopublish
|
||||
```
|
||||
In the above example, all entities except for *switch.x* and *sensor.nopublish* will be published to MQTT.
|
||||
|
||||
3\. If only **include** is specified, then only the specified entries are published.
|
||||
|
||||
```yaml
|
||||
# Example of excluding entities
|
||||
mqtt_statestream:
|
||||
base_topic: homeassistant
|
||||
include:
|
||||
domains:
|
||||
- sensor
|
||||
entities:
|
||||
- lock.important
|
||||
```
|
||||
In this example, only *sensor.x* and *lock.important* will be published.
|
||||
|
||||
4\. If both **include** and **exclude** are specified then all entities specified by **include** are published except for the ones
|
||||
specified by **exclude**.
|
||||
|
||||
```yaml
|
||||
# Example of excluding entities
|
||||
mqtt_statestream:
|
||||
base_topic: homeassistant
|
||||
include:
|
||||
domains:
|
||||
- sensor
|
||||
exclude:
|
||||
entities:
|
||||
- sensor.noshow
|
||||
```
|
||||
In this example, all sensors except for *sensor.noshow* will be published.
|
||||
|
|
|
@ -21,14 +21,14 @@ To enable this platform, add the following lines to your `configuration.yaml` fi
|
|||
notify:
|
||||
- name: NOTIFIER_NAME
|
||||
platform: html5
|
||||
gcm_api_key: 'gcm-sender-key'
|
||||
gcm_api_key: 'gcm-server-key'
|
||||
gcm_sender_id: 'gcm-sender-id'
|
||||
```
|
||||
|
||||
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`.
|
||||
- **gcm_api_key** (*Required if pushing to Chrome*): The API key provided to you by Google for Google Cloud Messaging (GCM). Required to push to Chrome.
|
||||
- **gcm_api_key** (*Required if pushing to Chrome*): The API Server key provided to you by Google for Google Cloud Messaging (GCM). Required to push to Chrome.
|
||||
- **gcm_sender_id** (*Required if pushing to Chrome*): The sender ID provided to you by Google for Google Cloud Messaging (GCM). Required to push to Chrome.
|
||||
|
||||
### {% linkable_title Getting ready for Chrome %}
|
||||
|
@ -42,7 +42,7 @@ Configuration variables:
|
|||
#### {% linkable_title Verify your domain with Hass.io %}
|
||||
|
||||
1. For verifying your domain you need to download a file in step 2.
|
||||
2. Create a dictionary named "www" in you Hass.io configuration dictionary.
|
||||
2. Create a dictionary named "www" in you Hass.io configuration directory.
|
||||
3. Place the file (something like this: google*.html) in the "www" directory.
|
||||
4. You can open it by going to **https://yourdomain/local/exact_file_name.html**
|
||||
5. Proceed with step 3.
|
||||
|
|
|
@ -12,17 +12,71 @@ ha_category: Notifications
|
|||
ha_release: 0.49
|
||||
---
|
||||
|
||||
This component allows to send notification to a LaMetric device. It need the LaMetric platform to be configured first.
|
||||
The `lametric` notification platform allows to send notification to a LaMetric device. It needs the LaMetric platform to be configured first.
|
||||
|
||||
To enable LaMetric notifications in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
name: lametric1
|
||||
name: NOTIFIER_NAME
|
||||
platform: lametric
|
||||
display_time: 20
|
||||
icon: i555
|
||||
```
|
||||
|
||||
- **name** (*Optional*): The name of the LaMetric device. Usually it is "My Lametric"
|
||||
- **display_time** (*Optional*): Defines how long the message should be displayed (in seconds).
|
||||
- **icon** (*Optional*): An icon or animation. Check out the list of all icons her: https://developer.lametric.com/icons
|
||||
Note that icons always begin with "i" while animations begin with "a". This is part of the name, you can't just use the number.
|
||||
{% configuration %}
|
||||
name:
|
||||
description: "The optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`."
|
||||
required: false
|
||||
type: string
|
||||
default: notify
|
||||
lifetime:
|
||||
description: Defines how long the message remains in LaMetric notification queue (in seconds).
|
||||
required: false
|
||||
type: int
|
||||
default: 10
|
||||
icon:
|
||||
description: An icon or animation.
|
||||
required: false
|
||||
type: string
|
||||
cycles:
|
||||
description: Defines how often the notification is displayed.
|
||||
required: false
|
||||
type: int
|
||||
default: 1
|
||||
{% endconfiguration %}
|
||||
|
||||
Check out the list of all icons at [https://developer.lametric.com/icons](https://developer.lametric.com/icons). Note that icons always begin with "i" while animations begin with "a". This is part of the name, you can't just use the number!
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
### {% linkable_title Full configuration example %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
name: NOTIFIER_NAME
|
||||
platform: lametric
|
||||
lifetime: 20
|
||||
icon: a7956
|
||||
cycles: 3
|
||||
```
|
||||
|
||||
### {% linkable_title Changing sounds and icons %}
|
||||
|
||||
To add a notification sound or an icon override, it has to be done via service data.
|
||||
|
||||
```yaml
|
||||
- alias: "Send notification on arrival at school"
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: device_tracker.son_mobile
|
||||
from: 'not_home'
|
||||
to: 'school'
|
||||
action:
|
||||
service: notify.lametric
|
||||
data:
|
||||
message: "Son has arrived at school!"
|
||||
data:
|
||||
sound: 'notification'
|
||||
icon: 'i51'
|
||||
```
|
||||
|
|
|
@ -14,9 +14,11 @@ ha_iot_class: "Local Polling"
|
|||
---
|
||||
|
||||
|
||||
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google&hl=en) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google).
|
||||
Notification platform for [Notifications for Android TV](https://play.google.com/store/apps/details?id=de.cyberdream.androidtv.notifications.google) and [Notifications for FireTV](https://play.google.com/store/apps/details?id=de.cyberdream.firenotifications.google).
|
||||
|
||||
The notifications are in the global scope of your Android TV device. They will be displayed regardless of which application is running.
|
||||
The In-App purchases only apply to the client for Android smartphones, so there isn't any limit when pushing notifications from Home Assistant.
|
||||
|
||||
When setting this up be aware, that there are two apps: one for your smartphone to send notifications (not required for this platform) and one for your Android TV device to receive the notifications. The app available in the store of your target device is the one that is needed to display notifications sent from Home Assistant. The In-App purchases only apply to the client for Android smartphones, so there isn't any limit when pushing notifications from Home Assistant.
|
||||
|
||||
To enable the notification platform, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -37,6 +39,7 @@ Configuration variables:
|
|||
- **color** (*Optional*): Has to be one of: grey (default), black, indigo, green, red, cyan, teal, amber, pink
|
||||
- **transparency** (*Optional*): Has to be one of: 0%, 25% (default), 50%, 75%, 100%
|
||||
- **interrupt** (*Optional*): If set to true, 1, on etc., the notification is interactive and can be dismissed or selected to display more details. Depending on the running app (e.g. Netflix), this may stop playback.
|
||||
- **icon** (*Optional*): Change the default icon to a custom icon by providing the full path to a PNG image.
|
||||
|
||||
The configuration will be used to configure the default values for the notification for the host specified by the IP. However, you can override most of the settings by passing them with the data-attribute when calling the service.
|
||||
This is a fully customized JSON you can use to test how the final notification will look like:
|
||||
|
@ -50,7 +53,8 @@ This is a fully customized JSON you can use to test how the final notification w
|
|||
"duration":2,
|
||||
"transparency":"0%",
|
||||
"color": "red",
|
||||
"interrupt": 1
|
||||
"interrupt": 1,
|
||||
"icon": "/path/to/image.png"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
|
@ -156,6 +156,35 @@ homeassistant:
|
|||
```
|
||||
</p>
|
||||
|
||||
### {% linkable_title Video support %}
|
||||
|
||||
```yaml
|
||||
...
|
||||
action:
|
||||
service: notify.NOTIFIER_NAME
|
||||
data:
|
||||
title: Send a video
|
||||
message: That's an example that sends a video.
|
||||
data:
|
||||
video:
|
||||
- url: http://192.168.1.28/camera.mp4
|
||||
username: admin
|
||||
password: secrete
|
||||
- file: /tmp/video.mp4
|
||||
caption: Video Title xy
|
||||
- url: http://somebla.ie/video.mp4
|
||||
caption: I.e. for a Title
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **url** or **file** (*Required*): For local or remote path to a video.
|
||||
- **caption** (*Optional*): The title of the video.
|
||||
- **username** (*Optional*): Username for a URL which require HTTP authentication.
|
||||
- **password** (*Optional*): Username for a URL which require HTTP authentication.
|
||||
- **authentication** (*Optional*): Set to 'digest' to use HTTP digest authentication, defaults to 'basic'.
|
||||
- **keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom keyboard.
|
||||
- **inline_keyboard** (*Optional*): List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data.
|
||||
|
||||
### {% linkable_title Document support %}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ ha_release: 0.31
|
|||
|
||||
The `telstra` notification platform allows you to deliver Home Assistant notifications to Australian phone numbers over the [Telstra SMS API](https://dev.telstra.com/content/sms-api-0).
|
||||
|
||||
To enable the Telstra notifications in your installation, you must first create an account and API app over at [dev.telstra.com](https://dev.telstra.com/). The free tier allows for 1000 notifications to be sent per month.
|
||||
To enable the Telstra notifications in your installation, you must first create an account and API app over at [dev.telstra.com](https://dev.telstra.com/). The free tier allows for a maximum of 1000 free messages.
|
||||
|
||||
After your API app is approved, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
|
|
@ -37,7 +37,4 @@ data:
|
|||
- left
|
||||
- menu
|
||||
- select
|
||||
device: ''
|
||||
```
|
||||
|
||||
Please note that `device` must be specified (because of validation) but is not used by this platform. So you may specify any value.
|
||||
|
|
|
@ -53,7 +53,7 @@ Configuration variables:
|
|||
- **name** (*Required*): The hub's name to display in the frontend.
|
||||
- **host** (*Optional*): The Harmony device's IP address. Leave empty for the IP to be discovered automatically.
|
||||
- **port** (*Optional*): The Harmony device's port. Defaults to 5222.
|
||||
- **activity** (*Optional*): Activity to use when turnon service is called without any data.
|
||||
- **activity** (*Optional*): Activity to use when `turn_on` service is called without any data.
|
||||
- **delay_secs** (*Optional*): Default duration in seconds between sending commands to a device.
|
||||
|
||||
Configuration file:
|
||||
|
@ -64,32 +64,58 @@ Upon startup one file will be written to your Home Assistant configuration direc
|
|||
- List of all programmed device names and ID numbers
|
||||
- List of all available commands per programmed device
|
||||
|
||||
Supported services:
|
||||
### {% linkable_title Service `remote.turn_off` %}
|
||||
|
||||
- **Turn Off**: Turn off all devices that were switched on from the start of the current activity.s
|
||||
- **Turn On**: Start an activity, will start the default activity from configuration.yaml if no activity is specified. The specified activity can either be the activity name or the activity ID from the configuration file written to your [Home Assistant configuration directory](/docs/configuration/).
|
||||
- **Send Command**: Send a single command or a set of commands to one device, device ID and available commands are written to the configuration file at startup. You can optionally specify the number of times you wish to repeat the command(s) and delay you want between repeated command(s).
|
||||
- **Sync**: Synchronizes the Harmony device with the Harmony web service if any changes are made from the web portal or app.
|
||||
Turn off all devices that were switched on from the start of the current activity.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | Only act on a specific remote, else target all.
|
||||
|
||||
### {% linkable_title Examples %}
|
||||
### {% linkable_title Service `remote.turn_on` %}
|
||||
|
||||
A template switch can be used to display and control the state of an activity in the frontend.
|
||||
Start an activity. Will start the default `activity` from configuration.yaml if no activity is specified. The specified activity can either be the activity name or the activity ID from the configuration file written to your [Home Assistant configuration directory](/docs/configuration/).
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | Only act on a specific remote, else target all.
|
||||
| `activity` | yes | Activity ID or Activity Name to start.
|
||||
|
||||
### {% linkable_title Service `remote.send_command` %}
|
||||
|
||||
Send a single command or a set of commands to one device, device ID and available commands are written to the configuration file at startup. You can optionally specify the number of times you wish to repeat the command(s) and delay you want between repeated command(s).
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | Only act on a specific remote, else target all.
|
||||
| `device` | no | Device ID to send the command to.
|
||||
| `command` | no | A single command or a list of commands to send.
|
||||
| `num_repeats` | yes | The number of times to repeat the command(s).
|
||||
| `delay_secs` | yes | The number of seconds between sending each command.
|
||||
|
||||
A typical service call for sending several button presses looks like this:
|
||||
|
||||
```yaml
|
||||
switch:
|
||||
- platform: template
|
||||
switches:
|
||||
tv:
|
||||
value_template: "{% raw %}{% if is_state('remote.family_room', 'on') %}on{% else %}off{% endif %}{% endraw %}"
|
||||
turn_on:
|
||||
service: remote.turn_on
|
||||
entity_id: remote.family_room
|
||||
turn_off:
|
||||
service: remote.turn_off
|
||||
entity_id: remote.family_room
|
||||
service: remote.send_command
|
||||
data:
|
||||
entity_id: remote.tv_room
|
||||
command:
|
||||
- home
|
||||
- 1
|
||||
- 2
|
||||
delay_secs: 0.6
|
||||
```
|
||||
|
||||
### {% linkable_title Service `remote.harmony_sync` %}
|
||||
|
||||
Synchronize the Harmony device with the Harmony web service if any changes are made from the web portal or app.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | Only act on a specific remote, else target all.
|
||||
|
||||
### {% linkable_title Examples %}
|
||||
|
||||
Template sensors can be utilized to display current activity in the frontend.
|
||||
|
||||
```yaml
|
||||
|
@ -104,7 +130,6 @@ sensor:
|
|||
friendly_name: 'bedroom'
|
||||
```
|
||||
|
||||
|
||||
The example below shows how to control an `input_boolean` switch using the Harmony remote's current activity. The switch will turn on when the remote's state changes and the Kodi activity is started and off when the remote's state changes and the current activity is PowerOff.
|
||||
|
||||
```yaml
|
||||
|
@ -130,39 +155,3 @@ automation:
|
|||
service: input_boolean.turn_off
|
||||
entity_id: input_boolean.notify
|
||||
````
|
||||
|
||||
The automation example below shows how to send a command via the harmony remote using the `send_command` service to send the 'Pause' command to the hub, which is already defined as an IR code for each device to be used via the Harmony app. It is checking for the activity name as exposed through the sensor in the harmony remote component using Jinja if statements to set the device_id, sending the correct Pause command for the given activity. This requires checking your activity list and device_id from the `harmony_REMOTENAME.conf` file created when you start the component. In this example, the harmony hub is named bedroom.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Harmony Pause contextual for activity
|
||||
trigger:
|
||||
# trigger happens to be from a flic button - could be any valid event
|
||||
platform: event
|
||||
event_type: flic_click
|
||||
event_data:
|
||||
button_name: flic_80e4da70bbb1
|
||||
click_type: double
|
||||
action:
|
||||
service: remote.send_command
|
||||
data_template:
|
||||
# using a data template to have if brances for relevant device
|
||||
# Always the same entity_id - the harmony hub
|
||||
entity_id: remote.bedroom
|
||||
# Always the same command - the Pause key
|
||||
command: Pause
|
||||
# select device based upon the activity being undertaken.
|
||||
device: >
|
||||
# when in WATCH TV activity, the pause key relates to a TiVo, which is device 22987101
|
||||
{% raw %}{% if is_state("sensor.bedroom", "WATCH TV") %}{% raw %}
|
||||
22987101
|
||||
# when in WATCH APPLE TV activity, the pause key relates to an Apple TV, which is device 23002316
|
||||
{% raw %}{% elif is_state("sensor.bedroom", "WATCH APPLE TV") %}{% endraw %}
|
||||
23002316
|
||||
{% raw %}{% elif is_state("sensor.bedroom", "PLEX") %}{% endraw %}
|
||||
23048786
|
||||
{% raw %}{% elif is_state("sensor.bedroom", "WATCH BLU RAY") %}{% endraw %}
|
||||
23043122
|
||||
{% raw %}{% endif %}{% endraw %}
|
||||
|
||||
````
|
||||
|
|
|
@ -48,7 +48,7 @@ Configuration variables:
|
|||
- **name** (*Required*): Command name.
|
||||
- **data** (*Required*): Hex command data.
|
||||
|
||||
An example to call the component from developer tools using the remote, send_command service `{ "entity_id":"remote.tv", "device":"0", "command":"menu" }`
|
||||
An example to call the component from developer tools using the `remote.send_command` service: `{ "entity_id":"remote.tv", "command":"menu" }`
|
||||
|
||||
Note: Global Cache devices expect data in their own format of "sendir...". This component converts hex code to Global Cache IR form.
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ ha_release: "0.34"
|
|||
Keeps track which remotes are in your environment, their state and allows you to control them.
|
||||
|
||||
* Maintains a state per remote and a combined state `all_remotes`.
|
||||
* Registers services `remote/turn_on`, `remote/turn_off`, `remote/toggle`, `remote/sync`, and `remote/send_command` to control remotes.
|
||||
* Registers services `remote/turn_on`, `remote/turn_off`, `remote/toggle`, and `remote/send_command` to control remotes.
|
||||
|
||||
### {% linkable_title Use the services %}
|
||||
|
||||
|
@ -25,5 +25,6 @@ Go to the **Developer Tools**, then to **Call Service** in the frontend, and cho
|
|||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | Only act on specific remote. Else targets all.
|
||||
| `entity_id` | yes | Only act on a specific remote, else target all.
|
||||
|
||||
See the platform documentation for each type of remote for more detailed examples.
|
||||
|
|
|
@ -17,7 +17,7 @@ The `rss_feed_template` component can export any information from Home Assistant
|
|||
For example, on Android, the app "Simple RSS Widget" can be used to display temperatures on the home screen.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
# Example configuration.yaml entry
|
||||
rss_feed_template:
|
||||
# Accessible on <home assistant url>/api/rss_template/garden
|
||||
# Example: https://localhost:8123/api/rss_template/garden
|
||||
|
|
|
@ -13,7 +13,7 @@ ha_release: 0.54
|
|||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `satel_integra` component will allow Home Assistant users who own a Satel Integra alarm panel to leverage their alarm system and its sensors to provide Home Assistant with information about their homes. Connectivity between Home Assistant and the alarm is accomplished through a ETHM extension module that must be installed in the alarm.
|
||||
The `satel_integra` component will allow Home Assistant users who own a Satel Integra alarm panel to leverage their alarm system and its sensors to provide Home Assistant with information about their homes. Connectivity between Home Assistant and the alarm is accomplished through a ETHM extension module that must be installed in the alarm. Compatible with ETHM-1 Plus module with firmware version > 2.00 (version 2.04 confirmed).
|
||||
|
||||
There is currently support for the following device types within Home Assistant:
|
||||
|
||||
|
|
51
source/_components/sensor.ads.markdown
Normal file
51
source/_components/sensor.ads.markdown
Normal file
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
layout: page
|
||||
title: "ADS Sensor"
|
||||
description: "Instructions how to integrate ADS numeric values into Home Assistant."
|
||||
date: 2017-10-25 10:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: beckhoff.png
|
||||
ha_category: Sensor
|
||||
ha_release: "0.60"
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The `ads` sensor platform allows reading the value of a numeric variable on your ADS device. The variable can be of type *INT*, *UINT* or *BYTE*.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](/components/ads/) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: ads
|
||||
adsvar: GVL.temperature
|
||||
unit_of_measurement: '°C'
|
||||
adstype: int
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
adsvar:
|
||||
required: true
|
||||
description: The name of the variable which you want to access.
|
||||
type: string
|
||||
adstype:
|
||||
required: false
|
||||
description: The datatype of the ADS variable, possible values are int, uint, byte.
|
||||
default: int
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: An identifier for the sensor.
|
||||
type: string
|
||||
factor:
|
||||
required: false
|
||||
description: A factor that divides the stored value before displaying in Home Assistant.
|
||||
default: 1
|
||||
type: integer
|
||||
{% endconfiguration %}
|
||||
|
||||
The *factor* can be used to implement fixed decimals. E.g., set *factor* to 100 if you want to display a fixed decimal value with two decimals. A variable value of `123` will be displayed as `1.23`.
|
53
source/_components/sensor.alpha_vantage.markdown
Normal file
53
source/_components/sensor.alpha_vantage.markdown
Normal file
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Alpha Vantage"
|
||||
description: "Instructions how to setup Alpha Vantage within Home Assistant."
|
||||
date: 2017-12-02 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: alpha_vantage.png
|
||||
ha_category: Finance
|
||||
ha_iot_class: "Cloud Polling"
|
||||
featured: false
|
||||
ha_release: "0.60"
|
||||
---
|
||||
|
||||
The `alpha_vantage` sensor platform uses [Alpha Vantage](https://www.alphavantage.co) to monitor the stock market.
|
||||
|
||||
To enable the `yahoo_finance` platform, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: alpha_vantage
|
||||
api_key: YOUR_API_KEY
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
api_key:
|
||||
description: "The API Key from [Alpha Vantage](https://www.alphavantage.co)."
|
||||
required: true
|
||||
type: string
|
||||
symbols:
|
||||
description: List of stock market symbols for given companies.
|
||||
required: false
|
||||
type: string, list
|
||||
default: GOOGL
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you find some real life examples of how to use this sensor.
|
||||
|
||||
### {% linkable_title Red Hat and Google %}
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: yahoo_finance
|
||||
symbols:
|
||||
- RHT
|
||||
- GOOGL
|
||||
```
|
||||
|
|
@ -26,6 +26,7 @@ sensor:
|
|||
- last_capture
|
||||
- total_cameras
|
||||
- battery_level
|
||||
- signal_strength
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -35,5 +36,6 @@ Configuration variables:
|
|||
- **last_capture**: Return the timestamp from the last video captured by your Arlo camera.
|
||||
- **total_cameras**: Return the number of recognized and active cameras linked on your Arlo account.
|
||||
- **battery_level**: Return the battery level of your Arlo camera.
|
||||
- **signal_strength**: Return the wireless signal strength of your Arlo camera.
|
||||
|
||||
If no **monitored_conditions** are specified, all of above will be enabled by default.
|
||||
|
|
|
@ -27,29 +27,58 @@ sensor:
|
|||
- trade_volume_btc
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **currency** (*Optional*): The currency to exchange to, eg. CHF, USD, EUR, etc. Default is USD.
|
||||
- **display_options** array (*Required*): Options to display in the frontend.
|
||||
- **exchangerate**: Exchange rate of 1 BTC
|
||||
- **trade_volume_btc**: Trade volume
|
||||
- **miners_revenue_usd**: Miners revenue
|
||||
- **btc_mined**: BTC mined
|
||||
- **trade_volume_usd**: Trade volume in USD
|
||||
- **difficulty**: Difficulty
|
||||
- **minutes_between_blocks**: Time between blocks in minutes
|
||||
- **number_of_transactions**: Number of transactions
|
||||
- **hash_rate**: Hash rate in PH/s
|
||||
- **timestamp**: Timestamp
|
||||
- **mined_blocks**: Minded Blocks
|
||||
- **blocks_size**: Block size
|
||||
- **total_fees_btc**: Total fees in BTC
|
||||
- **total_btc_sent**: Total sent in BTC
|
||||
- **estimated_btc_sent**: Estimated sent in BTC
|
||||
- **total_btc**: Total of BTC
|
||||
- **total_blocks**: Total Blocks
|
||||
- **next_retarget**: Next retarget
|
||||
- **estimated_transaction_volume_usd**: Estimated transaction volume in BTC
|
||||
- **miners_revenue_btc**: Miners revenue in BTC
|
||||
- **market_price_usd**: Market price in USD
|
||||
{% configuration %}
|
||||
currency:
|
||||
description: The currency to exchange to, eg. CHF, USD, EUR, etc.
|
||||
required: false
|
||||
type: string
|
||||
default: USD
|
||||
display_options:
|
||||
description: Options to display in the frontend.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
exchangerate:
|
||||
description: Exchange rate of 1 BTC
|
||||
trade_volume_btc:
|
||||
description: Trade volume
|
||||
miners_revenue_usd:
|
||||
description: Miners revenue
|
||||
btc_mined:
|
||||
description: BTC mined
|
||||
trade_volume_usd:
|
||||
description: Trade volume in USD
|
||||
difficulty:
|
||||
description: Difficulty
|
||||
minutes_between_blocks:
|
||||
description: Time between blocks in minutes
|
||||
number_of_transactions:
|
||||
description: Number of transactions
|
||||
hash_rate:
|
||||
description: Hash rate in PH/s
|
||||
timestamp:
|
||||
description: Timestamp
|
||||
mined_blocks:
|
||||
description: Minded Blocks
|
||||
blocks_size:
|
||||
description: Block size
|
||||
total_fees_btc:
|
||||
description: Total fees in BTC
|
||||
total_btc_sent:
|
||||
description: Total sent in BTC
|
||||
estimated_btc_sent:
|
||||
description: Estimated sent in BTC
|
||||
total_btc:
|
||||
description: Total of BTC
|
||||
total_blocks:
|
||||
description: Total Blocks
|
||||
next_retarget:
|
||||
description: Next retarget
|
||||
estimated_transaction_volume_usd:
|
||||
description: Estimated transaction volume in BTC
|
||||
miners_revenue_btc:
|
||||
description: Miners revenue in BTC
|
||||
market_price_usd:
|
||||
description: Market price in USD
|
||||
{% endconfiguration %}
|
||||
|
||||
|
|
|
@ -27,7 +27,10 @@ sensor:
|
|||
- '183J5pXWqYYsxZ7inTVw9tEpejDXyMFroe'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **addresses** (*Required*): List of bitcoin wallet addresses to watch.
|
||||
{% configuration %}
|
||||
addresses:
|
||||
description: List of bitcoin wallet addresses to watch.
|
||||
required: true
|
||||
type: string, list
|
||||
{% endconfiguration %}
|
||||
|
||||
|
|
|
@ -24,7 +24,18 @@ sensor:
|
|||
- platform: coinmarketcap
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
currency:
|
||||
description: The cryptocurrency to use.
|
||||
required: false
|
||||
type: string, list
|
||||
default: Bitcoin
|
||||
display_currency:
|
||||
description: The currency to display.
|
||||
required: false
|
||||
type: string, list
|
||||
default: USD
|
||||
{% endconfiguration %}
|
||||
|
||||
All supported currencies can be found [here](https://coinmarketcap.com/api/).
|
||||
|
||||
- **currency** (*Optional*): The cryptocurrency to use, eg. `bitcoin`, `litecoin`, `steem`, etc. Default is `bitcoin`.
|
||||
- **display_currency** (*Optional*): The currency to display, eg. `USD`, `EUR`, `GBP`, etc. Default is `USD`. All supported currencies can be found [here](https://coinmarketcap.com/api/).
|
||||
|
|
|
@ -33,12 +33,22 @@ sensor:
|
|||
- C430
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **printers** array (*Required*): List of printers to add.
|
||||
- **host** (*Optional*): IP address of the CUPS print server.
|
||||
- **port** (*Optional*): Port address of the CUPS print server. Defaults to 631.
|
||||
|
||||
{% configuration %}
|
||||
printers:
|
||||
description: List of printers to add.
|
||||
required: true
|
||||
type: list
|
||||
host:
|
||||
description: IP address of the CUPS print server.
|
||||
required: false
|
||||
type: string
|
||||
default: 127.0.0.1
|
||||
port:
|
||||
description: Port of the CUPS print server.
|
||||
required: false
|
||||
type: int
|
||||
default: 631
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note'>
|
||||
You will need to install the `python3-dev` or `python3-devel` and the development files for CUPS (`libcups2-dev` or`cups-devel`) package on your system manually (eg. `sudo apt-get install python3-dev libcups2-dev` or `sudo dnf -y install python3-devel cups-devel`) along with a compiler (`gcc`).
|
||||
|
|
|
@ -31,8 +31,20 @@ sensor:
|
|||
- INR
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
api_key:
|
||||
description: "The API Key from [Currencylayer](https://currencylayer.com/)."
|
||||
required: true
|
||||
type: string
|
||||
quote:
|
||||
description: The symbol(s) of the quote or target currencies.
|
||||
required: false
|
||||
type: string, list
|
||||
default: Exchange rate
|
||||
base:
|
||||
description: The symbol of the base currency.
|
||||
required: false
|
||||
type: string
|
||||
default: USD
|
||||
{% endconfiguration %}
|
||||
|
||||
- **api_key** (*Required*): API Key from [Currencylayer](https://currencylayer.com/).
|
||||
- **base** (*Optional*): The symbol of the base currency. Defaults to USD.
|
||||
- **quote** (*Required*): The symbol(s) of the quote or target currencies.
|
||||
|
|
|
@ -107,6 +107,11 @@ Optional configuration example for ser2net:
|
|||
# Example /etc/ser2net.conf for proxying USB/serial connections to DSMRv4 smart meters
|
||||
2001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS
|
||||
```
|
||||
or
|
||||
```sh
|
||||
# Example /etc/ser2net.conf for proxying USB/serial connections to DSMRv2.2 smart meters
|
||||
2001:raw:600:/dev/ttyUSB0:9600 EVEN 1STOPBIT 7DATABITS XONXOFF LOCAL -RTSCTS
|
||||
```
|
||||
|
||||
[HASSbian](/getting-started/installation-raspberry-pi-image/) users have to give dialout permission to the user `homeassistant`:
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ sensor:
|
|||
Configuration variables:
|
||||
|
||||
- **access_token** (*Required*): The Access Token for your account.
|
||||
- **channel_id** (*Optional*): Channel ID (as integer) of your device. Needed if you have more than one device.
|
||||
- **channel_id** (*Required*): Channel ID (as integer) of your device.
|
||||
- **name** (*Optional*): The name of the sensor, eg. the city.
|
||||
|
||||
For details please check the [API documentation](https://my.eliq.se/knowledge/sv-SE/49-eliq-online/299-eliq-online-api).
|
||||
|
|
|
@ -25,7 +25,15 @@ sensor:
|
|||
address: '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
address:
|
||||
description: Ethereum wallet address to watch.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: The name of the sensor used in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: Ethereum Balance
|
||||
{% endconfiguration %}
|
||||
|
||||
- **address** (*Required*): Ethereum wallet address to watch.
|
||||
- **name** (*Optional*): The name of the sensor used in the frontend.
|
||||
|
|
|
@ -14,10 +14,10 @@ ha_release: 0.57
|
|||
---
|
||||
|
||||
|
||||
The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to be displayed in the Home Assistant front-end.
|
||||
The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page) to be displayed in the Home Assistant frontend.
|
||||
|
||||
<p class='note'>
|
||||
Your system must have fail2ban installed and correctly configured for this sensor to work. In addition, Home Assistant must be able to read the fail2ban log file.
|
||||
Your system must have `fail2ban` installed and correctly configured for this sensor to work. In addition, Home Assistant must be able to read the `fail2ban` log file.
|
||||
</p>
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
@ -29,29 +29,38 @@ sensor:
|
|||
jails:
|
||||
- ssh
|
||||
- hass-iptables
|
||||
file_path: /var/log/fail2ban.log
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **jails** (*Required*): List of configured jails you want to display (each jail is its own sensor).
|
||||
- **name** (*Optional*): Name of the sensor. Defaults to `fail2ban`.
|
||||
- **file_path** (*Optional*): Path to the fail2ban log. Defaults to `/var/log/fail2ban.log`.
|
||||
- **scan_interval** (*Optional*): Used to limit how often log file is read and must be a positive integer (representing number of seconds to wait). Defaults to 120.
|
||||
{% configuration %}
|
||||
jails:
|
||||
description: List of configured jails you want to display.
|
||||
required: true
|
||||
type: list
|
||||
name:
|
||||
description: Name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
default: fail2ban
|
||||
file_path:
|
||||
description: Path to the fail2ban log.
|
||||
required: false
|
||||
type: string
|
||||
default: /var/log/fail2ban.log
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Set up Fail2Ban %}
|
||||
|
||||
For most set-ups, you can follow [this tutorial](https://home-assistant.io/cookbook/fail2ban/) to set up fail2ban on your system. It will walk you through creating jails and filters, allowing you to monitor IPs that have been banned for too many failed ssh login attempts, as well as too many failed Home Assistant log in attempts.
|
||||
For most setups, you can follow [this tutorial](/cookbook/fail2ban/) to set up `fail2ban` on your system. It will walk you through creating jails and filters, allowing you to monitor IP addresses that have been banned for too many failed SSH login attempts, as well as too many failed Home Assistant login attempts.
|
||||
|
||||
### {% linkable_title Fail2Ban with Docker %}
|
||||
|
||||
<p class='note'>
|
||||
These steps assume you already have the Home Assistant docker running behind nginx and that it is externally accessible. It also assumes the docker is running with the `--net='host'` flag.
|
||||
These steps assume you already have the Home Assistant docker running behind NGINX and that it is externally accessible. It also assumes the docker is running with the `--net='host'` flag.
|
||||
</p>
|
||||
|
||||
For those of us using Docker, the above tutorial may not be sufficient. The following steps specifically outline how to set up `fail2ban` and Home Assistant when running Home Assistant within a Docker behind nginx. The setup this was tested on was an unRAID server using the [let's encrypt docker](https://github.com/linuxserver/docker-letsencrypt) from linuxserver.io.
|
||||
For those of us using Docker, the above tutorial may not be sufficient. The following steps specifically outline how to set up `fail2ban` and Home Assistant when running Home Assistant within a Docker behind NGINX. The setup this was tested on was an unRAID server using the [let's encrypt docker](https://github.com/linuxserver/docker-letsencrypt) from linuxserver.io.
|
||||
|
||||
#### Set http logger
|
||||
#### {% linkable_title Set http logger %}
|
||||
|
||||
In your `configuration.yaml` file, add the following to the `logger` component to ensure that Home Assistant prints failed login attempts to the log.
|
||||
|
||||
|
@ -61,7 +70,7 @@ logger:
|
|||
homeassistant.components.http.ban: warning
|
||||
```
|
||||
|
||||
#### Edit the `jail.local` file
|
||||
#### {% linkable_title Edit the `jail.local` file %}
|
||||
|
||||
Next, we need to edit the `jail.local` file that is included with the Let's Encrypt docker linked above. Note, for this tutorial, we'll only be implementing the `[hass-iptables]` jail from the [previously linked tutorial](https://home-assistant.io/cookbook/fail2ban/).
|
||||
|
||||
|
@ -76,7 +85,7 @@ logpath = /hass/home-assistant.log
|
|||
maxretry = 5
|
||||
```
|
||||
|
||||
#### Create a filter for the Home Assistant jail
|
||||
#### {% linkable_title Create a filter for the Home Assistant jail %}
|
||||
|
||||
Now we need to create a filter for `fail2ban` so that it can properly parse the log. This is done with a `failregex`. Create a file called `hass.local` within the `filter.d` directory in `/mnt/user/appdata/letsencrypt/fail2ban` and add the following:
|
||||
|
||||
|
@ -93,7 +102,7 @@ ignoreregex =
|
|||
datepattern = ^%%Y-%%m-%%d %%H:%%M:%%S
|
||||
```
|
||||
|
||||
#### Map log file directories
|
||||
#### {% linkable_title Map log file directories %}
|
||||
|
||||
First, we need to make sure that fail2ban log can be passed to Home Assistant and that the Home Assistant log can be passed to fail2ban. When starting the Let's Encrypt docker, you need to add the following argument (adjust paths based on your setup):
|
||||
|
||||
|
@ -110,20 +119,20 @@ Now do the same for the Home Assistant docker, but this time we'll be mapping th
|
|||
```
|
||||
|
||||
|
||||
#### Send client IP to Home Assistant
|
||||
#### {% linkable_title Send client IP to Home Assistant %}
|
||||
|
||||
By default, the IP address that Home Assistant sees will be that of the container (something like `172.17.0.16`). What this means is that for any failed login attempt, assuming you have correctly configured `fail2ban`, the Docker IP will be logged as banned, but the originating IP is still allowed to make attempts. We need `fail2ban` to recognize the originating IP to properly ban it.
|
||||
|
||||
First, we have to add the following to the nginx configuration file located in `/mnt/user/appdata/letsencrypt/nginx/site-confs/default`.
|
||||
|
||||
```
|
||||
```bash
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
```
|
||||
|
||||
This snippet should be added within your Home Assistant server config, so you have something like the following:
|
||||
|
||||
```
|
||||
```bash
|
||||
server {
|
||||
...
|
||||
location / {
|
||||
|
@ -158,7 +167,7 @@ http:
|
|||
|
||||
At this point, once the Let's Encrypt and Home Assistant dockers are restarted, Home Assistant should be correctly logging the originating IP of any failed login attempt. Once that's done and verified, we can move onto the final step.
|
||||
|
||||
#### Add the fail2ban sensor
|
||||
#### {% linkable_title Add the fail2ban sensor %}
|
||||
|
||||
Now that we've correctly set everything up for Docker, we can add our sensors to `configuration.yaml` with the following:
|
||||
|
||||
|
@ -174,7 +183,7 @@ Assuming you've followed all of the steps, you should have one fail2ban sensor,
|
|||
|
||||
### {% linkable_title Other debug tips %}
|
||||
|
||||
If, after following these steps, you're unable to get the fail2ban sensor working, here are some other steps you can take that may help:
|
||||
If, after following these steps, you're unable to get the `fail2ban` sensor working, here are some other steps you can take that may help:
|
||||
|
||||
- Add `logencoding = utf-8` to the `[hass-iptables]` entry
|
||||
- Ensure the `failregex` you added to `filter.d/hass.local` matches the output within `home-assistant.log`
|
||||
|
|
|
@ -27,9 +27,19 @@ sensor:
|
|||
target: CHF
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **target** (*Required*): The symbol of the target currency.
|
||||
- **name** (*Optional*): Name to use in the frontend.
|
||||
- **base** (*Optional*): The symbol of the base currency. Default to USD
|
||||
|
||||
{% configuration %}
|
||||
target:
|
||||
description: The symbol of the target currency.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: Exchange rate
|
||||
base:
|
||||
description: The symbol of the base currency.
|
||||
required: false
|
||||
type: string
|
||||
default: USD
|
||||
{% endconfiguration %}
|
||||
|
|
|
@ -34,16 +34,18 @@ Configuration variables:
|
|||
|
||||
The following statistics will be exposed as attributes.
|
||||
|
||||
|Attribute |Description |
|
||||
|:-----------------|:------------------------------------------------------------|
|
||||
|is_linked |True if the FritzBox is physically linked to the provider |
|
||||
|is_connected |True if the FritzBox has established an internet-connection |
|
||||
|wan_access_type |Connection-type, can be `DSL` or `Cable` |
|
||||
|external_ip |External ip address |
|
||||
|uptime |Uptime in seconds |
|
||||
|bytes_sent |Bytes sent |
|
||||
|bytes_received |Bytes received |
|
||||
|max_byte_rate_up |Maximum upstream-rate in bytes/s |
|
||||
|max_byte_rate_down|Maximum downstream-rate in bytes/s |
|
||||
|Attribute |Description |
|
||||
|:----------------------|:------------------------------------------------------------|
|
||||
|is_linked |True if the FritzBox is physically linked to the provider |
|
||||
|is_connected |True if the FritzBox has established an internet-connection |
|
||||
|wan_access_type |Connection-type, can be `DSL` or `Cable` |
|
||||
|external_ip |External ip address |
|
||||
|uptime |Uptime in seconds |
|
||||
|bytes_sent |Bytes sent |
|
||||
|bytes_received |Bytes received |
|
||||
|transmission_rate_up |Current upstream speed in bytes/s |
|
||||
|transmission_rate_down |Current downstream speed in bytes/s |
|
||||
|max_byte_rate_up |Maximum upstream-rate in bytes/s |
|
||||
|max_byte_rate_down |Maximum downstream-rate in bytes/s |
|
||||
|
||||
The sensor's state corresponds to the `is_linked` attribute and is either `online`, `offline`, or `unavailable` (in case connection to the router is lost).
|
||||
|
|
24
source/_components/sensor.hive.markdown
Normal file
24
source/_components/sensor.hive.markdown
Normal file
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Hive Sensor"
|
||||
description: "Instructions on how to integrate Hive Sensors with Home Assistant."
|
||||
date: 2017-09-24 21:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: hive.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.59
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
|
||||
The 'hive' sensor component can expose as a sensor the current online status of your Hive Hub.
|
||||
|
||||
|
||||
<p class='note'>
|
||||
Full configuration details can be found on the main [Hive component](/components/hive/) page.
|
||||
</p>
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ The `lacrosse` sensor platform is using the data provided by a [Jeelink](https:/
|
|||
Since the sensor change their ID after each powercycle/battery change you can check what sensor IDs are availble by using the command-line tool `pylacrosse` from the pylacrosse package.
|
||||
|
||||
```bash
|
||||
$ sudo pylacrosse -D /dev/ttyUSB0 scan
|
||||
$ sudo pylacrosse -d /dev/ttyUSB0 scan
|
||||
```
|
||||
To use your `lacrosse` compatible sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
|
|
@ -49,13 +49,15 @@ Configuration variables:
|
|||
- **name** (*Required*): Name of the sensor.
|
||||
- **slave** (*Required*): The number of the slave (Optional for tcp and upd Modbus).
|
||||
- **register** (*Required*): Register number.
|
||||
- **register_type** (*Optional*): Modbus register type (holding, input), default holding
|
||||
- **register_type** (*Optional*): Modbus register type (holding, input), default holding.
|
||||
- **unit_of_measurement** (*Optional*): Unit to attach to value.
|
||||
- **count** (*Optional*): Number of registers to read.
|
||||
- **scale** (*Optional*): Scale factor (output = scale * value + offset), default 1
|
||||
- **offset** (*Optional*): Final offset (output = scale * value + offset), default 0
|
||||
- **precision** (*Optional*): Number of valid decimals, default 0
|
||||
- **data_type** (*Optional*): Response representation (int, float). If float selected, value will be converted to IEEE 754 floating point format. default int
|
||||
- **reverse_order** (*Optional*): Reverse the order of registers when count >1, default False.
|
||||
- **scale** (*Optional*): Scale factor (output = scale * value + offset), default 1.
|
||||
- **offset** (*Optional*): Final offset (output = scale * value + offset), default 0.
|
||||
- **precision** (*Optional*): Number of valid decimals, default 0.
|
||||
- **data_type** (*Optional*): Response representation (int, uint, float, custom). If float selected, value will be converted to IEEE 754 floating point format. Default int.
|
||||
- **structure** (*Optional*): If data_type is custom specify here a double quoted python struct format string to unpack the value. See python documentation for details. Ex: ">i".
|
||||
|
||||
It's possible to change the default 30 seconds scan interval for the sensor updates as shown in the [Platform options](/docs/configuration/platform_options/#scan-interval) documentation.
|
||||
|
||||
|
@ -72,7 +74,6 @@ sensor:
|
|||
slave: 10
|
||||
register: 0
|
||||
register_type: holding
|
||||
update_interval: 2.5
|
||||
unit_of_measurement: °C
|
||||
count: 1
|
||||
scale: 0.1
|
||||
|
|
|
@ -28,9 +28,24 @@ sensor:
|
|||
quote: EUR
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
default: Exchange Rate Sensor
|
||||
api_key:
|
||||
description: "The API Key for [Open Exchange Rates](https://openexchangerates.org)."
|
||||
required: true
|
||||
type: string
|
||||
quote:
|
||||
description: The symbol of the quote or target currency.
|
||||
required: true
|
||||
type: string
|
||||
base:
|
||||
description: The symbol of the base currency.
|
||||
required: false
|
||||
type: string
|
||||
default: USD
|
||||
{% endconfiguration %}
|
||||
|
||||
- **api_key** (*Required*): API Key for [Open Exchange Rates](https://openexchangerates.org).
|
||||
- **quote** (*Required*): The symbol of the quote or target currency.
|
||||
- **name** (*Optional*): Name to use in the frontend.
|
||||
- **base** (*Optional*): The symbol of the base currency. Defaults to USD.
|
||||
|
|
|
@ -24,16 +24,41 @@ sensor:
|
|||
- platform: pyload
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
host:
|
||||
description: This is the IP address of your pyLoad download manager.
|
||||
required: false
|
||||
type: string
|
||||
default: localhost
|
||||
port:
|
||||
description: The port your pyLoad interface uses.
|
||||
required: false
|
||||
type: int
|
||||
default: 8000
|
||||
name:
|
||||
description: The name to use when displaying this pyLoad instance.
|
||||
required: false
|
||||
type: string
|
||||
default: 20
|
||||
username:
|
||||
description: Your pyLoad username.
|
||||
required: false
|
||||
type: string
|
||||
password:
|
||||
description: Your pyLoad password.
|
||||
required: false
|
||||
type: string
|
||||
ssl:
|
||||
description: Enable SSL/TLS for the host.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
- **host** (*Optional*): This is the IP address of your pyLoad download manager, eg. 192.168.0.100. Defaults to `localhost`.
|
||||
- **port** (*Optional*): The port your pyLoad interface uses. Defaults to 8000.
|
||||
- **name** (*Optional*): The name to use when displaying this pyLoad instance.
|
||||
- **username** (*Optional*): Your pyLoad username.
|
||||
- **password** (*Optional*): Your pyLoad password.
|
||||
|
||||
If everything is setup correctly, the download speed will show up in the frontend.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/components/pyload/pyload_speed.png' />
|
||||
</p>
|
||||
|
||||
|
|
|
@ -24,12 +24,27 @@ sensor:
|
|||
- platform: random
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Random Sensor`.
|
||||
- **minimum** (*Optional*): Lower limit for the values. Defaults to `0`.
|
||||
- **maximum** (*Optional*): Upper limit for the values. Defaults to `20`.
|
||||
- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any.
|
||||
{% configuration %}
|
||||
name:
|
||||
description: Name to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: Random Sensor
|
||||
minimum:
|
||||
description: Lower limit for the values.
|
||||
required: false
|
||||
type: string
|
||||
default: 0
|
||||
maximum:
|
||||
description: Upper limit for the values.
|
||||
required: false
|
||||
type: int
|
||||
default: 20
|
||||
unit_of_measurement:
|
||||
description: Defines the units of measurement of the sensor, if any.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
See the [entity component options][entity-docs] to control how often the main component polls the random sensor. The default is 30 seconds.
|
||||
|
||||
|
|
|
@ -49,6 +49,7 @@ Configuration variables:
|
|||
- **username** (*Optional*): The username for accessing the REST endpoint.
|
||||
- **password** (*Optional*): The password for accessing the REST endpoint.
|
||||
- **headers** (*Optional*): The headers for the requests.
|
||||
- **json_attributes** (*Optional*): A list of keys to extract values from a JSON dictionary result and then set as sensor attributes. Default is an empty list.
|
||||
|
||||
<p class='note warning'>
|
||||
Make sure that the URL exactly matches your endpoint or resource.
|
||||
|
@ -67,9 +68,7 @@ In this section you find some real life examples of how to use this sensor.
|
|||
|
||||
### {% linkable_title External IP address %}
|
||||
|
||||
You can find your external IP address using the service [JSON Test](http://www.jsontest.com) at their http://ip.jsontest.com/ endpoint.
|
||||
|
||||
To display the IP address, the entry for a sensor in the `configuration.yaml` file will look like this.
|
||||
You can find your external IP address using the service [JSON Test](http://www.jsontest.com) at their [http://ip.jsontest.com/](http://ip.jsontest.com/) URL.
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
|
@ -83,8 +82,6 @@ sensor:
|
|||
|
||||
The [glances](/components/sensor.glances/) sensor is doing the exact same thing for all exposed values.
|
||||
|
||||
Add something similar to the entry below to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: rest
|
||||
|
@ -154,3 +151,63 @@ sensor:
|
|||
User-Agent: Home Assistant REST sensor
|
||||
```
|
||||
|
||||
### {% linkable_title Fetch multiple JSON values and present them as attibutes %}
|
||||
|
||||
[JSON Test](http://www.jsontest.com) returns the current time, date and milliseconds since epoch from [http://date.jsontest.com/](http://date.jsontest.com/).
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: rest
|
||||
name: JSON time
|
||||
json_attributes:
|
||||
- date
|
||||
- milliseconds_since_epoch
|
||||
resource: http://date.jsontest.com/
|
||||
value_template: '{{ value_json.time }}'
|
||||
- platform: template
|
||||
sensors:
|
||||
date:
|
||||
friendly_name: 'Date'
|
||||
value_template: '{{ states.sensor.json_time.attributes["date"] }}'
|
||||
milliseconds:
|
||||
friendly_name: 'milliseconds'
|
||||
value_template: '{{ states.sensor.json_time.attributes["milliseconds_since_epoch"] }}'
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
This sample fetches a weather report from [OpenWeatherMap](http://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/components/sensor.template/) sensors that monitor the attributes and present the values in a usable form.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: rest
|
||||
name: OWM_report
|
||||
json_attributes:
|
||||
- main
|
||||
- weather
|
||||
value_template: '{{ value_json["weather"][0]["description"].title() }}'
|
||||
resource: http://api.openweathermap.org/data/2.5/weather?zip=80302,us&APPID=VERYSECRETAPIKEY
|
||||
- platform: template
|
||||
sensors:
|
||||
owm_weather:
|
||||
value_template: '{{ states.sensor.owm_report.attributes.weather[0]["description"].title() }}'
|
||||
icon_template: '{{ "http://openweathermap.org/img/w/"+states.sensor.owm_report.attributes.weather[0]["icon"]+".png" }}'
|
||||
entity_id: sensor.owm_report
|
||||
owm_temp:
|
||||
friendly_name: 'Outside temp'
|
||||
value_template: '{{ states.sensor.owm_report.attributes.main["temp"]-273.15 }}'
|
||||
unit_of_measurement: "°C"
|
||||
entity_id: sensor.owm_report
|
||||
owm_pressure:
|
||||
friendly_name: 'Outside pressure'
|
||||
value_template: '{{ states.sensor.owm_report.attributes.main["pressure"] }}'
|
||||
unit_of_measurement: "hP"
|
||||
entity_id: sensor.owm_report
|
||||
owm_humidity:
|
||||
friendly_name: 'Outside humidity'
|
||||
value_template: '{{ states.sensor.owm_report.attributes.main["humidity"] }}'
|
||||
unit_of_measurement: "%"
|
||||
entity_id: sensor.owm_report
|
||||
```
|
||||
{% endraw %}
|
||||
|
|
|
@ -25,7 +25,15 @@ sensor:
|
|||
address: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
{% configuration %}
|
||||
address:
|
||||
description: Ripple wallet address to watch.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: Name for the sensor to use in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: Ripple Balance
|
||||
{% endconfiguration %}
|
||||
|
||||
- **address** (*Required*): Ripple wallet address to watch
|
||||
- **name** (*Optional*): Name for the sensor to use in the frontend.
|
||||
|
|
|
@ -40,6 +40,7 @@ sensor:
|
|||
- 'queue_remaining'
|
||||
- 'disk_size'
|
||||
- 'disk_free'
|
||||
- 'queue_count'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
@ -56,6 +57,7 @@ Configuration variables:
|
|||
- **queue_remaining**: Remaining elements in the queue
|
||||
- **disk_size**: Disk size of the storage location
|
||||
- **disk_free**: Free disk space at the storage location
|
||||
- **queue_count**: Number of items in the queue
|
||||
|
||||
Note that this will create the following sensors:
|
||||
|
||||
|
@ -66,6 +68,7 @@ Note that this will create the following sensors:
|
|||
- sensor.sabnzbd_left
|
||||
- sensor.sabnzbd_disk
|
||||
- sensor.sabnzbd_disk_free
|
||||
- sensor.sabnzdb_queue_count
|
||||
```
|
||||
|
||||
As always, you can determine the names of sensors by looking at the dev-state page `< >` in the web interface.
|
||||
|
|
|
@ -113,3 +113,5 @@ automation:
|
|||
|
||||
- When running on Raspberry Pi, just note that the maximum speed is limited by its 100 Mbit/s LAN adapter.
|
||||
- Entries under `monitored_conditions` only control what entities are available under home-assistant, it does not disable the condition from running.
|
||||
- If ran frequently, this component has the capability of using a very large amount of data. Frequent updates should be avoided on bandwidth capped connections.
|
||||
- While running, network usage is fully utilized. This may have a negative affect on other devices in use the network such as gaming consoles or streaming boxes.
|
||||
|
|
|
@ -67,6 +67,7 @@ The table contains types and their argument to use in your `configuration.yaml`
|
|||
| memory_free | sensor.ram_available |
|
||||
| memory_use_percent | sensor.ram_used |
|
||||
| processor_use | sensor.cpu_used |
|
||||
| disk_use | sensor.disk_used |
|
||||
|
||||
## {% linkable_title Linux specific %}
|
||||
|
||||
|
|
21
source/_components/sensor.tahoma.markdown
Normal file
21
source/_components/sensor.tahoma.markdown
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Tahoma Sensor"
|
||||
description: "Instructions how to integrate Tahoma sensors into Home Assistant."
|
||||
date: 2017-07-18 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: tahoma.png
|
||||
ha_category: Cover
|
||||
ha_release: 0.59
|
||||
---
|
||||
|
||||
To use your tahoma sensors in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yml entry
|
||||
sensor:
|
||||
platform: tahoma
|
||||
```
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue