Skip to content

Commit bb8eb97

Browse files
committed
Merge branch 'current' into next
2 parents 7bb10f1 + 1e10f23 commit bb8eb97

File tree

63 files changed

+610
-204
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+610
-204
lines changed

source/_components/alexa.markdown

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,11 @@ Amazon has released [Echosim], a website that simulates the Alexa service in you
2222

2323
## {% linkable_title I just want to turn devices on and off using Echo %}
2424

25-
If you just want to be able to turn anything with a switch (like lights, switches, media players, etc) on and off, check out Michael Auchter's [Haaska][haaska-github-link] which integrates the [Alexa Lighting API][alexa-lighting-api] into Home Assistant.
25+
If you just want to be able to turn anything with a switch (like lights, switches, media players, etc) on and off, you should enable the [Emulated Hue][emulated-hue-component] component. It makes your Home Assistant appear as if it were a Phillips Hue bridge, which Echo works with natively.
2626

27-
[haaska-github-link]: https://github.com/auchter/haaska
28-
[alexa-lighting-api]: https://developer.amazon.com/public/binaries/content/assets/html/alexa-lighting-api.html
27+
[emulated-hue-component]: https://home-assistant.io/components/emulated_hue/
2928

30-
Implementing Haaska means you can turn things on and off by simply saying
29+
Enabling the Emulated Hue component means you can turn things on and off by simply saying
3130

3231
> Alexa, turn the living room lights on.
3332
@@ -43,9 +42,9 @@ or
4342

4443
> Alexa, tell Home Assistant to set the living room lights to twenty percent.
4544
46-
In addition, you would need to build custom intents for each device and on/off combination using the below method, whereas everything just works without any extra work by using Haaska.
45+
In addition, you would need to build custom intents for each device and on/off combination using the below method, whereas everything just works without any extra work by using Emulated Hue.
4746

48-
Please note that you can use Haaska and the built-in Alexa component side-by-side without issue if you wish.
47+
Please note that you can use Emulated Hue and the built-in Alexa component side-by-side without issue if you wish.
4948

5049
## {% linkable_title I want to build custom commands to use with Echo %}
5150

source/_components/binary_sensor.bloomsky.markdown

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ footer: true
1010
logo: bloomsky.png
1111
ha_category: Binary Sensor
1212
ha_release: 0.14
13+
ha_iot_class: "Cloud Polling"
1314
---
1415

