2
Gemfile
@ -3,7 +3,7 @@ source "https://rubygems.org"
|
||||
group :development do
|
||||
gem 'rake', '~> 10.0'
|
||||
gem 'jekyll', '~> 3.0'
|
||||
gem 'pygments.rb', '~> 0.6.3'
|
||||
gem 'pygments.rb', '~> 1.1.2'
|
||||
gem 'rdiscount', '~> 2.0'
|
||||
gem 'RedCloth', '~> 4.2'
|
||||
gem 'haml', '~> 4.0'
|
||||
|
12
Gemfile.lock
@ -45,6 +45,7 @@ GEM
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
mercenary (0.3.6)
|
||||
method_source (0.8.2)
|
||||
multi_json (1.12.1)
|
||||
octopress (3.0.11)
|
||||
jekyll (>= 2.0)
|
||||
mercenary (~> 0.3.2)
|
||||
@ -71,14 +72,12 @@ GEM
|
||||
jekyll (>= 2.0)
|
||||
pathutil (0.14.0)
|
||||
forwardable-extended (~> 2.6)
|
||||
posix-spawn (0.3.11)
|
||||
pry (0.10.4)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
slop (~> 3.4)
|
||||
pygments.rb (0.6.3)
|
||||
posix-spawn (~> 0.3.6)
|
||||
yajl-ruby (~> 1.2.0)
|
||||
pygments.rb (1.1.2)
|
||||
multi_json (>= 1.0.0)
|
||||
rack (1.6.4)
|
||||
rack-protection (1.5.3)
|
||||
rack
|
||||
@ -107,7 +106,6 @@ GEM
|
||||
ref
|
||||
tilt (2.0.5)
|
||||
titlecase (0.1.1)
|
||||
yajl-ruby (1.2.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
@ -127,7 +125,7 @@ DEPENDENCIES
|
||||
octopress-filters
|
||||
octopress-include-tag
|
||||
pry
|
||||
pygments.rb (~> 0.6.3)
|
||||
pygments.rb (~> 1.1.2)
|
||||
rake (~> 10.0)
|
||||
rb-fsevent (~> 0.9)
|
||||
rdiscount (~> 2.0)
|
||||
@ -138,4 +136,4 @@ DEPENDENCIES
|
||||
therubyracer
|
||||
|
||||
BUNDLED WITH
|
||||
1.10.6
|
||||
1.14.6
|
||||
|
@ -142,13 +142,13 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 47
|
||||
current_patch_version: 1
|
||||
date_released: 2017-06-21
|
||||
current_minor_version: 48
|
||||
current_patch_version: 0
|
||||
date_released: 2017-07-02
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
# Major release:
|
||||
patch_version_notes: "#release-0471---june-21"
|
||||
patch_version_notes: "#"
|
||||
# Minor release (Example #release-0431---april-25):
|
||||
|
||||
|
136
source/_components/binary_sensor.rfxtrx.markdown
Normal file
@ -0,0 +1,136 @@
|
||||
---
|
||||
layout: page
|
||||
title: "RFXtrx Binary Sensor"
|
||||
description: "Instructions how to integrate RFXtrx binary sensors into Home Assistant."
|
||||
date: 2017-03-26 12:45
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: rfxtrx.png
|
||||
ha_category: Binary Sensor
|
||||
---
|
||||
|
||||
The `rfxtrx` platform support binary sensors that communicate in the frequency range of 433.92 MHz. The rfxtrx binary sensor component provides support for them.
|
||||
|
||||
Many cheap sensors available on the web today are based on a particular RF chip called *PT-2262*. Depending on the running firmware on the RFXcom box, some of them may be recognized under the X10 protocol but most of them are recognized under the *Lighting4* protocol. The rfxtrx binary sensor component provides some special options for them, while other rfxtrx protocols should work too.
|
||||
|
||||
# Setting up your devices
|
||||
Once you have set up your [rfxtrx hub](/components/rfxtrx/), the easiest way to find your binary sensors is to add this to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: rfxtrx
|
||||
automatic_add: True
|
||||
```
|
||||
|
||||
Open your local home-assistant web UI and go to the "states" page. Then make sure to trigger your sensor. You should see a new entity appear in the *Current entites* list, starting with "binary_sensor." and some hexadecimal digits. Those hexadecimal digits are your device id.
|
||||
|
||||
For example: "binary_sensor.0913000022670e013b70". Here your device id is `0913000022670e013b70`. Then you should update your configuration to:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: rfxtrx
|
||||
devices:
|
||||
0913000022670e013b70:
|
||||
name: device_name
|
||||
```
|
||||
|
||||
Do not forget to tweak the configuration variables:
|
||||
|
||||
- **automatic_add** (*Optional*): To enable the automatic addition of new binary sensors.
|
||||
- **device_class** (*Optional*): The [type or class of the sensor](/components/binary_sensor/) to set the icon in the frontend.
|
||||
- **off_delay** (*Optional*): For sensors that only sends 'On' state updates, this variable sets a delay after which the sensor state will be updated back to 'Off'.
|
||||
|
||||
|
||||
Binary sensors have only two states - "on" and "off". Many door or window opening sensors will send a signal each time the door/window is open or closed. However, depending on their hardware or on their purpose, some sensors are only able to signal their "on" state:
|
||||
|
||||
- Most motion sensors send a signal each time they detect motion. They stay "on" for a few seconds and go back to sleep, ready to signal other motion events. Usually, they do not send a signal when they go back to sleep.
|
||||
- Some doorbells may also only send "on" signals when their toggle switch is pressed, but no "off" signal when the switch is released.
|
||||
|
||||
For those devices, use the *off_delay* parameter. It defines a delay after which a device will go back to an "Off" state. That "Off" state will be fired internally by Home Assistant, just as if the device fired it by itself. If a motion sensor can only send signals once every 5 seconds, sets the *off_delay* parameter to *seconds: 5*.
|
||||
|
||||
|
||||
Example configuration:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: rfxtrx
|
||||
automatic_add: True
|
||||
devices:
|
||||
091300006ca2c6001080:
|
||||
name: motion_hall
|
||||
device_class: motion
|
||||
off_delay:
|
||||
seconds: 5
|
||||
```
|
||||
|
||||
## Options for PT-2262 devices under the Lighting4 protocol
|
||||
|
||||
When a data packet is transmitted by a PT-2262 device using the Lighting4 protocol, there is no way to automatically extract the device identifier and the command from the packet. Each device has its own id/command length combination and the fields lengths are not included in the data. One device that sends 2 different commands will be seen as 2 devices on Home Assistant. For sur cases, the following options are available in order to circumvent the problem:
|
||||
|
||||
- **data_bits** (*Optional*): Defines how many bits are used for commands inside the data packets sent by the device.
|
||||
- **command_on** (*Optional*): Defines the data bits value that is sent by the device upon an 'On' command.
|
||||
- **command_off** (*Optional*): Defines the data bits value that is sent by the device upon an 'Off' command.
|
||||
|
||||
Let's try to add a new PT-2262 sensor using the "automatic_add" option and have a look at Home Assistant system log.
|
||||
|
||||
Have your sensor trigger the "On" state for the first time. Some messages will appear:
|
||||
|
||||
```
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Added binary sensor 0913000022670e013970 (Device_id: 22670e Class: LightingDevice Sub: 0)
|
||||
```
|
||||
|
||||
Here the sensor has the id *22670e*.
|
||||
|
||||
Now have your sensor trigger the "Off" state and look for the following message in the Home Assistant log. You should see that your device has been detected as a *new* device when triggering its "Off" state:
|
||||
|
||||
```
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Added binary sensor 09130000226707013d70 (Device_id: 226707 Class: LightingDevice Sub: 0)
|
||||
```
|
||||
|
||||
Here the device id is *226707*, which is almost similar to the *22670e* we had on the "On" event a few seconds ago.
|
||||
|
||||
From those two values, you can guess that the actual id of your device is *22670*, and that *e* and *7* are commands for "On" and "Off" states respectively. As one hexadecimal digit uses 4 bits, we can conclude that the device is using 4 data bits.
|
||||
|
||||
So here is the actual configuration section for the binary sensor:
|
||||
|
||||
```yaml
|
||||
platform: rfxtrx
|
||||
automatic_add: True
|
||||
devices:
|
||||
0913000022670e013b70:
|
||||
name: window_room2
|
||||
device_class: opening
|
||||
data_bits: 4
|
||||
command_on: 0xe
|
||||
command_off: 0x7
|
||||
```
|
||||
|
||||
The *automatic_add* option makes the rfxtrx binary sensor component calculate and display the configuration options for you in the Home Assistant logs:
|
||||
|
||||
```
|
||||
INFO (Thread-6) [homeassistant.components.rfxtrx] rfxtrx: found possible device 226707 for 22670e with the following configuration:
|
||||
data_bits=4
|
||||
command_on=0xe
|
||||
command_off=0x7
|
||||
INFO (Thread-6) [homeassistant.components.binary_sensor.rfxtrx] Found possible matching deviceid 22670e.
|
||||
```
|
||||
|
||||
This automatic guess should work most of the time but there is no guarantee on that. You should activate it only when you want
|
||||
to configure your new devices and leave it off otherwise.
|
||||
|
||||
## Known working devices
|
||||
|
||||
The following devices are known to work with the rfxtrx binary sensor component. There are too many other to list.
|
||||
|
||||
- Motion detectors:
|
||||
- Kerui P817 and P829.
|
||||
- Chuango PIR-700.
|
||||
|
||||
- Door / window sensors:
|
||||
- Kerui D026 door / window sensor: can trigger on "open" and "close". Has a temper switch.
|
||||
- Nexa LMST-606 Magnetic contact switch.
|
@ -56,36 +56,40 @@ sensor:
|
||||
Some movement sensors and door/window sensors will appear as a switch. By using a template binary sensor, the switch can be displayed as a binary sensors. The original switch can then be hidden by [customizing.](/getting-started/customizing-devices/)
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
movement:
|
||||
value_template: {% raw %}"{{ states.switch.movement.state == 'on' }}"{% endraw %}
|
||||
device_class: motion
|
||||
door:
|
||||
value_template: {% raw %}"{{ states.switch.door.state == 'on' }}"{% endraw %}
|
||||
value_template: {% raw %}"{{ states.switch.door.state == 'on' }}"{% endraw %}
|
||||
device_class: opening
|
||||
```
|
||||
|
||||
|
||||
### {% linkable_title Combining multiple sensors, and using entity_id: %}
|
||||
|
||||
This example combines multiple CO sensors into a single overall status. It also shows how to use `entity_id`
|
||||
This example combines multiple CO sensors into a single overall
|
||||
status. When using templates with binary sensors, you need to return
|
||||
`True` or `False` explicitly. `entity_id` is used to limit which
|
||||
sensors are being monitored to update the state, making computing this
|
||||
sensor far more efficient.
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
co:
|
||||
friendly_name: 'CO'
|
||||
device_class: 'gas'
|
||||
value_template: {% raw %}>-
|
||||
{%- if is_state("sensor.bedroom_co_status", "Ok")
|
||||
{%- if is_state("sensor.bedroom_co_status", "Ok")
|
||||
and is_state("sensor.kitchen_co_status", "Ok")
|
||||
and is_state("sensor.wardrobe_co_status", "Ok") -%}
|
||||
Off
|
||||
False
|
||||
{%- else -%}
|
||||
On
|
||||
True
|
||||
{%- endif %}{% endraw %}
|
||||
entity_id:
|
||||
- sensor.bedroom_co_status
|
||||
@ -104,5 +108,41 @@ sensor:
|
||||
friendly_name: 'Day/Night'
|
||||
value_template: {% raw %}'{% if is_state("sun.sun", "above_horizon") %}Day{% else %}Night{% endif %}'{% endraw %}
|
||||
icon_template: {% raw %}'{% if is_state("sun.sun", "above_horizon") %}mdi:weather-sunny{% else %}mdi:weather-night{% endif %}'{% endraw %}
|
||||
|
||||
```
|
||||
|
||||
### {% linkable_title Is anyone home? %}
|
||||
|
||||
This example is determining if anyone is home based on the combination
|
||||
of device tracking and motion sensors. It's extremely useful if you
|
||||
have kids / baby sitter / grand parrents who might still be in your
|
||||
house that aren't represented by a trackable device in home
|
||||
assistant. This is providing a composite of wifi based device tracking
|
||||
and z-wave multisensor presence sensors.
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
people_home:
|
||||
value_template: {% raw %}>-
|
||||
{%- if is_state("device_tracker.sean", "home")
|
||||
or is_state("device_tracker.susan", "home")
|
||||
or is_state("binary_sensor.office_124", "on")
|
||||
or is_state("binary_sensor.hallway_134", "on")
|
||||
or is_state("binary_sensor.living_room_139", "on")
|
||||
or is_state("binary_sensor.porch_ms6_1_129", "on")
|
||||
or is_state("binary_sensor.family_room_144", "on")
|
||||
-%}
|
||||
True
|
||||
{%- else -%}
|
||||
False
|
||||
{%- endif %}{% endraw %}
|
||||
entity_id:
|
||||
- device_tracker.sean
|
||||
- device_tracker.susan
|
||||
- binary_sensor.office_124
|
||||
- binary_sensor.hallway_134
|
||||
- binary_sensor.living_room_139
|
||||
- binary_sensor.porch_ms6_1_129
|
||||
- binary_sensor.family_room_144
|
||||
```
|
||||
|
15
source/_components/binary_sensor.verisure.markdown
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Verisure Binary Sensor"
|
||||
description: "Instructions how to integrate Verisure binary sensors into Home Assistant."
|
||||
date: 2016-02-23 21:31 +0100
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: verisure.png
|
||||
ha_category: Binary Sensor
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
Integrates Verisure binary sensors into Home Assistant. See the [main component](/components/verisure/) for configuration instructions.
|
@ -35,6 +35,7 @@ Configuration variables:
|
||||
- **password** (*Optional*): The password for accessing your camera.
|
||||
- **authentication** (*Optional*): Type for authenticating the requests `basic` (default) or `digest`.
|
||||
- **limit_refetch_to_url_change** (*Optional*): True/false value (default: false). Limits refetching of the remote image to when the url changes. Only relevant if using a template to fetch the remote image.
|
||||
- **content_type** (*Optional*): Set the content type for the IP camera if it is not a jpg file (default: `image/jpeg`). Use `image/svg+xml` to add a dynamic svg file.
|
||||
|
||||
<p class='img'>
|
||||
<a href='/cookbook/google_maps_card/'>
|
||||
@ -43,3 +44,16 @@ Configuration variables:
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you find some real life examples of how to use this camera platform.
|
||||
|
||||
### {% linkable_title Weather graph from yr.no %}
|
||||
|
||||
```yaml
|
||||
camera:
|
||||
- platform: generic
|
||||
name: Weather
|
||||
still_image_url: https://www.yr.no/place/Norway/Oslo/Oslo/Oslo/meteogram.svg
|
||||
content_type: 'image/svg+xml'
|
||||
```
|
||||
|
55
source/_components/comfoconnect.markdown
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Zehnder ComfoAir Q Ventilation"
|
||||
description: "Instructions how to integrate Zehnder ComfoAir Q350/450/600 ventilation systems into Home Assistant."
|
||||
date: 2017-06-28 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: zehnder.png
|
||||
ha_category: Hub
|
||||
ha_release: "0.48"
|
||||
---
|
||||
|
||||
The `comfoconnect` component lets you control Zehnder ComfoAir [Q350](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-st)/[450](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-st)/[600](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st)
|
||||
ventilation units from Home Assistant. You need a [ComfoConnect LAN C](http://www.zehnder.co.uk/products-and-systems/comfortable-indoor-ventilation/ms-comfoair-q/ideal-control#node-21233)
|
||||
bridge to connect the unit to your local network.
|
||||
|
||||
There is an official iPhone and Android app to configure and control your unit. This platform connects with the help of
|
||||
the unofficial [pycomfoconnect](https://github.com/michaelarnauts/comfoconnect) library.
|
||||
|
||||
The component has a fan platform to view and control the ventilation speed, and a sensors platform to read out the outdoor temperature and humidity, the indoor temperature and humidity, and the extract and supply air flow (in m³ per hour).
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
comfoconnect:
|
||||
host: 192.168.1.213
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The ip or hostname of the ComfoConnect LAN C bridge.
|
||||
- **name** (*Optional*): The name of this device as you want to see it in Home Assistant.
|
||||
- **token** (*Optional*): The token you want to use when registering with the device. This is a random 32 char hexadecimal string. The default value is `00000000000000000000000000000001`.
|
||||
- **user_agent** (*Optional*): The name you want to supply when registering with the device. The default value is `Home Assistant`.
|
||||
- **pin** (*Optional*): The pin code to use when registering. This is `0000` by default. You only need to change this if you have changed the factory default pin.
|
||||
|
||||
To register the sensors, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: comfoconnect
|
||||
resources:
|
||||
- current_temperature
|
||||
- current_humidity
|
||||
- outside_temperature
|
||||
- outside_humidity
|
||||
- air_flow_supply
|
||||
- air_flow_exhaust
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
Note that it's not possible to have multiple connection to the bridge at the same time. This component will keep the connection open, and if you open the app, it will ask you to disconnect Home Assistant. If you close the app again, Home Assistant will reconnect automatically.
|
||||
</p>
|
34
source/_components/cover.knx.markdown
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
layout: page
|
||||
title: "KNX Cover"
|
||||
description: "Instructions on how to integrate KXN covers with Home Assistant."
|
||||
date: 2017-06-18 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: knx.png
|
||||
ha_category: DIY
|
||||
ha_release: 0.48
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
||||
The `knx` cover platform is used as in interface with KNX covers.
|
||||
|
||||
To use your KNX covers in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: knx
|
||||
updown_address: 9/0/0
|
||||
stop_address: 9/0/1
|
||||
```
|
||||
|
||||
- **updown_address** (*Required*): The KNX group address that is used to move the cover up and down.
|
||||
- **stop_address** (*Required*): The group address that is used to stop the cover.
|
||||
- **setposition_address** (*Optional*): The group address that is used to set the position.
|
||||
- **getposition_address** (*Optional*): The group address that is used to read the position.
|
||||
- **name** (*Optional*): A name for this devices used within Home Assistant.
|
||||
|
77
source/_components/cover.template.markdown
Normal file
@ -0,0 +1,77 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Template Cover"
|
||||
description: "Instructions how to integrate Template covers into Home Assistant."
|
||||
date: 2017-06-19 20:32
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Cover
|
||||
ha_release: 0.48
|
||||
ha_iot_class: "Local Push"
|
||||
logo: home-assistant.png
|
||||
---
|
||||
|
||||
The `template` platform can create covers that combine components and provides the ability to run scripts or invoke services for each of the open, close, stop, position, and tilt commands of a cover.
|
||||
|
||||
To enable Template covers in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: template
|
||||
covers:
|
||||
garage_door:
|
||||
friendly_name: "Garage Door"
|
||||
value_template: "{% raw %}{{is_state('sensor.garage_door > 0'}}{% endraw %}"
|
||||
open_cover:
|
||||
service: script.open_garage_door
|
||||
close_cover:
|
||||
service: script.close_garage_door
|
||||
stop_cover:
|
||||
service: script.stop_garage_door
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **covers** array (*Required*): List of your coverss.
|
||||
- **open_cover** (*Required*): Defines an [action](/getting-started/automation/) to run when the cover is opened.
|
||||
- **close_cover** (*Required*): Defines an [action](/getting-started/automation/) to run when the cover is closed.
|
||||
- **stop_cover** (*Required*): Defines an [action](/getting-started/automation/) to run when the cover is stopped.
|
||||
- **set_cover_position** (*Optional*): Defines an [action](/getting-started/automation/) to run when the cover is set to a specific value (between 0 and 100).
|
||||
- **set_cover_tilt_position** (*Optional*): Defines an [action](/getting-started/automation/) to run when the cover tilt is set to a specific value (between 0 and 100).
|
||||
- **friendly_name** (*Optional*): Name to use in the frontend.
|
||||
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to get the state of the cover. Valid values are open/true or closed/false. Either `value_template` or `position_template` must be specified.
|
||||
- **position_template** (*Optional*): Defines a [template](/topics/templating/) to get the state of the cover. Legal values are numbers between 0 (closed) and 100 (open). Either `value_template` or `position_template` must be specified.
|
||||
- **icon_template** (*Optional*): Defines a [template](/topics/templating/) to specify which icon to use. Either `value_template` or `position_template` must be specified.
|
||||
- **entity_id** (*Optional*): Add a list of entity IDs so the switch only reacts to state changes of these entities. This will reduce the number of times the cover will try to update it's state.
|
||||
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you will find some real life examples of how to use this cover.
|
||||
|
||||
### {% linkable_title Garage Door %}
|
||||
|
||||
This example converts a garage door with a controllable switch and position sensor into a cover.
|
||||
|
||||
```yaml
|
||||
cover:
|
||||
- platform: template
|
||||
covers:
|
||||
garage_door:
|
||||
friendly_name: 'Garage Door'
|
||||
value_template: "{% raw %}{{ sensor.garage_door }}{% endraw %}"
|
||||
open_cover:
|
||||
service: switch.turn_on
|
||||
entity_is: switch.garage_door
|
||||
close_cover:
|
||||
service: switch.turn_off
|
||||
entity_is: switch.garage_door
|
||||
stop_cover:
|
||||
service: switch.turn_on
|
||||
entity_is: switch.garage_door
|
||||
icon_template: "{% raw %}{% if not is_state('sensor.garage_door', 'on') %}mdi:garage-open{% else %}mdi:garage{% endif %}{% endraw %}"
|
||||
|
||||
```
|
31
source/_components/device_tracker.linksys_smart.markdown
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Linksys Smart Wifi Router"
|
||||
description: "Instructions how to integrate Linksys Smart Wifi Router into Home Assistant."
|
||||
date: 2017-06-22 01:40
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Presence Detection
|
||||
logo: linksys.png
|
||||
ha_release: 0.48
|
||||
---
|
||||
|
||||
The `linksys_smart` platform offers presence detection by looking at connected devices to a Linksys Smart Wifi based
|
||||
router. It was tested with a LINKSYS WRT3200ACM MU-MIMO Gigabit Wi-Fi Wireless Router.
|
||||
|
||||
To use a Linksys Smart Wifi Router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
device_tracker:
|
||||
- platform: linksys_smart
|
||||
host: 192.168.1.1
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The hostname or IP address of your router, eg. `192.168.1.1`.
|
||||
|
||||
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
|
17
source/_components/fan.comfoconnect.markdown
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Zehnder ComfoAir Q Ventilation fans"
|
||||
description: "Instructions how to integrate Zehnder ComfoAir Q350/450/600 fans into Home Assistant."
|
||||
date: 2017-06-28 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: zehnder.png
|
||||
ha_category: Fan
|
||||
ha_release: "0.48"
|
||||
---
|
||||
|
||||
Please see the [main component] for information how to set it up.
|
||||
|
||||
[main component]: /components/comfoconnect/
|
34
source/_components/fan.insteon_local.markdown
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Insteon (Local) Fan"
|
||||
description: "Instructions how to setup the Insteon Hub Fans locally within Home Assistant."
|
||||
date: 2017-04-06 11:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: insteon.png
|
||||
ha_category: fan
|
||||
ha_version: 0.48
|
||||
---
|
||||
|
||||
The `insteon_local` fan component lets you control your fan connected to an [Insteon Hub](http://www.insteon.com/insteon-hub/) with Home Assistant.
|
||||
|
||||
To integrate add a fan, configure your hub Insteon(local) with Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml platform entry
|
||||
insteon_local:
|
||||
host: YOUR HUB IP
|
||||
username: YOUR HUB USERNAME
|
||||
password: YOUR HUB PASSWORD
|
||||
timeout: 10
|
||||
port: 25105
|
||||
```
|
||||
|
||||
To add fans to your set-up, add the platform to your light configuration:
|
||||
```yaml
|
||||
fan:
|
||||
- platform: insteon_local
|
||||
```
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Home Assistant 0.47"
|
||||
title: "Home Assistant 0.48"
|
||||
description: ""
|
||||
date: 2016-12-16 17:00
|
||||
sidebar: true
|
||||
@ -9,7 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Other
|
||||
ha_release: 0.47
|
||||
ha_release: 0.48
|
||||
---
|
||||
|
||||
Details about the latest release can always be found at:
|
||||
|
@ -13,9 +13,9 @@ featured: false
|
||||
ha_release: 0.44
|
||||
---
|
||||
|
||||
The `dlib_face_detect` image processing platform allows you to use the [Dlib](http://www.dlib.net/) through Home Assistant. This platform enables you do detect face on camera and fire a event with attributes.
|
||||
The `dlib_face_detect` image processing platform allows you to use the [Dlib](http://www.dlib.net/) through Home Assistant. This platform enables face detection from cameras, and can fire events with attributes.
|
||||
|
||||
For using the result inside an automation rule, take a look at the [component](/components/image_processing/) page.
|
||||
This can be used to trigger an automation rule. Further info is on the [component](/components/image_processing/) page.
|
||||
|
||||
### {% linkable_title Configuration Home Assistant %}
|
||||
|
||||
|
@ -51,3 +51,5 @@ image_processing:
|
||||
- **file** (*Required*): The path to the classifier xml file.
|
||||
- **scale** (*Optional*): The scale to perform when processing, this is a `float` value that must be greater than or equal to `1.0`, default is `1.1`.
|
||||
- **neighbors** (*Optional*): The minimum number of neighbors required for a match, default is `4`. The higher this number, the more picky the matching will be; lower the number, the more false positives you may experience.
|
||||
|
||||
If you would like to see the regions that OpenCV has detected, add this opencv camera to your config's custom_components/camera directory: [https://gist.github.com/Teagan42/bf4b941b34a79a3e184e149ff1efd82f](https://gist.github.com/Teagan42/bf4b941b34a79a3e184e149ff1efd82f)
|
||||
|
@ -50,5 +50,8 @@ light:
|
||||
|
||||
switch:
|
||||
- platform: insteon_local
|
||||
|
||||
fan:
|
||||
- platform: insteon_local
|
||||
```
|
||||
|
||||
|
@ -34,3 +34,23 @@ Configuration variables:
|
||||
- **[mac address]** (*Required*): The bluetooth address of the switch.
|
||||
- **name** (*Optional*): The custom name to use in the frontend.
|
||||
- **api_key** (*Required*): The API key to acces the device.
|
||||
|
||||
<p class='note'>
|
||||
If you get an error looking like this:
|
||||
|
||||
```bash
|
||||
Jun 20 19:41:18 androlapin hass[29588]: ERROR:homeassistant.components.light:Error while setting up platform decora
|
||||
[...]
|
||||
Jun 20 19:41:18 androlapin hass[29588]: File "/usr/lib/python3.6/concurrent/futures/thread.py", line 55, in run
|
||||
Jun 20 19:41:18 androlapin hass[29588]: result = self.fn(*self.args, **self.kwargs)
|
||||
Jun 20 19:41:18 androlapin hass[29588]: File "/opt/homeassistant/custom_components/light/decora.py", line 68, in setup_platform
|
||||
Jun 20 19:41:18 androlapin hass[29588]: light = DecoraLight(device)
|
||||
[...]
|
||||
Jun 20 19:41:18 androlapin hass[29588]: OSError: [Errno 8] Exec format error
|
||||
```
|
||||
|
||||
1. Go to your `.homeassistant` folder
|
||||
2. Then go to `deps/bluepy` subfolder.
|
||||
3. Then run `make all`
|
||||
4. Restart home assistant
|
||||
</p>
|
||||
|
@ -34,6 +34,10 @@ light:
|
||||
- number: 2
|
||||
type: rgbw
|
||||
name: Bathroom
|
||||
- number: 3
|
||||
type: rgbw
|
||||
name: Kitchen
|
||||
fade: on
|
||||
- host: 192.168.1.11
|
||||
groups:
|
||||
- number: 1
|
||||
@ -53,6 +57,7 @@ Configuration variables:
|
||||
- **number** (*Required*): Group number (`1`-`4`). Corresponds to the group number on the remote. These numbers may overlap only if the type is different.
|
||||
- **name** (*Required*): Any name you'd like. Must be unique among all configured groups.
|
||||
- **type** (*Optional*): Type of group. Choose either `rgbww`, `rgbw`, `white`, or `bridge-led`. `rgbw` is the default if you don't specify this entry. Use `bridge-led` to control the built-in LED of newer WiFi bridges.
|
||||
- **fade** (*Optional*): Fade behavior. Defaults to `off`. If turned on, the group is faded out before being turned off. This makes for a more pleasing transition at the expense of wall switch usability, since the light will turn back on at the lowest brightness if it is power cycled.
|
||||
|
||||
### {% linkable_title Properties %}
|
||||
|
||||
|
@ -13,8 +13,7 @@ ha_iot_class: "Local Polling"
|
||||
ha_release: 0.7.2
|
||||
---
|
||||
|
||||
|
||||
The `denon` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant.
|
||||
The `denon` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon AVR] platform.
|
||||
|
||||
Supported devices:
|
||||
|
||||
@ -22,22 +21,6 @@ Supported devices:
|
||||
- Denon RCD-N8 (untested)
|
||||
- Denon RCD-N9 (partial support)
|
||||
- Denon AVR receivers with integrated Network support (partial support)
|
||||
- Denon AVR-X2000 (via denonavr platform)
|
||||
- Denon AVR-X2100W (via denonavr platform)
|
||||
- Denon AVR-X4100W (via denonavr platform)
|
||||
- Denon AVR-1912 (via denonavr platform)
|
||||
- Denon AVR-2312CI (via denonavr platform)
|
||||
- Denon AVR-3311CI (via denonavr platform)
|
||||
- Marantz M-CR603 (via denonavr platform)
|
||||
- Marantz M-RC610 (via denonavr platform)
|
||||
- Marantz SR5008 (via denonavr platform)
|
||||
- Marantz NR1604 (via denonavr platform)
|
||||
- Other Denon AVR receivers (via denonavr platform (untested))
|
||||
- Marantz receivers (experimental via denonavr platform)
|
||||
|
||||
<pre class='note'>
|
||||
If you have something else using the IP controller for your Denon AVR 3808CI, such as your URC controller, it will not work! There is either a bug or security issue with some models where only one device could be controlling the IP functionality.
|
||||
</pre>
|
||||
|
||||
To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -55,36 +38,11 @@ Configuration variables:
|
||||
- **name** (*Optional*): Name of the device.
|
||||
|
||||
A few notes for platform: denon
|
||||
|
||||
- The receiver handles only one telnet connection and refuses others.
|
||||
- Be careful with the volume. 100% or even 50% is very loud.
|
||||
- To be able to wake up the receiver, activate the "remote" setting in the receiver's settings.
|
||||
- Play and pause are supported, toggling is not possible.
|
||||
- Seeking cannot be implemented as the UI sends absolute positions. Only seeking via simulated button presses is possible.
|
||||
|
||||
|
||||
**denonavr platform**
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: denonavr
|
||||
host: IP_ADDRESS
|
||||
name: NAME
|
||||
show_all_sources: True / False
|
||||
zones:
|
||||
- zone: Zone2 / Zone3
|
||||
name: NAME
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): IP address of the device. Example: 192.168.1.32. If not set, auto discovery is used.
|
||||
- **name** (*Optional*): Name of the device. If not set, friendlyName of receiver is used.
|
||||
- **show_all_sources** (*Optional*): If True all sources are displayed in sources list even if they are marked as deleted in the receiver. If False deleted sources are not displayed (default). Some receivers have a bug that marks all sources as deleted in the interface. In this case this option could help.
|
||||
- **zones** (*Optional*): List of additional zones to be activated. They are displayed as additional media players with the same functionality Main Zone of the device supports
|
||||
- **zone**: Zone which should be activated. Valid options are Zone2 and Zone3
|
||||
- **name** (*Optional*): Name of the zone. If not set the name of the main device + zone as suffix is taken.
|
||||
|
||||
A few notes for platform: denonavr
|
||||
- Additional option the control Denon AVR receivers with a builtin web server is using the HTTP interface with denonavr platform.
|
||||
- denonavr platform supports some additional functionalities like album covers, custom input source names and auto discovery.
|
||||
- Marantz receivers seem to a have quite simliar interface. Thus if you own one, give it a try.
|
||||
[Denon AVR]: /components/media_player.denonavr/
|
||||
|
67
source/_components/media_player.denonavr.markdown
Normal file
@ -0,0 +1,67 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Denon AVR Network Receivers"
|
||||
description: "Instructions how to integrate Denon AVR Network Receivers into Home Assistant."
|
||||
date: 2015-09-08 09:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: denon.png
|
||||
ha_category: Media Player
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: 0.7.2
|
||||
---
|
||||
|
||||
|
||||
The `denonavr` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform.
|
||||
|
||||
Supported devices:
|
||||
|
||||
- Denon AVR-X2000
|
||||
- Denon AVR-X2100W
|
||||
- Denon AVR-X4100W
|
||||
- Denon AVR-1912
|
||||
- Denon AVR-2312CI
|
||||
- Denon AVR-3311CI
|
||||
- Marantz M-CR603
|
||||
- Marantz M-RC610
|
||||
- Marantz SR5008
|
||||
- Marantz NR1604
|
||||
- Other Denon AVR receivers (untested)
|
||||
- Marantz receivers (experimental)
|
||||
|
||||
<pre class='note'>
|
||||
If you have something else using the IP controller for your Denon AVR 3808CI, such as your URC controller, it will not work! There is either a bug or security issue with some models where only one device could be controlling the IP functionality.
|
||||
</pre>
|
||||
|
||||
To add a Denon Network Receiver to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
media_player:
|
||||
- platform: denonavr
|
||||
host: IP_ADDRESS
|
||||
name: NAME
|
||||
show_all_sources: True / False
|
||||
zones:
|
||||
- zone: Zone2 / Zone3
|
||||
name: NAME
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): IP address of the device. Example: 192.168.1.32. If not set, auto discovery is used.
|
||||
- **name** (*Optional*): Name of the device. If not set, friendlyName of receiver is used.
|
||||
- **show_all_sources** (*Optional*): If True all sources are displayed in sources list even if they are marked as deleted in the receiver. If False deleted sources are not displayed (default). Some receivers have a bug that marks all sources as deleted in the interface. In this case this option could help.
|
||||
- **zones** (*Optional*): List of additional zones to be activated. They are displayed as additional media players with the same functionality Main Zone of the device supports
|
||||
- **zone**: Zone which should be activated. Valid options are Zone2 and Zone3
|
||||
- **name** (*Optional*): Name of the zone. If not set the name of the main device + zone as suffix is taken.
|
||||
|
||||
A few notes:
|
||||
|
||||
- Additional option the control Denon AVR receivers with a builtin web server is using the HTTP interface with denonavr platform.
|
||||
- denonavr platform supports some additional functionalities like album covers, custom input source names and auto discovery.
|
||||
- Marantz receivers seem to a have quite simliar interface. Thus if you own one, give it a try.
|
||||
|
||||
[Denon]: /components/media_player.denon/
|
@ -58,3 +58,29 @@ Configuration variables:
|
||||
- **client_id** (*Required*): Your Nest developer client ID.
|
||||
- **client_secret** (*Required*): Your Nest developer client secret.
|
||||
- **structure** (*Optional*): The structure or structures you would like to include devices from. If not specified, this will include all structures in your Nest account.
|
||||
|
||||
### {% linkable_title Services %}
|
||||
|
||||
Currently there is a single `nest.set_mode` service available to switch between
|
||||
"away" and "home" modes. This service requires a `home_mode` param and has an
|
||||
optional `structure` param.
|
||||
|
||||
```yaml
|
||||
# Example script to set away, no structure specified so will execute for all
|
||||
set_nest_away:
|
||||
sequence:
|
||||
- service: nest.set_mode
|
||||
data:
|
||||
home_mode: away
|
||||
```
|
||||
|
||||
```yaml
|
||||
# Example script to set home, structure specified
|
||||
set_nest_home:
|
||||
sequence:
|
||||
- service: nest.set_mode
|
||||
data:
|
||||
home_mode: home
|
||||
structure:
|
||||
- Building
|
||||
```
|
||||
|
41
source/_components/notify.clicksend.markdown
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
layout: page
|
||||
title: "ClickSend"
|
||||
description: "Instructions on how to add ClickSend notifications to Home Assistant."
|
||||
date: 2017-06-22 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: clicksend.png
|
||||
ha_category: Notifications
|
||||
ha_release: 0.48
|
||||
---
|
||||
|
||||
|
||||
The `clicksend` platform uses [ClickSend](https://clicksend.com) to deliver notifications from Home Assistant.
|
||||
|
||||
### Get your ClickSend API Credentials
|
||||
Go to your [ClickSend Dashboard](https://dashboard.clicksend.com) section and create your new project. After creating your project, you should now be able to obtain your `username` and `api_key`.
|
||||
|
||||
### Configuration
|
||||
To add ClickSend to your installation, add the following to your Home Assistant `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
notify:
|
||||
- platform: clicksend
|
||||
name: ClickSend
|
||||
username: CLICKSEND_USERNAME
|
||||
api_key: CLICKSEND_API_KEY
|
||||
recipient: PHONE_NO
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
* **name** (Optional): Setting the optional parameter name allows multiple notifiers to be created. The default value is `ClickSend`. The notifier will bind to the service notify.NOTIFIER_NAME.
|
||||
* **username** (Required): Your `Username`.
|
||||
* **api_key** (Required): Your `API Key`.
|
||||
* **recipient** (Required): Your phone no. This is where you want to send your notification SMS messages. eg: `09171234567`
|
||||
|
||||
|
||||
To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/).
|
@ -32,11 +32,11 @@ Configuration variables:
|
||||
- **sender** (*Required*): E-mail address of the sender.
|
||||
- **recipient** (*Required*): E-mail address of the recipient of the notification. This can be a recipient address or a list of addresses for multiple recipients.
|
||||
- **server** (*Optional*): SMTP server which is used to end the notifications. Defaults to `localhost`.
|
||||
- **port** (*Optional*): The port that the SMTP server is using. Defaults to 25.
|
||||
- **port** (*Optional*): The port that the SMTP server is using. Defaults to 465.
|
||||
- **timeout** (*Optional*): The timeout in seconds that the SMTP server is using. Defaults to 5.
|
||||
- **username** (*Optional*): Username for the SMTP account.
|
||||
- **password** (*Optional*): Password for the SMTP server that belongs to the given username. If the password contains a colon it need to be wrapped in apostrophes.
|
||||
- **starttls** (*Optional*): Enables STARTTLS, eg. True or False. Defaults to False.
|
||||
- **encryption** (*Optional*): Set mode for encryption, `tls`, `starttls` or `none`. Defaults to `tls`.
|
||||
- **sender_name** (*Optional*): Sets a custom 'sender name' in the emails headers (*From*: Custom name <example@mail.com>).
|
||||
- **debug** (*Optional*): Enables Debug, eg. True or False. Defaults to False.
|
||||
|
||||
@ -51,7 +51,7 @@ notify:
|
||||
port: 587
|
||||
timeout: 15
|
||||
sender: john@gmail.com
|
||||
starttls: true
|
||||
encryption: starttls
|
||||
username: john@gmail.com
|
||||
password: thePassword
|
||||
recipient:
|
||||
|
105
source/_components/sensor.bh1750.markdown
Normal file
@ -0,0 +1,105 @@
|
||||
---
|
||||
layout: page
|
||||
title: "BH1750 Light sensor"
|
||||
description: "Instructions how to integrate a BH1750 light sensor into Home Assistant."
|
||||
date: 2017-06-10 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.48
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
|
||||
The `bh1750` sensor platform allows you to read the ambient light level in lux from a [BH1750FVI sensor](http://cpre.kmutnb.ac.th/esl/learning/bh1750-light-sensor/bh1750fvi-e_datasheet.pdf) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the resolution modes of the sensor described in its datasheet.
|
||||
|
||||
Tested devices:
|
||||
|
||||
- [Raspberry Pi](https://www.raspberrypi.org/)
|
||||
|
||||
|
||||
To use your BH1750 sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: BH1750
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*): The name of the sensor
|
||||
- **i2c_address** (*Optional*): I2c address of the sensor. It is 0x23 or 0x5C.
|
||||
- **i2c_bus** (*Optional*): I2c bus where the sensor is. Defaults to 1, for Raspberry Pi 2 and 3.
|
||||
- **operation_mode** (*Optional*): Working mode for the sensor. Defaults to `continuous_high_res_mode_1` for continuous measurement and 1 lx resolution.
|
||||
- **measurement_delay_ms** (*Optional*): Delay time in ms for waiting the sensor to get the measure. Defaults to 120 ms.
|
||||
- **multiplier** (*Optional*): Correction coefficient to multiply the measured light level. Value between 0.1 and 10. Default is 1.
|
||||
|
||||
|
||||
## {% linkable_title Full Examples %}
|
||||
|
||||
If you want to specify the resolution mode of the digital sensor or need to change the default I2c address (which is 0x23), add more details to the `configuration.yaml` file.
|
||||
|
||||
The sensor can work with resolutions of 0.5 lx (high res mode 1), 1 lx (high res mode 2) or 4 lx (low res mode), and make measurements continuously or one time each call. To set any of these operation modes, select one of these combinations: `continuous_low_res_mode`, `continuous_high_res_mode_2`, `continuous_high_res_mode_1`, `one_time_high_res_mode_1`, `one_time_high_res_mode_2`, `one_time_low_res_mode`.
|
||||
|
||||
```yaml
|
||||
# Example of customized configuration.yaml entry
|
||||
sensor:
|
||||
- platform: bh1750
|
||||
name: Ambient light
|
||||
i2c_address: 0x5C
|
||||
operation_mode: one_time_high_res_mode_1
|
||||
measurement_delay_ms: 200
|
||||
scan_interval: 25
|
||||
```
|
||||
|
||||
## {% linkable_title Directions for installing smbus support on Raspberry Pi %}
|
||||
|
||||
Enable I2c interface with the Raspberry Pi configuration utility:
|
||||
|
||||
```bash
|
||||
# pi user environment: Enable i2c interface
|
||||
$ sudo raspi-config
|
||||
```
|
||||
|
||||
Select `Interfacing options->I2C` choose `<Yes>` and hit `Enter`, then go to `Finish` and you'll be prompted to reboot.
|
||||
|
||||
Install dependencies for use the `smbus-cffi` module and enable your _homeassistant_ user to join the _i2c_ group:
|
||||
|
||||
```bash
|
||||
# pi user environment: Install i2c dependencies and utilities
|
||||
$ sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
|
||||
|
||||
# pi user environment: Add homeassistant user to the i2c group
|
||||
$ sudo addgroup homeassistant i2c
|
||||
|
||||
# pi user environment: Reboot Raspberry Pi to apply changes
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
### {% linkable_title Check the i2c address of the sensor %}
|
||||
|
||||
After installing `i2c-tools`, a new utility is available to scan the addresses of the connected sensors:
|
||||
|
||||
```bash
|
||||
$ /usr/sbin/i2cdetect -y 1
|
||||
```
|
||||
|
||||
It will output a table like this:
|
||||
|
||||
```text
|
||||
0 1 2 3 4 5 6 7 8 9 a b c d e f
|
||||
00: -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
|
||||
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
40: 40 -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
|
||||
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
70: -- -- -- -- -- -- -- 77
|
||||
```
|
||||
|
||||
So you can see the sensor address what you are looking for is **0x23** (there are more i2c sensors in that Raspberry Pi).
|
146
source/_components/sensor.bme280.markdown
Normal file
@ -0,0 +1,146 @@
|
||||
---
|
||||
layout: page
|
||||
title: "BME280 Sensor"
|
||||
description: "Instructions how to integrate a BME280 sensor into Home Assistant."
|
||||
date: 2017-06-10 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.48
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
|
||||
The `bme280` sensor platform allows you to read temperature, humidity and pressure values of a [Bosch BME280 Environmental sensor](https://cdn-shop.adafruit.com/datasheets/BST-BME280_DS001-10.pdf) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the operation modes of the sensor described in its datasheet.
|
||||
|
||||
Tested devices:
|
||||
|
||||
- [Raspberry Pi](https://www.raspberrypi.org/)
|
||||
|
||||
To use your BME280 sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: bme280
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*): The name of the sensor
|
||||
- **i2c_address** (*Optional*): I2c address of the sensor. It is 0x76 or 0x77.
|
||||
- **i2c_bus** (*Optional*): I2c bus where the sensor is. Defaults to 1, for Raspberry Pi 2 and 3.
|
||||
- **operation_mode** (*Optional*): Power mode for the sensor. Use 2 for forced mode or 3 for normal mode. Defaults to normal mode.
|
||||
- **time_standby** (*Optional*): Standby time in ms for normal mode of operation as described in the sensor datasheet. Defaults to 5 ms.
|
||||
- **oversampling_temperature** (*Optional*): Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16. Default is 1.
|
||||
- **oversampling_pressure** (*Optional*): Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16. Default is 1.
|
||||
- **oversampling_humidity** (*Optional*): Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16. Default is 1.
|
||||
- **filter_mode** (*Optional*): IIR filter coeficient as described in the sensor datasheet. Default is 0, for filter off.
|
||||
- **delta_temperature** (*Optional*): Absolute delta for temperature correction.
|
||||
- **monitored_conditions** array (*Optional*): Conditions to monitor. Available conditions are *temperature*, *humidity* and *pressure*. By default all three are displayed.
|
||||
|
||||
## {% linkable_title Full Examples %}
|
||||
|
||||
If you want to specify the working mode of the digital sensor or need to change the default I2c address (which is 0x76), add more details to the `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example of customized configuration.yaml entry
|
||||
sensor:
|
||||
- platform: bme280
|
||||
name: Ambient
|
||||
i2c_address: 0x77
|
||||
operation_mode: 2 # forced mode
|
||||
time_standby: 5
|
||||
oversampling_temperature: 4
|
||||
oversampling_pressure: 4
|
||||
oversampling_humidity: 4
|
||||
delta_temperature: -0.5
|
||||
monitored_conditions:
|
||||
- temperature
|
||||
- humidity
|
||||
- pressure
|
||||
scan_interval: 40
|
||||
```
|
||||
|
||||
This sensor is somehow famous for generating relatively high temperature measurements compared to other sensors (it looks like self-heating does not feel good for some encapsulations). If you experience this problem, you can define an absolute delta of temperature correction using a negative number.
|
||||
|
||||
## {% linkable_title Customizing the sensor data %}
|
||||
|
||||
Give the values friendly names and icons, add the following to your `customize:` section.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
customize:
|
||||
sensor.ambient_temperature:
|
||||
icon: mdi:thermometer
|
||||
friendly_name: "Temperature"
|
||||
sensor.ambient_humidity:
|
||||
icon: mdi:weather-rainy
|
||||
friendly_name: "Humidity"
|
||||
sensor.ambient_pressure:
|
||||
icon: mdi:gauge
|
||||
friendly_name: "Pressure"
|
||||
```
|
||||
|
||||
To create a group, add the following to your `groups` section.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
group:
|
||||
ambient_sensor:
|
||||
name: BME280 Environment sensor
|
||||
entities:
|
||||
- sensor.ambient_temperature
|
||||
- sensor.ambient_humidity
|
||||
- sensor.ambient_pressure
|
||||
```
|
||||
|
||||
## {% linkable_title Directions for installing smbus support on Raspberry Pi %}
|
||||
|
||||
Enable I2c interface with the Raspberry Pi configuration utility:
|
||||
|
||||
```bash
|
||||
# pi user environment: Enable i2c interface
|
||||
$ sudo raspi-config
|
||||
```
|
||||
|
||||
Select `Interfacing options->I2C` choose `<Yes>` and hit `Enter`, then go to `Finish` and you'll be prompted to reboot.
|
||||
|
||||
Install dependencies for use the `smbus-cffi` module and enable your _homeassistant_ user to join the _i2c_ group:
|
||||
|
||||
```bash
|
||||
# pi user environment: Install i2c dependencies and utilities
|
||||
$ sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
|
||||
|
||||
# pi user environment: Add homeassistant user to the i2c group
|
||||
$ sudo addgroup homeassistant i2c
|
||||
|
||||
# pi user environment: Reboot Raspberry Pi to apply changes
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
### {% linkable_title Check the i2c address of the sensor %}
|
||||
|
||||
After installing `i2c-tools`, a new utility is available to scan the addresses of the connected sensors:
|
||||
|
||||
```bash
|
||||
$ /usr/sbin/i2cdetect -y 1
|
||||
```
|
||||
|
||||
It will output a table like this:
|
||||
```text
|
||||
0 1 2 3 4 5 6 7 8 9 a b c d e f
|
||||
00: -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
|
||||
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
40: 40 -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
|
||||
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
70: -- -- -- -- -- -- -- 77
|
||||
```
|
||||
|
||||
So you can see the sensor address what you are looking for is **0x77** (there are more i2c sensors in that Raspberry Pi).
|
@ -33,9 +33,10 @@ sensor:
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*): You can specify a name of the component, but do not have to. If you specify a name, the sensors will get an entity name of 'sensor.[name]\_[monitored_condition]', for example: 'sensor.lopik_temperature'; if no name is specified the sensors will be called 'sensor.br_[monitored_condition]', for example 'sensor.br_temperature'.
|
||||
- **latitude** (*Optional*): Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.
|
||||
- **longitude** (*Optional*): Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.
|
||||
- **name** (*Optional*): You can specify a name of the component, but do not have to. If you specify a name, the sensors will get an entity name of 'sensor.[name]`[monitored_condition]`, for example: `sensor.lopik_temperature`; if no name is specified the sensors will be called `sensor.br_[monitored_condition]`, for example `sensor.br_temperature`.
|
||||
- **latitude** (*Optional*): Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.nl.
|
||||
- **longitude** (*Optional*): Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.nl.
|
||||
- **timeframe** (*Optional*): Minutes to look ahead for precipitation (5..120) [default: 60].
|
||||
- **monitored_conditions** array (*Required*): One or more conditions to display in the frontend.
|
||||
- **stationname**: The name of the selected meteo-station.
|
||||
- **symbol**: A symbol for the current weather.
|
||||
@ -51,6 +52,8 @@ Configuration variables:
|
||||
- **windgust**: The windspeed of wind gusts (m/s).
|
||||
- **precipitation**: The amount of precipitation/rain in mm/h.
|
||||
- **irradiance**: Sun intensity in Watt per square meter (W/m2).
|
||||
- **precipitation_forecast_average**: The average expected precipitation/rain in mm/h within the given timeframe.
|
||||
- **precipitation_forecast_total**: The total expected precipitation/rain in mm/h within the given timeframe.
|
||||
|
||||
Full configuration example where location is manually specified:
|
||||
|
||||
@ -74,5 +77,7 @@ Full configuration example where location is manually specified:
|
||||
- windgust
|
||||
- precipitation
|
||||
- irradiance
|
||||
- precipitation_forecast_average
|
||||
- precipitation_forecast_total
|
||||
```
|
||||
|
||||
|
17
source/_components/sensor.comfoconnect.markdown
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Zehnder ComfoAir Q Ventilation sensors"
|
||||
description: "Instructions how to integrate Zehnder ComfoAir Q350/450/600 sensors into Home Assistant."
|
||||
date: 2017-06-28 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: zehnder.png
|
||||
ha_category: Sensor
|
||||
ha_release: "0.48"
|
||||
---
|
||||
|
||||
Please see the [main component] for information how to set it up.
|
||||
|
||||
[main component]: /components/comfoconnect/
|
@ -16,7 +16,7 @@ ha_release: 0.7.3
|
||||
|
||||
The `glances` sensor platform is consuming the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant.
|
||||
|
||||
This sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3.
|
||||
This sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3.
|
||||
To start a Glances RESTful API server on its default port 61208, the a test the following command can be used:
|
||||
|
||||
```bash
|
||||
@ -57,6 +57,7 @@ sensor:
|
||||
- 'process_total'
|
||||
- 'process_thread'
|
||||
- 'process_sleeping'
|
||||
- 'cpu_temp'
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
@ -79,4 +80,6 @@ Configuration variables:
|
||||
- **process_total**: Total number of processes
|
||||
- **process_thread**: Number of threads
|
||||
- **process_sleeping**: Number of sleeping processes
|
||||
- **cpu_temp**: CPU Temperature (may not available on all platforms)
|
||||
|
||||
Not all platforms are able to provide all metrics. For instance `cpu_temp` is requires installing and configuring `lmsensors` in Ubuntu, and may not be available at all in other platforms.
|
||||
|
@ -54,4 +54,5 @@ Configuration variables:
|
||||
- **destination** (*Required*): The stop ID of your destination station.
|
||||
- **data** (*Required*): The name of the ZIP file or folder containing the GTFS data. It must be located inside the `gtfs` folder of your configuration directory.
|
||||
- **name** (*Optional*): Name to use in the frontend.
|
||||
- **offset** (*Optional*): A minimum delay to look for. If a departure is in less time than `offset`, it will be ignored. Defaults to `0`.
|
||||
|
||||
|
109
source/_components/sensor.htu21d.markdown
Normal file
@ -0,0 +1,109 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HTU21D Temperature and humidity sensor"
|
||||
description: "Instructions how to integrate a HTU21D Temperature and humidity sensor into Home Assistant."
|
||||
date: 2017-06-10 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.48
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
|
||||
The `htu21d` sensor platform allows you to read the temperature and humidity from a [HTU21D sensor](http://www.datasheetspdf.com/PDF/HTU21D/779951/1) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins).
|
||||
|
||||
Tested devices:
|
||||
|
||||
- [Raspberry Pi](https://www.raspberrypi.org/)
|
||||
|
||||
To use your HTU21D sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: htu21d
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (*Optional*): The name of the sensor
|
||||
- **i2c_bus** (*Optional*): I2c bus where the sensor is. Defaults to 1, for Raspberry Pi 2 and 3.
|
||||
|
||||
|
||||
## {% linkable_title Customizing the sensor data %}
|
||||
|
||||
Give the values friendly names and icons, add the following to your `customize:` section.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
customize:
|
||||
sensor.htu21d_sensor_temperature:
|
||||
icon: mdi:thermometer
|
||||
friendly_name: "Temperature"
|
||||
sensor.htu21d_sensor_humidity:
|
||||
icon: mdi:weather-rainy
|
||||
friendly_name: "Humidity"
|
||||
```
|
||||
|
||||
To create a group, add the following to your `groups` section.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
group:
|
||||
ambient_sensor:
|
||||
name: HTU21D Environment sensor
|
||||
entities:
|
||||
- sensor.htu21d_sensor_temperature
|
||||
- sensor.htu21d_sensor_humidity
|
||||
```
|
||||
|
||||
## {% linkable_title Directions for installing smbus support on Raspberry Pi %}
|
||||
|
||||
Enable I2c interface with the Raspberry Pi configuration utility:
|
||||
|
||||
```bash
|
||||
# pi user environment: Enable i2c interface
|
||||
$ sudo raspi-config
|
||||
```
|
||||
|
||||
Select `Interfacing options->I2C` choose `<Yes>` and hit `Enter`, then go to `Finish` and you'll be prompted to reboot.
|
||||
|
||||
Install dependencies for use the `smbus-cffi` module and enable your _homeassistant_ user to join the _i2c_ group:
|
||||
|
||||
```bash
|
||||
# pi user environment: Install i2c dependencies and utilities
|
||||
$ sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
|
||||
|
||||
# pi user environment: Add homeassistant user to the i2c group
|
||||
$ sudo addgroup homeassistant i2c
|
||||
|
||||
# pi user environment: Reboot Raspberry Pi to apply changes
|
||||
$ sudo reboot
|
||||
```
|
||||
|
||||
### {% linkable_title Check the i2c address of the sensor %}
|
||||
|
||||
After installing `i2c-tools`, a new utility is available to scan the addresses of the connected sensors:
|
||||
|
||||
```bash
|
||||
$ /usr/sbin/i2cdetect -y 1
|
||||
```
|
||||
|
||||
It will output a table like this:
|
||||
```text
|
||||
0 1 2 3 4 5 6 7 8 9 a b c d e f
|
||||
00: -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
|
||||
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
40: 40 -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
|
||||
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
70: -- -- -- -- -- -- -- 77
|
||||
```
|
||||
|
||||
So you can see the sensor is present at the **0x40** address (there are more i2c sensors in that Raspberry Pi).
|
@ -40,6 +40,7 @@ Configuration variables:
|
||||
- **password** (*Required*): Password used to log into the Hydro-Québec site.
|
||||
- **contract** (required since HA 4.0) Your contract number with Hydro-Québec
|
||||
- **monitored_variables** array (*Required*): Variables to monitor.
|
||||
- **balance** : Current balance
|
||||
- **period_total_bill** : Current period bill
|
||||
- **period_length**: Current period length
|
||||
- **period_total_days**: Total number of days in this period
|
||||
|
@ -19,11 +19,12 @@ The `knx` component must be configured correctly, see [KNX Component](/component
|
||||
|
||||
There is currently support for the following KNX data point types:
|
||||
|
||||
| Condition | KNX Datapoint Type | Unit of measurement | Data type |
|
||||
| :-------------------|:--------------------|:--------------------|:-------------|
|
||||
| Temperature | 9.001 | °C | 2 Byte Float |
|
||||
| Speed (Wind speed) | 9.005 | m/s | 2 Byte Float |
|
||||
| Illuminance (Lux) | 9.004 | Lux | 2 Byte Float |
|
||||
| Condition | KNX Datapoint Type | Unit of measurement | Data type |
|
||||
| :-------------------|:--------------------|:--------------------|:-------------------------------|
|
||||
| Temperature | 9.001 | °C | 2 Byte Float |
|
||||
| Speed (Wind speed) | 9.005 | m/s | 2 Byte Float |
|
||||
| Illuminance (Lux) | 9.004 | Lux | 2 Byte Float |
|
||||
| Percentage | 5.001 | % | 1 Byte Scaled Unsigned Integer |
|
||||
|
||||
To use your KNX sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
@ -43,6 +44,11 @@ sensor:
|
||||
name: Lux
|
||||
type: illuminance
|
||||
address: 1/0/1
|
||||
|
||||
- platform: knx
|
||||
name: percent
|
||||
type: percentage
|
||||
address: 1/0/4
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
@ -50,6 +56,6 @@ Configuration variables:
|
||||
- **type** (*Required*): The type of the sensor. See table above for available options.
|
||||
- **address** (*Required*): The address of the sensor on the bus.
|
||||
- **name** (*Optional*): The name to use in the frontend.
|
||||
- **minimum** (*Optional*): Minimum sensor value who gets processed. Defaults to a hardcoded default values.
|
||||
- **maximum** (*Optional*): Maximum sensor value who gets processed. Defaults to a hardcoded default.
|
||||
- **minimum** (*Optional*): Minimum sensor value - defaults to a hardcoded default value.
|
||||
- **maximum** (*Optional*): Maximum sensor value - defaults to a hardcoded default value.
|
||||
|
||||
|
32
source/_components/sensor.openhardwaremonitor.markdown
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Open Hardware Monitor Sensor"
|
||||
description: "Instructions how to integrate Open Hardware Monitor within Home Assistant."
|
||||
date: 2017-06-16 00:00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: openhardwaremonitor.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.48
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
||||
The `openhardwaremonitor` platform uses your [Open Hardware Monitor](http://openhardwaremonitor.org/) installation as a source for sensors that will display system information.
|
||||
|
||||
To add Open Hardware Monitor to your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: openhardwaremonitor
|
||||
host: IP_ADDRESS
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Required*): The IP address or hostname of your Open Hardware Monitor.
|
||||
- **port** (*Optional*): The port of your Open Hardware Monitor API. Default to 8085.
|
||||
|
@ -34,6 +34,7 @@ Configuration variables:
|
||||
- **api_key** (*Required*): Your API key for http://openweathermap.org/.
|
||||
- **name** (*Optional*): Additional name for the sensors. Default to platform name.
|
||||
- **forecast** (*Optional*): Enables the forecast. The default is to display the current conditions.
|
||||
- **language** (*Optional*): The language in which you want text results to be returned. It's a two-characters string, eg. `en`, `es`, `ru`, `it`, etc. Defaults to English.
|
||||
- **monitored_conditions** array (*Required*): Conditions to display in the frontend.
|
||||
- **weather**: A human-readable text summary.
|
||||
- **temperature**: The current temperature.
|
||||
|
@ -27,6 +27,7 @@ sensor:
|
||||
Configuration variables:
|
||||
|
||||
- **host** (*Optional*): The IP address of the Pi-Hole system. Defaults to `localhost`.
|
||||
- **location** (*Optional*): The installation location of the Pi-Hole API. Defaults to `admin`.
|
||||
- **ssl** (*Optional*): If `true`, use SSL/TLS to connect to the Pi-Hole system. Defaults to `False`.
|
||||
- **verify_ssl** (*Optional*): Verify the certification of the system. Default to `True`.
|
||||
- **monitored_conditions** (*Optional*): Defines the stats to monitor as sensors.
|
||||
|
20
source/_components/sensor.upnp.markdown
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
layout: page
|
||||
title: "UPNP Sensor"
|
||||
description: "Instructions on how to integrate UPNP sensors with Home Assistant."
|
||||
date: 2017-06-18 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: upnp.png
|
||||
ha_category: "Other"
|
||||
ha_release: 0.48
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
|
||||
The `upnp` sensor platform allows one to get the network statistics from your router such as bytes in/out and packets in/out.
|
||||
|
||||
To use your UPNP sensor in your installation, you need to set up the [`upnp`](/components/upnp/) component.
|
||||
|
@ -30,50 +30,15 @@ sensor:
|
||||
monitored_conditions:
|
||||
- alerts
|
||||
- dewpoint_c
|
||||
- dewpoint_f
|
||||
- dewpoint_string
|
||||
- feelslike_c
|
||||
- feelslike_f
|
||||
- feelslike_string
|
||||
- heat_index_c
|
||||
- heat_index_f
|
||||
- heat_index_string
|
||||
- elevation
|
||||
- location
|
||||
- observation_time
|
||||
- precip_1hr_in
|
||||
- precip_1hr_metric
|
||||
- precip_1hr_string
|
||||
- precip_today_in
|
||||
- precip_today_metric
|
||||
- precip_today_string
|
||||
- pressure_in
|
||||
- pressure_mb
|
||||
- pressure_trend
|
||||
- relative_humidity
|
||||
- station_id
|
||||
- solarradiation
|
||||
- temperature_string
|
||||
- temp_c
|
||||
- temp_f
|
||||
- UV
|
||||
- visibility_km
|
||||
- visibility_mi
|
||||
- weather
|
||||
- wind_degrees
|
||||
- wind_dir
|
||||
- wind_gust_kph
|
||||
- wind_gust_mph
|
||||
- wind_kph
|
||||
- wind_mph
|
||||
- wind_string
|
||||
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
- **api_key** (Required): See above.
|
||||
|
||||
- **api_key** (Required): The API key for Weather Underground. See above for details.
|
||||
- **pws_id** (Optional): You can enter a Personal Weather Station ID. The current list of Wunderground PWS stations is available [here](https://www.wunderground.com/weatherstation/ListStations.asp). If you do not enter a PWS ID, the current location information (latitude and longitude) from your `configuration.yaml` will be used to display weather conditions.
|
||||
- **lang** (Optional): Specify the language that the API returns. The current list of all Wunderground language codes is available [here](https://www.wunderground.com/weather/api/d/docs?d=language-support). If not specified, it defaults to English (EN).
|
||||
- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specificed). Defaults to coordinates defined in your `configuration.yaml`.
|
||||
- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified). Defaults to coordinates defined in your `configuration.yaml`.
|
||||
- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored.
|
||||
- **alerts**: Current severe weather advisories
|
||||
- **dewpoint_c**: Temperature in Celsius below which water droplets begin to condense and dew can form
|
||||
@ -136,35 +101,26 @@ Configuration variables:
|
||||
|
||||
All the conditions listed above will be updated every 5 minutes.
|
||||
|
||||
### Forecasts
|
||||
### {% linkable_title Forecasts %}
|
||||
|
||||
_12 hour forecasts_
|
||||
|
||||
Monitored conditions marked above with <a name="12h">[12h]</a> are 12 hour
|
||||
forecasts. To get a forecast for different period/daytime replace the
|
||||
`_1d_` part of the sensor name. e.g. `weather_2n` will give you forecast for
|
||||
tomorrow night. Valid values for day are `1` to `4` and
|
||||
valid values for daytime are `d` or `n`.
|
||||
Monitored conditions marked above with <a name="12h">[12h]</a> are 12 hour forecasts. To get a forecast for different period/daytime replace the `_1d_` part of the sensor name. e.g. `weather_2n` will give you forecast for tomorrow night. Valid values for day are `1` to `4` and valid values for daytime are `d` or `n`.
|
||||
|
||||
_Daily forecasts_
|
||||
|
||||
Conditions above marked with <a name="1d">[1d]</a> are daily forecasts.
|
||||
To get forecast for different day, replace the number
|
||||
in `_1d_` part of the sensor name. Valid values are from
|
||||
`1` to `4`.
|
||||
Conditions above marked with <a name="1d">[1d]</a> are daily forecasts. To get forecast for different day, replace the number
|
||||
in `_1d_` part of the sensor name. Valid values are from `1` to `4`.
|
||||
|
||||
_Hourly forecasts_
|
||||
|
||||
Conditions marked with <a name="1h">[1h]</a> are hourly forecasts.
|
||||
To get forecast for different hour, replace the number
|
||||
in the `_1h_` part of the sensor name with `1` to `36`.
|
||||
E.g. `weather_24h` will give you weather in 24 hours.
|
||||
Conditions marked with <a name="1h">[1h]</a> are hourly forecasts. To get forecast for different hour, replace the number
|
||||
in the `_1h_` part of the sensor name with `1` to `36`. E.g. `weather_24h` will give you weather in 24 hours.
|
||||
|
||||
Additional examples:
|
||||
====================
|
||||
### {% linkable_title Additional examples %}
|
||||
|
||||
#### Daily forecast
|
||||
|
||||
Daily forecast
|
||||
--------------
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
@ -181,23 +137,23 @@ sensor:
|
||||
- weather_4n_metric
|
||||
|
||||
group:
|
||||
dialy_forecast:
|
||||
name: Daily Forecast
|
||||
entities:
|
||||
- sensor.pws_weather_1d_metric
|
||||
- sensor.pws_weather_1n_metric
|
||||
- sensor.pws_weather_2d_metric
|
||||
- sensor.pws_weather_2n_metric
|
||||
- sensor.pws_weather_3d_metric
|
||||
- sensor.pws_weather_3n_metric
|
||||
- sensor.pws_weather_4d_metric
|
||||
- sensor.pws_weather_4n_metric
|
||||
dialy_forecast:
|
||||
name: Daily Forecast
|
||||
entities:
|
||||
- sensor.pws_weather_1d_metric
|
||||
- sensor.pws_weather_1n_metric
|
||||
- sensor.pws_weather_2d_metric
|
||||
- sensor.pws_weather_2n_metric
|
||||
- sensor.pws_weather_3d_metric
|
||||
- sensor.pws_weather_3n_metric
|
||||
- sensor.pws_weather_4d_metric
|
||||
- sensor.pws_weather_4n_metric
|
||||
```
|
||||
|
||||

|
||||
|
||||
Weather overview
|
||||
----------------
|
||||
#### Weather overview
|
||||
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
@ -216,20 +172,20 @@ sensor:
|
||||
- alerts
|
||||
|
||||
group:
|
||||
weather_overview:
|
||||
name: Weather overview
|
||||
entities:
|
||||
- sensor.pws_weather_1d_metric
|
||||
- sensor.pws_temp_high_record_c
|
||||
- sensor.pws_temp_high_1d_c
|
||||
- sensor.pws_temp_c
|
||||
- sensor.pws_temp_low_1d_c
|
||||
- sensor.pws_temp_low_record_c
|
||||
- sensor.pws_precip_1d
|
||||
- sensor.pws_precip_1d_mm
|
||||
- sensor.pws_wind_kph
|
||||
- sensor.pws_wind_1d_kph
|
||||
- sensor.pws_alerts
|
||||
weather_overview:
|
||||
name: Weather overview
|
||||
entities:
|
||||
- sensor.pws_weather_1d_metric
|
||||
- sensor.pws_temp_high_record_c
|
||||
- sensor.pws_temp_high_1d_c
|
||||
- sensor.pws_temp_c
|
||||
- sensor.pws_temp_low_1d_c
|
||||
- sensor.pws_temp_low_record_c
|
||||
- sensor.pws_precip_1d
|
||||
- sensor.pws_precip_1d_mm
|
||||
- sensor.pws_wind_kph
|
||||
- sensor.pws_wind_1d_kph
|
||||
- sensor.pws_alerts
|
||||
```
|
||||
|
||||

|
||||
|
33
source/_components/shiftr.markdown
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Shiftr.io"
|
||||
description: "Transfer events to Shiftr.io."
|
||||
date: 2017-06-16 07:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: shiftr.png
|
||||
ha_category: "History"
|
||||
featured: false
|
||||
ha_release: 0.48
|
||||
---
|
||||
|
||||
The `shiftr` component makes it possible to transfer details collected with Home Assistant to [Shiftr.io](https://shiftr.io) and visualize the flow of the information. Keep in mind that your details will be public!
|
||||
|
||||
Create a new [namespace](https://shiftr.io/new) and generate a new token. You will need to use `Key (Username)` and `Secret (Password)` to setup the component.
|
||||
|
||||
To use the `shiftr` component in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
shiftr:
|
||||
username: 63d8187f
|
||||
password: 32fd92de6a59c3e2
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **username** (*Required*): Username for the namespace.
|
||||
- **password** (*Required*): Password for the namespace.
|
||||
|
93
source/_components/snips.markdown
Normal file
@ -0,0 +1,93 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Snips"
|
||||
description: "Instructions how to integrate Snips within Home Assistant."
|
||||
date: 2017-06-22 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: snips.png
|
||||
ha_category: Voice
|
||||
ha_release: 0.48
|
||||
---
|
||||
|
||||
The [Snips Voice Platform](https://www.snips.ai) allows users to add powerful voice assistants to their Raspberry Pi devices without compromising on Privacy. It runs 100% on-device, and does not require an Internet connection. It features Hotword Detection, Automatic Speech Recognition (ASR), Natural Language Understanding (NLU) and Dialog Management.
|
||||
|
||||

|
||||
|
||||
Snips takes voice or text as input, and produces *intents* as output, which are explicit representations of an intention behind an utterance, and which can subsequently be used by Home Assistant to perform appropriate actions.
|
||||
|
||||

|
||||
|
||||
|
||||
## {% linkable_title The Snips Voice Platform %}
|
||||
|
||||
### Installation
|
||||
|
||||
The Snips Voice Platform is installed on Raspberry Pi with the following command:
|
||||
|
||||
```sh
|
||||
(pi) $ curl https://install.snips.ai -sSf | sh
|
||||
```
|
||||
|
||||
### Creating an assistant
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe src="https://player.vimeo.com/video/223255884" width="700" height="380" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
Snips assistants are created via the [Snips Console](https://console.snips.ai). Once trained, the assistant should be downloaded and copied to the Raspberry Pi:
|
||||
|
||||
```sh
|
||||
$ scp assistantproj_XXX.zip pi@pi_hostname:/home/pi/assistant.zip
|
||||
```
|
||||
|
||||
and installed locally via the `snips-install-assistant` helper script:
|
||||
|
||||
```sh
|
||||
(pi) $ sudo snips-install-assistant assistant.zip
|
||||
```
|
||||
|
||||
### Running Snips
|
||||
|
||||
Make sure that a microphone is plugged to the Raspberry Pi. If you are having trouble setting up audio, we have written a guide on [Raspberry Pi Audio Configuration](https://github.com/snipsco/snips-platform-documentation/wiki/1.-Setup-the-Snips-Voice-Platform-on-your-Raspberry-Pi#configuring-the-audio).
|
||||
|
||||
Start the Snips Voice Platform using the `snips` command:
|
||||
|
||||
```sh
|
||||
(pi) $ snips
|
||||
```
|
||||
|
||||
Snips is now ready to take voice commands from the microphone. To trigger the listening, simply say
|
||||
|
||||
> Hey Snips
|
||||
|
||||
followed by a command, e.g.
|
||||
|
||||
> Set the lights to green in the living room
|
||||
|
||||
We should see the transcribed phrase in the logs, as well as a properly parsed intent. The intent is published on MQTT, on the `hermes/nlu/intentParsed` topic. The Snips Home Assistant component subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml`, as explained below.
|
||||
|
||||
## Home Assistant configuration
|
||||
|
||||
By default, the Snips MQTT broker runs on port 9898. We should tell Home Assistant to use this as a broker, rather than its own, by adding the following section to `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
mqtt:
|
||||
broker: 127.0.0.1
|
||||
port: 9898
|
||||
```
|
||||
|
||||
In Home Assistant, we trigger actions based on intents produced by Snips. This is done in `configuration.yaml`. For instance, the following block handles `ActivateLightColors` intents (included in the Snips IoT intent bundle) to change light colors:
|
||||
|
||||
```yaml
|
||||
snips:
|
||||
intents:
|
||||
ActivateLightColor:
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: light.{% raw %}{{ objectLocation | replace(" ","_") }}{% endraw %}
|
||||
color_name: {% raw %}{{ objectColor }}{% endraw %}
|
||||
```
|
37
source/_components/telegram_bot.broadcast.markdown
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Telegram broadcast"
|
||||
description: "Telegram support to send messages only"
|
||||
date: 2017-06-24 11:20
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: telegram.png
|
||||
ha_category: Telegram chatbot
|
||||
ha_release: 0.48
|
||||
---
|
||||
|
||||
Telegram implementation to support **sending messages only**. Your Home Assistant instance does not have to be exposed to the Internet and there is no polling to receive messages sent to the bot.
|
||||
|
||||
To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
||||
telegram_bot:
|
||||
- platform: broadcast
|
||||
api_key: <telegram api key>
|
||||
allowed_chat_ids:
|
||||
- 12345
|
||||
- 67890
|
||||
```
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **allowed_chat_ids** (*Required*): A list of user in the `user_id` Telegram format enabled to interact to webhook
|
||||
- **api_key** (*Required*): The API token of your bot.
|
||||
- **parse_mode** (*Optional*): Default parser for messages if not explicit in message data: 'html' or 'markdown'. Default is 'markdown'.
|
||||
|
||||
To get your `chat_id` and `api_key` follow the instructions [here](/components/notify.telegram/).
|
||||
|
@ -17,6 +17,7 @@ Use Telegram on your mobile or desktop device to send and receive messages or co
|
||||
|
||||
This component creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/components/telegram_bot.polling/) method or with the [webhooks](/components/telegram_bot.webhooks/) one, and trigger events when receiving messages.
|
||||
|
||||
If you don't need to receive messages, you can use the [broadcast](/components/telegram_bot.broadcast/) platform instead.
|
||||
|
||||
### {% linkable_title Notification services %}
|
||||
Available services: `send_message`, `send_photo`, `send_document`, `send_location`, `edit_message`, `edit_replymarkup`, `edit_caption`, `answer_callback_query`.
|
||||
@ -84,7 +85,7 @@ Edit a previusly sent message in a conversation.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|--------------------------------------------------|
|
||||
| `message_id` | no | Id of the message to edit. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. |
|
||||
| `message_id` | no | Id of the message to edit. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. You can use `"last"` to refer to the last message sent to `chat_id`. |
|
||||
| `chat_id` | no | The chat_id where to edit the message. |
|
||||
| `message` | no | Message body of the notification. |
|
||||
| `title` | yes | Optional title for your notification. Will be composed as '%title\n%message'. |
|
||||
@ -97,7 +98,7 @@ Edit the caption of a previusly sent message.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|--------------------------------------------------|
|
||||
| `message_id` | no | Id of the message to edit. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. |
|
||||
| `message_id` | no | Id of the message to edit. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. You can use `"last"` to refer to the last message sent to `chat_id`. |
|
||||
| `chat_id` | no | The chat_id where to edit the caption. |
|
||||
| `caption` | no | Message body of the notification. |
|
||||
| `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. |
|
||||
@ -108,7 +109,7 @@ Edit the inline keyboard of a previusly sent message.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|--------------------------------------------------|
|
||||
| `message_id` | no | Id of the message to edit. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. |
|
||||
| `message_id` | no | Id of the message to edit. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. You can use `"last"` to refer to the last message sent to `chat_id`. |
|
||||
| `chat_id` | no | The chat_id where to edit the reply_markup. |
|
||||
| `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. |
|
||||
| `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` |
|
||||
@ -122,6 +123,14 @@ Respond to a callback query originated by clicking on an online keyboard button.
|
||||
| `callback_query_id` | no | Unique id of the callback response. In the `telegram_callback` event data: `{{ trigger.event.data.id }}` |
|
||||
| `show_alert` | yes | True/false for show a permanent notification. Defaults to False. |
|
||||
|
||||
#### {% linkable_title Service `telegram_bot/delete_message` %}
|
||||
Delete a previusly sent message in a conversation.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
|---------------------------|----------|--------------------------------------------------|
|
||||
| `message_id` | no | Id of the message to delete. When answering a callback from a pressed button, the id of the origin message is in: `{{ trigger.event.data.message.message_id }}`. You can use `"last"` to refer to the last message sent to `chat_id`. |
|
||||
| `chat_id` | no | The chat_id where to delete the message. |
|
||||
|
||||
### {% linkable_title `Telegram` notification platform %}
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "UPnP"
|
||||
description: "Automatically creates port mappings on your router for Home Assistant."
|
||||
description: "Internet Gateway Device (IGD) Protocol for Home Assistant."
|
||||
date: 2016-04-10 19:16
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -12,17 +12,11 @@ ha_category: "Other"
|
||||
ha_release: 0.18
|
||||
---
|
||||
|
||||
The `upnp` component automatically creates port forwarding mappings on your router for Home Assistant. UPnP or NAT-PMP needs to be enabled on your router for this component to work.
|
||||
The `upnp` component enables you to collect network statistics from your router such as bytes in/out and packets in/out. This information is provided by the Internet Gateway Device (IGD) Protocol if enabled on your router.
|
||||
|
||||
You need to install [miniupnpc](https://github.com/miniupnp/miniupnp/tree/master/miniupnpc) before using the UPnP component:
|
||||
The IGD can also automatically create port forwarding mappings on your router for Home Assistant.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/miniupnp/miniupnp.git
|
||||
$ cd miniupnp/miniupnpc
|
||||
$ make
|
||||
$ make pythonmodule3
|
||||
$ sudo make installpythonmodule3
|
||||
```
|
||||
Please note that UPnP or NAT-PMP needs to be enabled on your router for this component to work.
|
||||
|
||||
To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
|
||||
|
||||
@ -32,3 +26,10 @@ upnp:
|
||||
```
|
||||
|
||||
A port mapping will be created using the IP address and port that Home Assistant is running on. The mapping will never automatically expire. Upon stopping Home Assistant, the mapping will be removed from your router.
|
||||
|
||||
If you which to have the statistics without having port mapping done through IGD, add the option:
|
||||
```yaml
|
||||
# Example configuration.yaml entry with port mapping disabled
|
||||
upnp:
|
||||
port_mapping: false
|
||||
```
|
||||
|
@ -18,7 +18,7 @@ This is a [React](https://facebook.github.io/react/) implementation of [TodoMVC]
|
||||
- It uses the user configuration for the component in the `configuration.yaml` file for rendering.
|
||||
- It allows toggling the sidebar.
|
||||
|
||||
All you need is available as a [custom panel](https://github.com/home-assistant/home-assistant/tree/master/config/panels/react.html). Download the file and save it in `<config dir>/panels/` (you might have to create the directory if it doesn't exist).
|
||||
All you need is available as a [custom panel](https://github.com/home-assistant/example-custom-config/blob/master/panels/react.html). Download the file and save it in `<config dir>/panels/` (you might have to create the directory if it doesn't exist).
|
||||
|
||||
Create a entry for the panel in your `configuration.yaml` file to enable it.
|
||||
|
||||
|
@ -37,15 +37,18 @@ Configuration variables:
|
||||
The discovery topic need to follow a specific format:
|
||||
|
||||
```text
|
||||
<discovery_prefix>/<component>/<object_id>/<>
|
||||
<discovery_prefix>/<component>/[<node_id>/]<object_id>/<>
|
||||
```
|
||||
|
||||
- `<component>`: One of the supported components, eg. `binary_sensor`.
|
||||
- `<node_id>`: (*Optional*) id of the node providing the topic.
|
||||
- `<object_id>`: The ID of the device. This will become the `entity_id` in Home Assistant.
|
||||
- `<>`: The topic `config` or `state` which defines the current action.
|
||||
|
||||
The payload will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`.
|
||||
|
||||
The `<node_id>` level can be used by clients to only subscribe to their own (command) topics by using one wildcard topic like `<discovery_prefix>/+/<node_id>/+/set`.
|
||||
|
||||
### {% linkable_title Examples %}
|
||||
|
||||
A motion detection device which can be represented by a [binary sensor](/components/binary_sensor.mqtt/) for your garden would sent its configuration as JSON payload to the Configuration topic. After the first message to `config`, then the MQTT messages sent to the state topic will update the state in Home Assistant.
|
||||
|
@ -46,6 +46,7 @@ Configuration variables:
|
||||
- **delay** (*Optional*): Specify the delay for refreshing of node value. Only the light component uses this. Defaults to 2 seconds.
|
||||
- **invert_openclose_buttons** (*Optional*): Inverts function of the open and close buttons for the cover domain. Defaults to `False`.
|
||||
- **debug** (*Optional*): Print verbose z-wave info to log. Defaults to `False`.
|
||||
- **new_entity_ids** (*Optional*): Switch to new entity_id generation. Defaults to `True`.
|
||||
|
||||
To find the path of your Z-Wave USB stick or module, run:
|
||||
|
||||
|
513
source/_posts/2017-07-02-release-48.markdown
Normal file
@ -0,0 +1,513 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.48: Snips.ai, Shiftr.io and a massive History query speed up"
|
||||
description: "Build your own local voice assistant with the new Snips.ai component, visualize your data with Shiftr.io and enjoy faster history browsing."
|
||||
date: 2017-07-02 00:02:05 +0000
|
||||
date_formatted: "July 2, 2017"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2017-07-0.48/components.png
|
||||
---
|
||||
|
||||
<a href='/components/#version/0.48'><img src='/images/blog/2017-07-0.48/components.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
It's time for a great new release!
|
||||
|
||||
We've started the process of upgrading our frontend technology. If you notice something not working that did work before, please open [an issue][issue-polymer].
|
||||
|
||||
[Pascal][@pvizeli] has added a new option to Home Assistant core to set a list of whitelisted folders that Home Assistant can read from. When a component allows to send files (like Telegram), it will only be allowed to send files from those directories. The only default whitelisted folder is the public `<config>/www` directory.
|
||||
|
||||
Z-Wave will, as announced in the [last release](/blog/2017/06/17/release-47/), be defaulting to generate the new entity ids. More info in the [blog post](/blog/2017/06/15/zwave-entity-ids/). You can still opt-in for the old style.
|
||||
|
||||
```yaml
|
||||
zwave:
|
||||
new_entity_ids: false
|
||||
```
|
||||
|
||||
## Big speed up in querying the history
|
||||
|
||||
Thanks to the work by [@cmsimike] in [#8255] you'll see a significant speed up when using the history view. In his local tests queries went from 1 minute to 90ms! ⚡️
|
||||
|
||||
## Snips.ai component
|
||||
|
||||
Snips has contributed a component to integrate with their Snips.ai local voice assistant. This will allow you to hook a speaker and a microphone into your Raspberry Pi and make your own local Amazon Echo quickly. See [the docs][snips docs] for further instructions.
|
||||
|
||||
Also a shoutout to [@michaelarnauts] for keeping an eye on our Docker build and once again reducing the file size 👍
|
||||
|
||||
[issue-polymer]: https://github.com/home-assistant/home-assistant-polymer/issues
|
||||
|
||||
## New Platforms
|
||||
|
||||
- Add initial support for Shiftr.io ([@fabaff] - [#7974]) ([shiftr docs]) (new-platform)
|
||||
- Upnp properties ([@dgomes] - [#8067]) ([upnp docs]) ([sensor.upnp docs]) (new-platform)
|
||||
- Add support for Insteon FanLinc fan ([@jawilson] - [#6959]) ([insteon_local docs]) ([fan.insteon_local docs]) (new-platform)
|
||||
- add knx cover support ([@tiktok7] - [#7997]) ([knx docs]) ([cover.knx docs]) (new-platform)
|
||||
- Add I2c BME280 temperature, humidity and pressure sensor for Raspberry Pi ([@azogue] - [#7989]) ([sensor.bme280 docs]) (new-platform)
|
||||
- Add I2c HTU21D temperature and humidity sensor for Raspberry Pi ([@azogue] - [#8049]) ([sensor.htu21d docs]) (new-platform)
|
||||
- Add new BH1750 light level sensor ([@azogue] - [#8050]) ([sensor.bh1750 docs]) (new-platform)
|
||||
- Rfxtrx binary sensor ([@ypollart] - [#6794]) ([rfxtrx docs]) ([binary_sensor.rfxtrx docs]) (new-platform)
|
||||
- Add ClickSend notify service. ([@omarusman] - [#8135]) ([notify.clicksend docs]) (new-platform)
|
||||
- Add device tracker for Linksys Smart Wifi devices ([@mortenlj] - [#8144]) ([device_tracker.linksys_smart docs]) (new-platform)
|
||||
- Openhardwaremonitor ([@depl0y] - [#8056]) ([sensor.openhardwaremonitor docs]) (new-platform)
|
||||
- WIP: Verisure app api ([@persandstrom] - [#7394]) ([verisure docs]) ([alarm_control_panel.verisure docs]) ([binary_sensor.verisure docs]) ([sensor.verisure docs]) ([switch.verisure docs]) (new-platform)
|
||||
- telegram_bot platform to only send messages ([@azogue] - [#8186]) (new-platform)
|
||||
- Comfoconnect fan component ([@michaelarnauts] - [#8073]) ([comfoconnect docs]) ([fan.comfoconnect docs]) ([sensor.comfoconnect docs]) (new-platform)
|
||||
- Implement templates for covers ([@PhracturedBlue] - [#8100]) ([cover.template docs]) (new-platform)
|
||||
- Snips ASR and NLU component ([@michaelfester] - [#8156]) ([snips docs]) (new-platform)
|
||||
|
||||
## {% linkable_title If you need help... %}
|
||||
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][gitter]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
||||
## {% linkable_title Reporting Issues %}
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
|
||||
|
||||
<!--more-->
|
||||
|
||||
## Breaking Changes
|
||||
|
||||
- We have added a new option to whitelist folders that can be used as sources for sending files. You will need to use this option if you are using files with the telegram component. ([@pvizeli] - [#8189]) (breaking change)
|
||||
|
||||
```yaml
|
||||
homeassistant:
|
||||
whitelist_external_dirs:
|
||||
- /tmp
|
||||
- /home/kenji/data
|
||||
```
|
||||
|
||||
- Vera battery levels will no longer have the percent sign appended ([@philhawthorne] - [#8069]) ([vera docs]) (breaking change)
|
||||
- Notify - SMTP: Added SMTP SSL/TLS support so now you should specify which encryption to use. ([@sn0oz] - [#7960]) ([notify.smtp docs]) (breaking change)
|
||||
|
||||
```
|
||||
notify:
|
||||
- name: mail
|
||||
platform: smtp
|
||||
server: !secret smtp_server
|
||||
sender: !secret mail_alert
|
||||
username: !secret mail_username
|
||||
password: !secret mail_password
|
||||
recipient: !secret mail_admin
|
||||
encryption: tls # Or starttls, none
|
||||
```
|
||||
|
||||
- Light - LIFX: The `lifx_effect_breathe` call was deprecated in version 0.47 and has now been removed. You can use `lifx_effect_pulse` with `mode: breathe` for the same effect. ([@amelchio] - [#8222]) ([light.lifx docs]) (breaking change)
|
||||
- LimitlessLED: No longer automatically fades the lights when turning the light off. Can be restored with a new config option. ([@SmilyOrg] - [#7369]) ([light.limitlessled docs]) (breaking change)
|
||||
|
||||
```yaml
|
||||
light:
|
||||
platform: limitlessled
|
||||
bridges:
|
||||
|
||||
- host: !secret limitless_v6_ip
|
||||
port: 5987
|
||||
version: 6
|
||||
groups:
|
||||
|
||||
- number: 1
|
||||
type: rgbww
|
||||
name: Safari Glow
|
||||
fade: none
|
||||
```
|
||||
|
||||
## All changes
|
||||
|
||||
- Update numpy 1.13.0 ([@pvizeli] - [#8059]) ([image_processing.opencv docs])
|
||||
- No update in MQTT Binary Sensor #7478 ([@pezinek] - [#8057])
|
||||
- Use standard entity_ids for zwave entities ([@armills] - [#7786]) ([zwave docs]) ([light.zwave docs]) (breaking change)
|
||||
- Fix some warnings found by quantifiedcode ([@andrey-git] - [#8027]) ([insteon_hub docs]) ([tellduslive docs]) ([calendar.google docs])
|
||||
- Always enable monkey patch ([@balloob] - [#8054])
|
||||
- Remove % sign from Vera Battery Levels ([@philhawthorne] - [#8069]) ([vera docs]) (breaking change)
|
||||
- Allow config of latitude and longitude ([@jshore1296] - [#8068]) ([sensor.wunderground docs])
|
||||
- Failed to parse response from WU API: 'record' (and 'recordyear') #7747 ([@pezinek] - [#8058]) ([sensor.wunderground docs])
|
||||
- Add initial support for Shiftr.io ([@fabaff] - [#7974]) ([shiftr docs]) (new-platform)
|
||||
- Add option to set language of openweathermap sensor, and handle updating errors ([@azogue] - [#8046]) ([sensor.openweathermap docs])
|
||||
- Bump pyEmby version to account for API changes ([@mezz64] - [#8070]) ([media_player.emby docs])
|
||||
- bump ups ([@happyleavesaoc] - [#8075]) ([sensor.ups docs])
|
||||
- bump usps version ([@happyleavesaoc] - [#8074]) ([sensor.usps docs])
|
||||
- Add to zwave services descriptions ([@andrey-git] - [#8072])
|
||||
- Fix attribute entity ([@pvizeli] - [#8066]) (breaking change)
|
||||
- Added 'all_plants' group and support for plant groups state. ([@aronsky] - [#8063]) ([group docs]) ([plant docs])
|
||||
- Fix EntityComponent handle entities without a name ([@balloob] - [#8065])
|
||||
- Update pyunifi component to use APIError passed from pyunifi 2.13. Better accommodate login failures with wrapper in pyunifi 2.13. ([@finish06] - [#7899]) ([device_tracker.unifi docs])
|
||||
- Stopping the logfile spam by piping STDERR to /dev/null ([@madpilot] - [#8081]) ([switch.wake_on_lan docs])
|
||||
- mpd: implement support for seek, shuffle, and clear playlist ([@auchter] - [#8090]) ([media_player.mpd docs])
|
||||
- Cleanup .coveragerc ([@michaelarnauts] - [#8088])
|
||||
- update pywebpush to 1.0.5 ([@perosb] - [#8084]) ([notify.html5 docs])
|
||||
- media player Kodi: handle TransportError exceptions when calling JSONRPC API methods ([@azogue] - [#8047]) ([media_player.kodi docs])
|
||||
- Upnp properties ([@dgomes] - [#8067]) ([upnp docs]) ([sensor.upnp docs]) (new-platform)
|
||||
- Add support for Insteon FanLinc fan ([@jawilson] - [#6959]) ([insteon_local docs]) ([fan.insteon_local docs]) (new-platform)
|
||||
- add knx cover support ([@tiktok7] - [#7997]) ([knx docs]) ([cover.knx docs]) (new-platform)
|
||||
- More updates to zwave services.yaml file ([@andrey-git] - [#8083])
|
||||
- Fix lights issue #8098 ([@tsvi] - [#8101]) ([light.vera docs])
|
||||
- increase timeout for setWebhook to 10s ([@azogue] - [#8102]) ([telegram_bot.webhooks docs])
|
||||
- Added SMTP SSL/TLS support ([@sn0oz] - [#7960]) ([notify.smtp docs]) (breaking change)
|
||||
- Fix Dyson async_add_job ([@CharlesBlonde] - [#8113]) ([fan.dyson docs]) ([sensor.dyson docs])
|
||||
- Update InfluxDB to handle datetime objects and multiple decimal points ([@philhawthorne] - [#8080]) ([influxdb docs])
|
||||
- Remove config details (see docs) ([@fabaff] - [#8119]) ([cover.knx docs])
|
||||
- Only mark active DHCP clients as present ([@cyberplant] - [#8110]) ([device_tracker.mikrotik docs])
|
||||
- Add option to specify the location of the API (fixes #8115) ([@fabaff] - [#8118]) ([sensor.pi_hole docs])
|
||||
- Fixed iTach command parsing with empty data ([@alanfischer] - [#8104]) ([remote.itach docs])
|
||||
- Upgrade mutagen to 1.38 ([@fabaff] - [#8126]) ([tts docs])
|
||||
- Upgrade paho-mqtt to 1.3.0 ([@fabaff] - [#8125]) ([mqtt docs]) ([shiftr docs])
|
||||
- Upgrade sqlalchemy to 1.1.11 ([@fabaff] - [#8124]) ([recorder docs])
|
||||
- Upgrade aiohttp to 2.2.0 ([@fabaff] - [#8121])
|
||||
- Upgrade RestrictedPython dependency ([@balloob] - [#8132]) ([python_script docs])
|
||||
- Added RFXTRX UV badge ([@lunar-consultancy] - [#8129]) ([rfxtrx docs])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8120]) ([sensor.netdata docs])
|
||||
- Change Error Message when Turning off ISY994 Light ([@SConaway] - [#8131]) ([light.isy994 docs])
|
||||
- Allow iteration in python_script ([@balloob] - [#8134]) ([python_script docs])
|
||||
- Add current balance to hydroquebec sensor ([@titilambert] - [#8138]) ([sensor.hydroquebec docs])
|
||||
- Decora light: Fix brightness level in UI ([@titilambert] - [#8139]) ([light.decora docs])
|
||||
- Add I2c BME280 temperature, humidity and pressure sensor for Raspberry Pi ([@azogue] - [#7989]) ([sensor.bme280 docs]) (new-platform)
|
||||
- Upgrade libsoundtouch to prevent Python3.6 errors with enum. #7733 #8103 ([@CharlesBlonde] - [#8143]) ([media_player.soundtouch docs])
|
||||
- Adds CPU temp monitoring, and allow startup when endpoint is not yet available. ([@jjmontestl] - [#8093]) ([sensor.glances docs])
|
||||
- Add I2c HTU21D temperature and humidity sensor for Raspberry Pi ([@azogue] - [#8049]) ([sensor.htu21d docs]) (new-platform)
|
||||
- Add new BH1750 light level sensor ([@azogue] - [#8050]) ([sensor.bh1750 docs]) (new-platform)
|
||||
- LimitlessLED: Configurable fade-out behavior ([@SmilyOrg] - [#7369]) ([light.limitlessled docs]) (breaking change)
|
||||
- Harmony auto discovery via netdisco ([@tony2nite] - [#7741]) ([remote.harmony docs])
|
||||
- Rfxtrx binary sensor ([@ypollart] - [#6794]) ([rfxtrx docs]) ([binary_sensor.rfxtrx docs]) (new-platform)
|
||||
- Add support of Zone2 and Zone3 ([@scarface-4711] - [#8025]) ([media_player.denonavr docs])
|
||||
- Upgrade python-telegram-bot to 6.1.0 ([@fabaff] - [#8151]) ([telegram_bot docs])
|
||||
- Upgrade libsoundtouch to 0.6.2 ([@fabaff] - [#8149]) ([media_player.soundtouch docs])
|
||||
- Switch rachiopy to pypi ([@andrey-git] - [#8040]) ([switch.rachio docs])
|
||||
- ubus: Refresh session on Access denied ([@glance-] - [#8111])
|
||||
- Added invert flag for position for actuators that uses 100% for fully closed position ([@open-homeautomation] - [#8147])
|
||||
- add telegram_bot service: delete_message ([@azogue] - [#8153]) ([telegram_bot docs])
|
||||
- Fixed rfxtrx binary_sensor off command ([@basschipper] - [#8160]) ([rfxtrx docs]) ([binary_sensor.rfxtrx docs])
|
||||
- Use version 1.3 of radiotherm ([@twilde] - [#8164]) ([climate.radiotherm docs])
|
||||
- Tado climate device ([@wmalgadey] - [#8041]) ([tado docs]) ([climate.tado docs])
|
||||
- Add ClickSend notify service. ([@omarusman] - [#8135]) ([notify.clicksend docs]) (new-platform)
|
||||
- Add libboost-python1.62-dev (fixes #7851) ([@fabaff] - [#7868])
|
||||
- Uninstall enum34 in python3.6 docker image ([@jeanregisser] - [#8103])
|
||||
- Revert "Add libboost-python1.62-dev (fixes #7851)" ([@balloob] - [#8182])
|
||||
- Add device tracker for Linksys Smart Wifi devices ([@mortenlj] - [#8144]) ([device_tracker.linksys_smart docs]) (new-platform)
|
||||
- Update buienradar.py ([@lrmate] - [#8173]) ([sensor.buienradar docs])
|
||||
- Fix radiotherm model CT50 ([@tubaman] - [#8181]) ([climate.radiotherm docs])
|
||||
- Throw exception if _convert_for_display called on non Number ([@sdague] - [#8178]) ([climate docs]) ([climate.mysensors docs])
|
||||
- Added buienradar precipitation forecast average & total sensors ([@basschipper] - [#8171]) ([sensor.buienradar docs]) ([weather.buienradar docs])
|
||||
- Axis service vapix call ([@Kane610] - [#7794]) ([axis docs]) ([camera.axis docs])
|
||||
- added optional node_id to MQTT discovery ([@AlexMekkering] - [#8096])
|
||||
- Add offset option to sensor.gtfs ([@Kernald] - [#7980])
|
||||
- Switch to new zwave entity ids by default ([@armills] - [#8192]) ([zwave docs])
|
||||
- Pushed to version 0.5.1 of the library ([@scarface-4711] - [#8190]) ([media_player.denonavr docs])
|
||||
- Fix MySensors climate ([@balloob] - [#8193]) ([climate.mysensors docs])
|
||||
- Fix plants calling async methods from sync context ([@balloob] - [#8200])
|
||||
- Split mock_service ([@balloob] - [#8198])
|
||||
- add option to set content_type in camera.generic to support 'svg cameras' ([@azogue] - [#8188])
|
||||
- Remove unnecessary thread_ident assignment ([@armills] - [#8194])
|
||||
- Openhardwaremonitor ([@depl0y] - [#8056]) ([sensor.openhardwaremonitor docs]) (new-platform)
|
||||
- Add security layer to send file output things ([@pvizeli] - [#8189]) (breaking change)
|
||||
- Fix Plex component to use port number in discovery. ([@voltagex] - [#8197]) ([media_player.plex docs])
|
||||
- EntityComponent to retry platforms that are not ready yet ([@balloob] - [#8209])
|
||||
- WIP: Verisure app api ([@persandstrom] - [#7394]) ([verisure docs]) ([alarm_control_panel.verisure docs]) ([binary_sensor.verisure docs]) ([sensor.verisure docs]) ([switch.verisure docs]) (new-platform)
|
||||
- guess the content_type in local_file cameras ([@azogue] - [#8217]) ([camera.local_file docs])
|
||||
- Improve executor pool size / speedup python 3.5 ([@pvizeli] - [#8215])
|
||||
- LIFX: Move light effects to external library ([@amelchio] - [#8222]) ([light.lifx docs]) (breaking change)
|
||||
- Fixed mqtt subscription filter on sys $ topics ([@natemason] - [#8166]) ([mqtt docs])
|
||||
- telegram_bot platform to only send messages ([@azogue] - [#8186]) (new-platform)
|
||||
- add percentage (DPT_Scaling) KNX sensors ([@tiktok7] - [#8168]) ([sensor.knx docs])
|
||||
- Fix homeassistant.start trigger ([@azogue] - [#8220])
|
||||
- Cleanup automations yaml ([@balloob] - [#8223])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8148]) ([sensor.glances docs])
|
||||
- KNX Cover tilt control ([@open-homeautomation] - [#8159]) ([cover.knx docs])
|
||||
- Comfoconnect fan component ([@michaelarnauts] - [#8073]) ([comfoconnect docs]) ([fan.comfoconnect docs]) ([sensor.comfoconnect docs]) (new-platform)
|
||||
- Upgrade python-digitalocean to 1.12 ([@fabaff] - [#8241]) ([digital_ocean docs])
|
||||
- update i2csense requirement ([@azogue] - [#8242]) ([sensor.bh1750 docs]) ([sensor.bme280 docs]) ([sensor.htu21d docs])
|
||||
- Update docstrings ([@fabaff] - [#8244]) ([comfoconnect docs]) ([fan.comfoconnect docs])
|
||||
- Do not call update() in constructor ([@fabaff] - [#8247]) ([binary_sensor.arest docs]) ([sensor.arest docs])
|
||||
- better logging to debug when a message is not sent ([@azogue] - [#8248]) ([telegram_bot docs])
|
||||
- LIFX: Small code cleanups ([@amelchio] - [#8228]) ([light.lifx docs])
|
||||
- Use 'hass.data' instead of global ([@fabaff] - [#8245]) ([digital_ocean docs]) ([binary_sensor.digital_ocean docs]) ([switch.digital_ocean docs])
|
||||
- Use constant and update ordering ([@fabaff] - [#8246]) ([arlo docs]) ([camera.arlo docs])
|
||||
- Add PlatformNotReady support for Sensibo ([@andrey-git] - [#8252]) ([climate.sensibo docs])
|
||||
- verisure component names ([@persandstrom] - [#8251]) ([binary_sensor.verisure docs]) ([camera.verisure docs]) ([lock.verisure docs]) ([switch.verisure docs])
|
||||
- further document add_node_secure ([@kentcalero] - [#8229])
|
||||
- Upgrade libnacl to 1.5.1 ([@fabaff] - [#8259]) ([device_tracker.owntracks docs])
|
||||
- Docker cleanup. ([@michaelarnauts] - [#8226])
|
||||
- Implement templates for covers ([@PhracturedBlue] - [#8100]) ([cover.template docs]) (new-platform)
|
||||
- Adding done_message to alert ([@karlw00t] - [#8116]) ([alert docs])
|
||||
- Camera services arm disarm including Netgear Arlo ([@viswa-swami] - [#7961]) ([camera.arlo docs])
|
||||
- Update modbus.py ([@lrmate] - [#8256]) ([binary_sensor.modbus docs])
|
||||
- components.knx - KNXMultiAddressDevice corrections ([@tiktok7] - [#8275]) ([knx docs])
|
||||
- Snips ASR and NLU component ([@michaelfester] - [#8156]) ([snips docs]) (new-platform)
|
||||
- Create an index on the states table to help hass startup time ([@cmsimike] - [#8255])
|
||||
|
||||
[#6794]: https://github.com/home-assistant/home-assistant/pull/6794
|
||||
[#6959]: https://github.com/home-assistant/home-assistant/pull/6959
|
||||
[#7369]: https://github.com/home-assistant/home-assistant/pull/7369
|
||||
[#7394]: https://github.com/home-assistant/home-assistant/pull/7394
|
||||
[#7741]: https://github.com/home-assistant/home-assistant/pull/7741
|
||||
[#7786]: https://github.com/home-assistant/home-assistant/pull/7786
|
||||
[#7794]: https://github.com/home-assistant/home-assistant/pull/7794
|
||||
[#7868]: https://github.com/home-assistant/home-assistant/pull/7868
|
||||
[#7899]: https://github.com/home-assistant/home-assistant/pull/7899
|
||||
[#7960]: https://github.com/home-assistant/home-assistant/pull/7960
|
||||
[#7961]: https://github.com/home-assistant/home-assistant/pull/7961
|
||||
[#7974]: https://github.com/home-assistant/home-assistant/pull/7974
|
||||
[#7980]: https://github.com/home-assistant/home-assistant/pull/7980
|
||||
[#7989]: https://github.com/home-assistant/home-assistant/pull/7989
|
||||
[#7997]: https://github.com/home-assistant/home-assistant/pull/7997
|
||||
[#8025]: https://github.com/home-assistant/home-assistant/pull/8025
|
||||
[#8027]: https://github.com/home-assistant/home-assistant/pull/8027
|
||||
[#8040]: https://github.com/home-assistant/home-assistant/pull/8040
|
||||
[#8041]: https://github.com/home-assistant/home-assistant/pull/8041
|
||||
[#8046]: https://github.com/home-assistant/home-assistant/pull/8046
|
||||
[#8047]: https://github.com/home-assistant/home-assistant/pull/8047
|
||||
[#8049]: https://github.com/home-assistant/home-assistant/pull/8049
|
||||
[#8050]: https://github.com/home-assistant/home-assistant/pull/8050
|
||||
[#8054]: https://github.com/home-assistant/home-assistant/pull/8054
|
||||
[#8056]: https://github.com/home-assistant/home-assistant/pull/8056
|
||||
[#8057]: https://github.com/home-assistant/home-assistant/pull/8057
|
||||
[#8058]: https://github.com/home-assistant/home-assistant/pull/8058
|
||||
[#8059]: https://github.com/home-assistant/home-assistant/pull/8059
|
||||
[#8063]: https://github.com/home-assistant/home-assistant/pull/8063
|
||||
[#8065]: https://github.com/home-assistant/home-assistant/pull/8065
|
||||
[#8066]: https://github.com/home-assistant/home-assistant/pull/8066
|
||||
[#8067]: https://github.com/home-assistant/home-assistant/pull/8067
|
||||
[#8068]: https://github.com/home-assistant/home-assistant/pull/8068
|
||||
[#8069]: https://github.com/home-assistant/home-assistant/pull/8069
|
||||
[#8070]: https://github.com/home-assistant/home-assistant/pull/8070
|
||||
[#8072]: https://github.com/home-assistant/home-assistant/pull/8072
|
||||
[#8073]: https://github.com/home-assistant/home-assistant/pull/8073
|
||||
[#8074]: https://github.com/home-assistant/home-assistant/pull/8074
|
||||
[#8075]: https://github.com/home-assistant/home-assistant/pull/8075
|
||||
[#8080]: https://github.com/home-assistant/home-assistant/pull/8080
|
||||
[#8081]: https://github.com/home-assistant/home-assistant/pull/8081
|
||||
[#8083]: https://github.com/home-assistant/home-assistant/pull/8083
|
||||
[#8084]: https://github.com/home-assistant/home-assistant/pull/8084
|
||||
[#8088]: https://github.com/home-assistant/home-assistant/pull/8088
|
||||
[#8090]: https://github.com/home-assistant/home-assistant/pull/8090
|
||||
[#8093]: https://github.com/home-assistant/home-assistant/pull/8093
|
||||
[#8096]: https://github.com/home-assistant/home-assistant/pull/8096
|
||||
[#8100]: https://github.com/home-assistant/home-assistant/pull/8100
|
||||
[#8101]: https://github.com/home-assistant/home-assistant/pull/8101
|
||||
[#8102]: https://github.com/home-assistant/home-assistant/pull/8102
|
||||
[#8103]: https://github.com/home-assistant/home-assistant/pull/8103
|
||||
[#8104]: https://github.com/home-assistant/home-assistant/pull/8104
|
||||
[#8110]: https://github.com/home-assistant/home-assistant/pull/8110
|
||||
[#8111]: https://github.com/home-assistant/home-assistant/pull/8111
|
||||
[#8113]: https://github.com/home-assistant/home-assistant/pull/8113
|
||||
[#8116]: https://github.com/home-assistant/home-assistant/pull/8116
|
||||
[#8118]: https://github.com/home-assistant/home-assistant/pull/8118
|
||||
[#8119]: https://github.com/home-assistant/home-assistant/pull/8119
|
||||
[#8120]: https://github.com/home-assistant/home-assistant/pull/8120
|
||||
[#8121]: https://github.com/home-assistant/home-assistant/pull/8121
|
||||
[#8124]: https://github.com/home-assistant/home-assistant/pull/8124
|
||||
[#8125]: https://github.com/home-assistant/home-assistant/pull/8125
|
||||
[#8126]: https://github.com/home-assistant/home-assistant/pull/8126
|
||||
[#8129]: https://github.com/home-assistant/home-assistant/pull/8129
|
||||
[#8131]: https://github.com/home-assistant/home-assistant/pull/8131
|
||||
[#8132]: https://github.com/home-assistant/home-assistant/pull/8132
|
||||
[#8134]: https://github.com/home-assistant/home-assistant/pull/8134
|
||||
[#8135]: https://github.com/home-assistant/home-assistant/pull/8135
|
||||
[#8138]: https://github.com/home-assistant/home-assistant/pull/8138
|
||||
[#8139]: https://github.com/home-assistant/home-assistant/pull/8139
|
||||
[#8143]: https://github.com/home-assistant/home-assistant/pull/8143
|
||||
[#8144]: https://github.com/home-assistant/home-assistant/pull/8144
|
||||
[#8147]: https://github.com/home-assistant/home-assistant/pull/8147
|
||||
[#8148]: https://github.com/home-assistant/home-assistant/pull/8148
|
||||
[#8149]: https://github.com/home-assistant/home-assistant/pull/8149
|
||||
[#8151]: https://github.com/home-assistant/home-assistant/pull/8151
|
||||
[#8153]: https://github.com/home-assistant/home-assistant/pull/8153
|
||||
[#8156]: https://github.com/home-assistant/home-assistant/pull/8156
|
||||
[#8159]: https://github.com/home-assistant/home-assistant/pull/8159
|
||||
[#8160]: https://github.com/home-assistant/home-assistant/pull/8160
|
||||
[#8164]: https://github.com/home-assistant/home-assistant/pull/8164
|
||||
[#8166]: https://github.com/home-assistant/home-assistant/pull/8166
|
||||
[#8168]: https://github.com/home-assistant/home-assistant/pull/8168
|
||||
[#8171]: https://github.com/home-assistant/home-assistant/pull/8171
|
||||
[#8173]: https://github.com/home-assistant/home-assistant/pull/8173
|
||||
[#8178]: https://github.com/home-assistant/home-assistant/pull/8178
|
||||
[#8181]: https://github.com/home-assistant/home-assistant/pull/8181
|
||||
[#8182]: https://github.com/home-assistant/home-assistant/pull/8182
|
||||
[#8186]: https://github.com/home-assistant/home-assistant/pull/8186
|
||||
[#8188]: https://github.com/home-assistant/home-assistant/pull/8188
|
||||
[#8189]: https://github.com/home-assistant/home-assistant/pull/8189
|
||||
[#8190]: https://github.com/home-assistant/home-assistant/pull/8190
|
||||
[#8192]: https://github.com/home-assistant/home-assistant/pull/8192
|
||||
[#8193]: https://github.com/home-assistant/home-assistant/pull/8193
|
||||
[#8194]: https://github.com/home-assistant/home-assistant/pull/8194
|
||||
[#8197]: https://github.com/home-assistant/home-assistant/pull/8197
|
||||
[#8198]: https://github.com/home-assistant/home-assistant/pull/8198
|
||||
[#8200]: https://github.com/home-assistant/home-assistant/pull/8200
|
||||
[#8209]: https://github.com/home-assistant/home-assistant/pull/8209
|
||||
[#8215]: https://github.com/home-assistant/home-assistant/pull/8215
|
||||
[#8217]: https://github.com/home-assistant/home-assistant/pull/8217
|
||||
[#8220]: https://github.com/home-assistant/home-assistant/pull/8220
|
||||
[#8222]: https://github.com/home-assistant/home-assistant/pull/8222
|
||||
[#8223]: https://github.com/home-assistant/home-assistant/pull/8223
|
||||
[#8226]: https://github.com/home-assistant/home-assistant/pull/8226
|
||||
[#8228]: https://github.com/home-assistant/home-assistant/pull/8228
|
||||
[#8229]: https://github.com/home-assistant/home-assistant/pull/8229
|
||||
[#8241]: https://github.com/home-assistant/home-assistant/pull/8241
|
||||
[#8242]: https://github.com/home-assistant/home-assistant/pull/8242
|
||||
[#8244]: https://github.com/home-assistant/home-assistant/pull/8244
|
||||
[#8245]: https://github.com/home-assistant/home-assistant/pull/8245
|
||||
[#8246]: https://github.com/home-assistant/home-assistant/pull/8246
|
||||
[#8247]: https://github.com/home-assistant/home-assistant/pull/8247
|
||||
[#8248]: https://github.com/home-assistant/home-assistant/pull/8248
|
||||
[#8251]: https://github.com/home-assistant/home-assistant/pull/8251
|
||||
[#8252]: https://github.com/home-assistant/home-assistant/pull/8252
|
||||
[#8255]: https://github.com/home-assistant/home-assistant/pull/8255
|
||||
[#8256]: https://github.com/home-assistant/home-assistant/pull/8256
|
||||
[#8259]: https://github.com/home-assistant/home-assistant/pull/8259
|
||||
[#8275]: https://github.com/home-assistant/home-assistant/pull/8275
|
||||
[@AlexMekkering]: https://github.com/AlexMekkering
|
||||
[@CharlesBlonde]: https://github.com/CharlesBlonde
|
||||
[@Kane610]: https://github.com/Kane610
|
||||
[@Kernald]: https://github.com/Kernald
|
||||
[@PhracturedBlue]: https://github.com/PhracturedBlue
|
||||
[@SConaway]: https://github.com/SConaway
|
||||
[@SmilyOrg]: https://github.com/SmilyOrg
|
||||
[@alanfischer]: https://github.com/alanfischer
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andrey-git]: https://github.com/andrey-git
|
||||
[@armills]: https://github.com/armills
|
||||
[@aronsky]: https://github.com/aronsky
|
||||
[@auchter]: https://github.com/auchter
|
||||
[@azogue]: https://github.com/azogue
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@basschipper]: https://github.com/basschipper
|
||||
[@cmsimike]: https://github.com/cmsimike
|
||||
[@cyberplant]: https://github.com/cyberplant
|
||||
[@depl0y]: https://github.com/depl0y
|
||||
[@dgomes]: https://github.com/dgomes
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@finish06]: https://github.com/finish06
|
||||
[@glance-]: https://github.com/glance-
|
||||
[@happyleavesaoc]: https://github.com/happyleavesaoc
|
||||
[@jawilson]: https://github.com/jawilson
|
||||
[@jeanregisser]: https://github.com/jeanregisser
|
||||
[@jjmontestl]: https://github.com/jjmontestl
|
||||
[@jshore1296]: https://github.com/jshore1296
|
||||
[@karlw00t]: https://github.com/karlw00t
|
||||
[@kentcalero]: https://github.com/kentcalero
|
||||
[@lrmate]: https://github.com/lrmate
|
||||
[@lunar-consultancy]: https://github.com/lunar-consultancy
|
||||
[@madpilot]: https://github.com/madpilot
|
||||
[@mezz64]: https://github.com/mezz64
|
||||
[@michaelarnauts]: https://github.com/michaelarnauts
|
||||
[@michaelfester]: https://github.com/michaelfester
|
||||
[@mortenlj]: https://github.com/mortenlj
|
||||
[@natemason]: https://github.com/natemason
|
||||
[@omarusman]: https://github.com/omarusman
|
||||
[@open-homeautomation]: https://github.com/open-homeautomation
|
||||
[@perosb]: https://github.com/perosb
|
||||
[@persandstrom]: https://github.com/persandstrom
|
||||
[@pezinek]: https://github.com/pezinek
|
||||
[@philhawthorne]: https://github.com/philhawthorne
|
||||
[@pvizeli]: https://github.com/pvizeli
|
||||
[@scarface-4711]: https://github.com/scarface-4711
|
||||
[@sdague]: https://github.com/sdague
|
||||
[@sn0oz]: https://github.com/sn0oz
|
||||
[@tiktok7]: https://github.com/tiktok7
|
||||
[@titilambert]: https://github.com/titilambert
|
||||
[@tony2nite]: https://github.com/tony2nite
|
||||
[@tsvi]: https://github.com/tsvi
|
||||
[@tubaman]: https://github.com/tubaman
|
||||
[@twilde]: https://github.com/twilde
|
||||
[@viswa-swami]: https://github.com/viswa-swami
|
||||
[@voltagex]: https://github.com/voltagex
|
||||
[@wmalgadey]: https://github.com/wmalgadey
|
||||
[@ypollart]: https://github.com/ypollart
|
||||
[alarm_control_panel.verisure docs]: /components/alarm_control_panel.verisure/
|
||||
[alert docs]: /components/alert/
|
||||
[arlo docs]: /components/arlo/
|
||||
[axis docs]: /components/axis/
|
||||
[binary_sensor.arest docs]: /components/binary_sensor.arest/
|
||||
[binary_sensor.digital_ocean docs]: /components/binary_sensor.digital_ocean/
|
||||
[binary_sensor.modbus docs]: /components/binary_sensor.modbus/
|
||||
[binary_sensor.rfxtrx docs]: /components/binary_sensor.rfxtrx/
|
||||
[binary_sensor.verisure docs]: /components/binary_sensor.verisure/
|
||||
[calendar.google docs]: /components/calendar.google/
|
||||
[camera.arlo docs]: /components/camera.arlo/
|
||||
[camera.axis docs]: /components/camera.axis/
|
||||
[camera.local_file docs]: /components/camera.local_file/
|
||||
[camera.verisure docs]: /components/camera.verisure/
|
||||
[climate docs]: /components/climate/
|
||||
[climate.mysensors docs]: /components/climate.mysensors/
|
||||
[climate.radiotherm docs]: /components/climate.radiotherm/
|
||||
[climate.sensibo docs]: /components/climate.sensibo/
|
||||
[climate.tado docs]: /components/climate.tado/
|
||||
[comfoconnect docs]: /components/comfoconnect/
|
||||
[cover.knx docs]: /components/cover.knx/
|
||||
[cover.template docs]: /components/cover.template/
|
||||
[device_tracker.linksys_smart docs]: /components/device_tracker.linksys_smart/
|
||||
[device_tracker.mikrotik docs]: /components/device_tracker.mikrotik/
|
||||
[device_tracker.owntracks docs]: /components/device_tracker.owntracks/
|
||||
[device_tracker.unifi docs]: /components/device_tracker.unifi/
|
||||
[digital_ocean docs]: /components/digital_ocean/
|
||||
[fan.comfoconnect docs]: /components/fan.comfoconnect/
|
||||
[fan.dyson docs]: /components/fan.dyson/
|
||||
[fan.insteon_local docs]: /components/fan.insteon_local/
|
||||
[group docs]: /components/group/
|
||||
[image_processing.opencv docs]: /components/image_processing.opencv/
|
||||
[influxdb docs]: /components/influxdb/
|
||||
[insteon_hub docs]: /components/insteon_hub/
|
||||
[insteon_local docs]: /components/insteon_local/
|
||||
[knx docs]: /components/knx/
|
||||
[light.decora docs]: /components/light.decora/
|
||||
[light.isy994 docs]: /components/light.isy994/
|
||||
[light.lifx docs]: /components/light.lifx/
|
||||
[light.limitlessled docs]: /components/light.limitlessled/
|
||||
[light.vera docs]: /components/light.vera/
|
||||
[light.zwave docs]: /components/light.zwave/
|
||||
[lock.verisure docs]: /components/lock.verisure/
|
||||
[media_player.denonavr docs]: /components/media_player.denonavr/
|
||||
[media_player.emby docs]: /components/media_player.emby/
|
||||
[media_player.kodi docs]: /components/media_player.kodi/
|
||||
[media_player.mpd docs]: /components/media_player.mpd/
|
||||
[media_player.plex docs]: /components/media_player.plex/
|
||||
[media_player.soundtouch docs]: /components/media_player.soundtouch/
|
||||
[mqtt docs]: /components/mqtt/
|
||||
[mqtt.discovery docs]: /components/mqtt.discovery/
|
||||
[notify.clicksend docs]: /components/notify.clicksend/
|
||||
[notify.html5 docs]: /components/notify.html5/
|
||||
[notify.smtp docs]: /components/notify.smtp/
|
||||
[plant docs]: /components/plant/
|
||||
[python_script docs]: /components/python_script/
|
||||
[recorder docs]: /components/recorder/
|
||||
[recorder.migration docs]: /components/recorder.migration/
|
||||
[recorder.models docs]: /components/recorder.models/
|
||||
[remote.harmony docs]: /components/remote.harmony/
|
||||
[remote.itach docs]: /components/remote.itach/
|
||||
[rfxtrx docs]: /components/rfxtrx/
|
||||
[sensor.arest docs]: /components/sensor.arest/
|
||||
[sensor.bh1750 docs]: /components/sensor.bh1750/
|
||||
[sensor.bme280 docs]: /components/sensor.bme280/
|
||||
[sensor.buienradar docs]: /components/sensor.buienradar/
|
||||
[sensor.comfoconnect docs]: /components/sensor.comfoconnect/
|
||||
[sensor.dyson docs]: /components/sensor.dyson/
|
||||
[sensor.glances docs]: /components/sensor.glances/
|
||||
[sensor.htu21d docs]: /components/sensor.htu21d/
|
||||
[sensor.hydroquebec docs]: /components/sensor.hydroquebec/
|
||||
[sensor.knx docs]: /components/sensor.knx/
|
||||
[sensor.netdata docs]: /components/sensor.netdata/
|
||||
[sensor.openhardwaremonitor docs]: /components/sensor.openhardwaremonitor/
|
||||
[sensor.openweathermap docs]: /components/sensor.openweathermap/
|
||||
[sensor.pi_hole docs]: /components/sensor.pi_hole/
|
||||
[sensor.upnp docs]: /components/sensor.upnp/
|
||||
[sensor.ups docs]: /components/sensor.ups/
|
||||
[sensor.usps docs]: /components/sensor.usps/
|
||||
[sensor.verisure docs]: /components/sensor.verisure/
|
||||
[sensor.wunderground docs]: /components/sensor.wunderground/
|
||||
[shiftr docs]: /components/shiftr/
|
||||
[snips docs]: /components/snips/
|
||||
[switch.digital_ocean docs]: /components/switch.digital_ocean/
|
||||
[switch.rachio docs]: /components/switch.rachio/
|
||||
[switch.verisure docs]: /components/switch.verisure/
|
||||
[switch.wake_on_lan docs]: /components/switch.wake_on_lan/
|
||||
[tado docs]: /components/tado/
|
||||
[telegram_bot docs]: /components/telegram_bot/
|
||||
[telegram_bot.webhooks docs]: /components/telegram_bot.webhooks/
|
||||
[tellduslive docs]: /components/tellduslive/
|
||||
[tts docs]: /components/tts/
|
||||
[upnp docs]: /components/upnp/
|
||||
[vera docs]: /components/vera/
|
||||
[verisure docs]: /components/verisure/
|
||||
[weather.buienradar docs]: /components/weather.buienradar/
|
||||
[zwave docs]: /components/zwave/
|
||||
[forum]: https://community.home-assistant.io/
|
||||
[gitter]: https://gitter.im/home-assistant/home-assistant
|
||||
[issue]: https://github.com/home-assistant/home-assistant/issues
|
@ -10,7 +10,7 @@ footer: true
|
||||
is_homepage: true
|
||||
hide_github_edit: true
|
||||
body_id: components-page
|
||||
regenerate: true
|
||||
regenerate: false
|
||||
---
|
||||
|
||||
{% assign count = site.components | size %}
|
||||
|
BIN
source/images/blog/2017-07-0.48/components.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
source/images/screenshots/snips_modules.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
source/images/screenshots/snips_nlu.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
source/images/supported_brands/clicksend.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
source/images/supported_brands/openhardwaremonitor.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
source/images/supported_brands/shiftr.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
source/images/supported_brands/snips.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
source/images/supported_brands/zehnder.png
Normal file
After Width: | Height: | Size: 9.5 KiB |