1516
The `bloomsky` binary sensor platform allows you to get data from your BloomSky device.
@@ -22,5 +23,13 @@ To use your BloomSky binary sensor in your installation, add the following to yo
2223
# Example configuration.yaml entry
2324
binary_sensor:
2425
- platform: bloomsky
26+
monitored_conditions:
27+
- Night
28+
- Rain
2529
```
2630
31+
Configuration variables:
32+
33+
- **monitored_conditions** array (*Required*): The sensors that you wish to monitor on all of your devices. Select from these options:
34+
- Night
35+
- Rain

source/_components/binary_sensor.command_line.markdown

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ footer: true
1010
logo: command_line.png
1111
ha_category: Binary Sensor
1212
ha_release: 0.12
13+
ha_iot_class: "Local Polling"
1314
---
1415

1516

16-
The `command` binary sensor platform issues specific commands to get data.
17+
The `command_line` binary sensor platform issues specific commands to get data.
1718

1819
To use your Command binary sensor in your installation, add the following to your `configuration.yaml` file:
1920

source/_components/binary_sensor.ffmpeg.markdown

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ ha_iot_class: "Local Polling"
1414
---
1515

1616

17-
The `ffmpeg` platform allows you to use every video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant. Available are: **noise**, **motion**. If the `ffmpeg` process is brocken, the sensor going to unavailable. It exists a service to restart a instance with *binary_sensor.ffmpeg_restart*.
17+
The `ffmpeg` platform allows you to use every video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant. Available are: **noise**, **motion**. If the `ffmpeg` process is broken, the sensor will be unavailable. To restart the instance, use the service *binary_sensor.ffmpeg_restart*.
1818

1919
<p class='note'>
20-
You need a `ffmpeg` binary in your system path. On Debain 8 you can install it from backports. If you want Hardware support on a Raspberry Pi you need to build it from sourceby ourself. Windows binary are avilable on [FFmpeg](http://www.ffmpeg.org/) homepage.
20+
You need the `ffmpeg` binary in your system path. On Debain 8 you can install it from backports. If you want Hardware support on a Raspberry Pi you need to build it from source. Windows binary are avilable on [FFmpeg](http://www.ffmpeg.org/) homepage.
2121
</p>
2222

2323
### {% linkable_title Noise %}
@@ -47,7 +47,7 @@ Configuration variables:
4747
- **duration** (*Optional*): Default 1 seconds. How long need the noise over the peak to trigger the state.
4848
- **reset** (*Optional*): Defaults to 20 seconds. The time to reset the state after none new noise is over the peak.
4949
- **extra_arguments** (*Optional*): Extra option they will pass to `ffmpeg`, like audio frequence filtering.
50-
- **output** (*Optional*): Allow you to send the audio output of this sensor to a icecast server or other ffmpeg supported output, eg. to stream with sonos after state is trigger.
50+
- **output** (*Optional*): Allow you to send the audio output of this sensor to an icecast server or other ffmpeg supported output, eg. to stream with sonos after state is triggered.
5151

5252
For playing with values:
5353

@@ -57,7 +57,7 @@ $ ffmpeg -i YOUR_INPUT -vn -filter:a silencedetect=n=-30dB:d=1 -f null -
5757

5858
### {% linkable_title Motion %}
5959

60-
FFmpeg don't have a motion detection filter so it use a scene filter to detect a new scene/motion. In fact you can set how big a object or size of image they need change to detect a motion. The option 'changes' is the percent value of change between frames. You can add a denoise filter to video if you want a realy small value for 'changes'.
60+
FFmpeg doesn't have a motion detection filter, so it uses a scene filter to detect a new scene/motion. In fact, you can set how big of an object or the size of an image that needs to change in order to detect motion. The option 'changes' is the percent value of change between frames. You can add a denoise filter to the video if you want a really small value for 'changes'.
6161

6262
To enable your FFmpeg with motion detection in your installation, add the following to your `configuration.yaml` file:
6363

@@ -79,18 +79,20 @@ camera:
7979

8080
Configuration variables:
8181

82-
- **input** (*Required*): A ffmpeg compatible input file, stream or feed.
82+
- **input** (*Required*): A ffmpeg compatible input file, stream, or feed.
8383
- **tool** (*Required*): Is fix set to `motion`.
8484
- **name** (*Optional*): This parameter allows you to override the name of your camera.
8585
- **ffmpeg_bin** (*Optional*): Default `ffmpeg`.
86-
- **changes** (*Optional*): Default 10 percent. A lower value is more sensitive. I use 4 / 3.5 on my cameras. It describe how much of two frames need to change to detect it as motion. See on descripton.
87-
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after none new motion is detect.
88-
- **repeat** (*Optional*): Default 0 repeats (deactivate). How many motion need to detect in *repeat_time* to trigger a motion.
89-
- **repeat_time** (*Optional*): Default 0 seconds (deactivate). The time to repeats before it trigger a motion.
86+
- **changes** (*Optional*): Default 10 percent. A lower value is more sensitive. I use 4 / 3.5 on my cameras. It describes how much needs to change between two frames to detect it as motion. See on descripton.
87+
- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new motion is detected.
88+
- **repeat** (*Optional*): Default 0 repeats (deactivate). How many events need to be detected in *repeat_time* in order to trigger a motion.
89+
- **repeat_time** (*Optional*): Default 0 seconds (deactivate). The span of time *repeat* events need to occur in before triggering a motion.
9090
- **extra_arguments** (*Optional*): Extra option they will pass to ffmpeg. i.e. video denoise filtering.
9191

9292
For playing with values (changes/100 is the scene value on ffmpeg):
9393

9494
```bash
9595
$ ffmpeg -i YOUR_INPUT -an -filter:v select=gt(scene\,0.1) -f framemd5 -
9696
```
97+
98+
If you are running into trouble with this sensor, please refer to this [Troubleshooting section](/components/camera.ffmpeg/#troubleshooting).

source/_components/binary_sensor.nest.markdown

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,16 @@ ha_category: Binary Sensor
1414

1515
The `nest` binary sensor platform let you monitor various states of a thermostat from [Nest](https://nest.com).
1616

17+
<p class='note'>
18+
You must have the [Nest component](/components/nest/) configured to use this sensors.
19+
</p>
20+
1721
To set it up, add the following information to your `configuration.yaml` file:
1822

1923
```yaml
2024
binary_sensor:
2125
platform: nest
26+
scan_interval: 60
2227
monitored_conditions:
2328
- 'fan'
2429
- 'hvac_ac_state'
@@ -34,6 +39,7 @@ binary_sensor:
3439
3540
Configuration variables:
3641
42+
- **scan_interval** (*Optional*): Interval in seconds to scan.
3743
- **monitored_conditions** array (*Required*): States to monitor.
3844
- 'fan'
3945
- 'hvac_ac_state'
@@ -45,4 +51,3 @@ Configuration variables:
4551
- 'hvac_emer_heat_state'
4652
- 'online'
4753
48-
<p class='note'>You must have the [Nest component](/components/nest/) configured to use this sensor.</p>

source/_components/binary_sensor.template.markdown

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,29 @@ binary_sensor:
6666
value_template: {% raw %}"{{ states.switch.door.state == 'on' }}"{% endraw %}
6767
sensor_class: opening
6868
```
69+
70+
71+
### {% linkable_title Combining multiple sensors, and using entity_id: %}
72+
73+
This example combines multiple CO sensors into a single overall status. It also shows how to use `entity_id`
74+
75+
```yaml
76+
binary_sensor:
77+
- platform: template
78+
sensors:
79+
co:
80+
friendly_name: 'CO'
81+
sensor_class: 'gas'
82+
value_template: {% raw %}>-
83+
{%- if is_state("sensor.bedroom_co_status", "Ok")
84+
and is_state("sensor.kitchen_co_status", "Ok")
85+
and is_state("sensor.wardrobe_co_status", "Ok") -%}
86+
Off
87+
{%- else -%}
88+
On
89+
{%- endif %}{% endraw %}
90+
entity_id:
91+
- sensor.bedroom_co_status
92+
- sensor.kitchen_co_status
93+
- sensor.wardrobe_co_status
94+
```

source/_components/bloomsky.markdown

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ sharing: true
99
footer: true
1010
logo: bloomsky.png
1111
ha_category: Hub
12+
ha_release: 0.14
13+
ha_iot_class: "Cloud Polling"
1214
---
1315

1416

15-
The `bloomsky` component allows you to access your [BloomSky](http://www.insteon.com/) weather station's [sensors](/components/sensor.bloomsky) and [camera](/components/camera.bloomsky) from Home Assistant.
17+
The `bloomsky` component allows you to access your [BloomSky](https://www.bloomsky.com/) weather station's [sensors](/components/sensor.bloomsky), [binary sensors](/components/binary_sensor.bloomsky), and [camera](/components/camera.bloomsky) from Home Assistant.
18+
19+
Obtain your PI key from your [BloomSky dashboard](https://dashboard.bloomsky.com). Click `developers` in the bottom left of the screen.
1620

1721
To integrate your BloomSky hub with Home Assistant, add the following section to your `configuration.yaml` file:
1822

@@ -24,4 +28,4 @@ bloomsky:
2428
2529
Configuration variables:
2630
27-
- **api_key** *Required*: Your BloomSky API key, obtained from your [BloomSky dashboard](https://dashboard.bloomsky.com) (click `developers` in the bottom left of the screen)
31+
- **api_key** (*Required*): Your BloomSky API key.

source/_components/camera.ffmpeg.markdown

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ ha_release: 0.26
1313
---
1414

1515

16-
The `ffmpeg` platform allows you to use every video feed with [FFmpeg](http://www.ffmpeg.org/) as camera in Home Assistant.
16+
The `ffmpeg` platform allows you to use every video feed with [FFmpeg](http://www.ffmpeg.org/) as camera in Home Assistant. The input for ffmpeg need to support that could have multiple connection to source (input) in same time. For every user in UI and all 10 seconds (snapshot image) it make a new connection/reading to source. Normally that should never be a trouble only in strange selfmade constructs can be make mistakes.
1717

1818
<p class='note'>
19-
You need a ffmpeg binary in your system path. On debain 8 you can install it from backports. If you want HW support on raspberry you need self build from source. Windows binary are avilable on ffmpeg homepage.
19+
You need a `ffmpeg` binary in your system path. On Debain 8 you can install it from backports. If you want Hardware support on a Raspberry Pi you need tobuild from source by yourself. Windows binary are avilable on the [FFmpeg](http://www.ffmpeg.org/) website.
2020
</p>
2121

2222
To enable your FFmpeg feed in your installation, add the following to your `configuration.yaml` file:
@@ -36,9 +36,24 @@ Configuration variables:
3636
- **input** (*Required*): A ffmpeg compatible input file, stream or feed.
3737
- **name** (*Optional*): This parameter allows you to override the name of your camera.
3838
- **ffmpeg_bin** (*Optional*): Default 'ffmpeg'.
39-
- **extra_arguments** (*Optional*): Extra option they will pass to ffmpeg. i.e. image quality or video filter options.
39+
- **extra_arguments** (*Optional*): Extra option they will pass to `ffmpeg`. i.e. image quality or video filter options.
4040

4141
### {% linkable_title Image quality %}
4242

4343
You can control the `image quality` with [`extra_arguments`](https://www.ffmpeg.org/ffmpeg-codecs.html#jpeg2000) `-q:v 2-32` or with lossless option `-pred 1`.
4444

45+
### {% linkable_title Troubleshooting %}
46+
47+
In most of case, `ffmpeg` autodetect all needed options to read a video/audio stream or file. But it is possible in rare cases that's needed to set a option to help `ffmpeg`. Per default `ffmpeg` use 5 seconds to detect all options or abort.
48+
49+
First check, if your stream playable by `ffmpeg` with (use option `-an` or `-vn` to disable video or audio stream):
50+
51+
```
52+
$ ffmpeg -i INPUT -an -f null -
53+
```
54+
55+
Now you can see what going wrong. Following list could be help to solve your trouble:
56+
57+
- `[rtsp @ ...] UDP timeout, retrying with TCP`: You need to set RTSP transport in the configuration with: `input: -rtsp_transport tcp -i INPUT`
58+
- `[rtsp @ ...] Could not find codec parameters for stream 0 (Video: ..., none): unspecified size`: FFmpeg need more data or time for autodetect. You can set the `analyzeduration` and/or `probesize` option, play with this value. If you know the needed value you can set it with: `input: -analyzeduration xy -probesize xy tcp -i INPUT`. More information about that can be found on [FFmpeg](https://www.ffmpeg.org/ffmpeg-formats.html#Description).
59+

source/_components/climate.generic_thermostat.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ The `generic_thermostat` climate platform is a thermostat implemented in Home As
1717
```yaml
1818
# Example configuration.yaml entry
1919
climate:
20-
platform: heat_control
20+
platform: generic_thermostat
2121
name: Study
2222
heater: switch.study_heater
2323
target_sensor: sensor.study_temperature

source/_components/climate.heatmiser.markdown

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ climate:
2525
ipaddress: YOUR_IPADDRESS
2626
port: YOUR_PORT
2727
tstats:
28-
1:
29-
id: THERMOSTAT_ID
30-
name: THERMOSTAT_NAME
28+
- 1:
29+
id: THERMOSTAT_ID
30+
name: THERMOSTAT_NAME
3131
```
3232
3333
A single interface can handle up to 32 connected devices.

source/_components/climate.nest.markdown

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ ha_category: Climate
1414

1515
The `nest` climate platform let you control a thermostat from [Nest](https://nest.com).
1616

17+
<p class='note'>
18+
You must have the [Nest component](/components/nest/) configured to use those thermostats.
19+
</p>
20+
1721
To set it up, add the following information to your `configuration.yaml` file:
1822

1923
```yaml
@@ -25,6 +29,3 @@ climate:
2529
<img src='{{site_root}}/images/screenshots/nest-thermostat-card.png' />
2630
</p>
2731
28-
<p class='note'>
29-
You must have the [Nest component](https://home-assistant.io/components/nest/) configured to use this sensor.
30-
</p>

source/_components/cover.command_line.markdown

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ footer: true
1010
logo: command_line.png
1111
ha_category: Cover
1212
ha_release: 0.14
13+
ha_iot_class: "Local Polling"
1314
---
1415

1516
A `command_line`cover platform that issues specific commands when it is moved up, down and stopped. It allows anyone to integrate any type of cover into Home Assistant that can be controlled from the command line.
@@ -22,10 +23,10 @@ cover:
2223
- platform: command_line
2324
covers:
2425
Garage door:
25-
open_cmd: move_command up kitchen
26-
close_cmd: move_command down kitchen
27-
stop_cmd: move_command stop kitchen
28-
state_cmd: state_command kitchen
26+
opencmd: move_command up kitchen
27+
closecmd: move_command down kitchen
28+
stopcmd: move_command stop kitchen
29+
statecmd: state_command kitchen
2930
value_template: {% raw %}>
3031
{% if value == 'open' %}
3132
100
@@ -39,8 +40,8 @@ Configuration variables:
3940
4041
- **covers** (*Required*): The array that contains all command line covers.
4142
- **entry** (*Required*): Name of the command line cover. Multiple entries are possible.
42-
- **open_cmd** (*Required*): The command to open the cover.
43-
- **close_cmd** (*Required*): The action to close the cover.
44-
- **stop_cmd** (*Required*): The action to stop the cover.
45-
- **state_cmd** (*Optional*): If given, this will act as a sensor that runs in the background and updates the state of the cover. If the command returns a `0` the indicates the cover is fully closed, whereas a 100 indicates the cover is fully open.
46-
- **value_template** (*optional - default: '{% raw %}{{ value }}{% endraw%}'*): if specified, `state_cmd` will ignore the result code of the command but the template evaluating will indicate the position of the cover. For example, if your `state_cmd` returns a string "open", using `value_template` as in the example config above will allow you to translate that into the valid state `100`.
43+
- **opencmd** (*Required*): The command to open the cover.
44+
- **closecmd** (*Required*): The action to close the cover.
45+
- **stopcmd** (*Required*): The action to stop the cover.
46+
- **statecmd** (*Optional*): If given, this will act as a sensor that runs in the background and updates the state of the cover. If the command returns a `0` the indicates the cover is fully closed, whereas a 100 indicates the cover is fully open.
47+
- **value_template** (*optional - default: '{% raw %}{{ value }}{% endraw%}'*): if specified, `statecmd` will ignore the result code of the command but the template evaluating will indicate the position of the cover. For example, if your `statecmd` returns a string "open", using `value_template` as in the example config above will allow you to translate that into the valid state `100`.

source/_components/cover.mqtt.markdown

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,31 @@ cover:
3030
state_topic: "home-assistant/cover"
3131
command_topic: "home-assistant/cover/set"
3232
name: "MQTT Sensor"
33-
optimistic: false
3433
qos: 0
3534
retain: true
35+
payload_open: "PAYLOAD_OPEN"
36+
payload_close: "PAYLOD__CLOSE"
37+
payload_stop: "PAYLOAD_STOP"
3638
state_open: "STATE_OPEN"
3739
state_closed: "STATE_CLOSED"
38-
service_open: "SERVICE_OPEN"
39-
service_close: "SERVICE_CLOSE"
40+
optimistic: false
41+
retain: false
4042
value_template: '{% raw %}{{ value.x }}{% endraw %}'
4143
```
4244
4345
Configuration variables:
4446
4547
- **state_topic** (*Required*): The MQTT topic subscribed to receive sensor values.
48+
- **command_topic** (*Required*): The MQTT topic to publish commands to control the rollershutter.
4649
- **name** (*Optional*): The name of the sensor. Default is "MQTT Sensor".
50+
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
51+
- **retain** (*Optional*): If the published message should have the retain flag on or not.
52+
- **payload_open** (*Optional*): The payload that opens the cover. Default is "UP"
53+
- **payload_close** (*Optional*): The payload that closes the cover. Default is "DOWN"
54+
- **payload_stop** (*Optional*): The payload that stops the rollershutter. default is "STOP"
4755
- **state_open** (*Optional*): The payload that represents open state. Default is"STATE_OPEN"
4856
- **state_closed** (*Optional*): The payload that represents closed state. Default is "STATE_CLOSED"
49-
- **service_open** (*Optional*): The payload that represents open state in service mode. Default is"SERVICE_OPEN"
50-
- **service_close** (*Optional*): The payload that represents closed state in service mode. Default is "SERVICE_CLOSE"
5157
- **optimistic** (*Optional*): Flag that defines if switch works in optimistic mode. Default is `true` if no state topic defined, else `false`.
52-
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
53-
- **retain** (*Optional*): If the published message should have the retain flag on or not.
5458
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
5559

5660
For a quick check you can use the commandline tools shipped with `mosquitto` to send MQTT messages. Set the state of your sensor manually:

0 commit comments

Comments
 (0)