Skip to content

Commit 27c1f41

Browse files
committed
Merge branch 'master' into next
2 parents 286ecd7 + aacf326 commit 27c1f41

File tree

60 files changed

+1844
-131
lines changed

Some content is hidden

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

60 files changed

+1844
-131
lines changed

_config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ collections:
7979
output: true
8080
cookbook:
8181
output: true
82+
topics:
83+
output: true
8284

8385
# ----------------------- #
8486
# 3rd Party Settings #

source/_components/alexa.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ Out of the box, the component will do nothing. You have to teach it about all in
8080

8181
You can use [templates] for the values of `speech/text`, `card/title` and `card/content`.
8282

83-
[templates]: /getting-started/templating/
83+
[templates]: /topics/templating/
8484

8585
Configuring the Alexa component for the above intents would look like this:
8686

source/_components/automation.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ automation:
209209

210210
Conditions are an optional part of an automation rule and be used to prevent an action from happening when triggered. Conditions look very familiar to triggers but are very different. A trigger will look at events happening at the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is on or off.
211211

212-
An automation rule can have mulitiple triggers. By default the action will only fire if all conditions pass. An optional key `condition_type: 'or'` can be set on the automation rule to fire action if any condition matches. In the example below, the automation would trigger if the time is before 05:00 _OR_ after 20:00.
212+
An automation rule can have mulitiple conditions. By default the action will only fire if all conditions pass. An optional key `condition_type: 'or'` can be set on the automation rule to fire action if any condition matches. In the example below, the automation would trigger if the time is before 05:00 _OR_ after 20:00.
213213
214214
```yaml
215215
automation:
@@ -363,4 +363,4 @@ The Logbook component will show a line entry when an automation is triggered. Y
363363

364364
![Logbook example](/images/components/automation/logbook.png)
365365

366-
[template]: /getting-started/templating/
366+
[template]: /topics/templating/

source/_components/binary_sensor.command_line.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Configuration variables:
3333
- **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used.
3434
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
3535
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".
36-
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
36+
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
3737
3838
## {% linkable_title Examples %}
3939

source/_components/binary_sensor.mqtt.markdown

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ binary_sensor:
2525
qos: 0
2626
payload_on: "ON"
2727
payload_off: "OFF"
28+
sensor_class: opening
2829
value_template: '{% raw %}{{ value.x }}{% endraw %}'
2930
```
3031
@@ -35,7 +36,8 @@ Configuration variables:
3536
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0.
3637
- **payload_on** (*Optional*): The payload that represents on state. Default is "ON".
3738
- **payload_off** (*Optional*): The payload that represents state. Default is "OFF".
38-
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
39+
- **sensor_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
40+
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
3941
4042
For a quick check you can use the commandline tools shipped with `mosquitto` to send MQTT messages. Set the state of your sensor manually:
4143

source/_components/binary_sensor.rest.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Configuration variables:
4242
4343
- **resource** (*Required*): The resource or endpoint that contains the value.
4444
- **method** (*Optional*): The method of the request. Default is GET.
45-
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the value.
45+
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the value.
4646
- **payload** (*Optional*): The payload to send with a POST request. Usualy formed as a dictionary.
4747
- **name** (*Optional*): Name of the REST binary sensor.
4848

source/_components/binary_sensor.tcp.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Configuration options for the a TCP Sensor:
3737
- **payload** (*Required*): What to send to the host in order to get the response we're interested in.
3838
- **value_on** (*Required*): The value returned when the device is "on".
3939
- **timeout** (*Optional*): How long in seconds to wait for a response from the service before giving up and disconnecting. Defaults to 10.
40-
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the value. By default it's assumed that the entire response is the value.
40+
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the value. By default it's assumed that the entire response is the value.
4141
- **unit** (*Optional*): The unit of measurement to use for the value.
4242
- **buffer_size** (*Optional*): The size of the receive buffer in bytes. Set this to a larger value if you expect to receive a response larger than the default. Defaults to 1024.
4343

source/_components/binary_sensor.template.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Configuration variables:
2929
- **sensors** array (*Required*): List of your sensors.
3030
- **friendly_name** (*Optional*): Name to use in the Frontend.
3131
- **sensor_class** (*Optional*): Defines the class of the sensor (motion, heat, moisture, etc)
32-
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
32+
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
3333
3434
3535
## {% linkable_title Examples %}

source/_components/browser.markdown

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ha_category: Other
1212
---
1313

1414

15-
The browser component provides a service to open urls in the default browser on the host machine.
15+
The `browser` component provides a service to open URLs in the default browser on the host machine.
1616

1717
To load this component, add the following lines to your `configuration.yaml`:
1818

@@ -21,8 +21,19 @@ To load this component, add the following lines to your `configuration.yaml`:
2121
browser:
2222
```
2323
24-
#### Service `browser/browse_url`
24+
#### {% linkable_title Service `browser/browse_url` %}
2525

2626
| Service data attribute | Optional | Description |
2727
| ---------------------- | -------- | ----------- |
2828
| `url` | no | The url to open
29+
30+
31+
### {% linkable_title Usage %}
32+
33+
To use this service, choose **Call Service** from the **Developer Tools**. Choose the service *browser/browse_url* from the list of **Available services:** and enter the URL into the **Service Data** field and hit **CALL SERVICE**.
34+
35+
```json
36+
{"url": "http://www.google.com"}
37+
```
38+
39+
This will open the given URL on the host machine.

source/_components/camera.foscam.markdown

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ To enable your Foscam IP camera in your installation, add the following to your
2020
# Example configuration.yaml entry
2121
camera:
2222
platform: foscam
23-
ip: 192.168.0.123
23+
ip: IP_ADDRESS
2424
name: Door Camera
2525
port: 88
2626
username: USERNAME
@@ -29,12 +29,15 @@ camera:
2929
3030
Configuration variables:
3131
32-
- **ip** *Required*: The IP address your camera.
33-
- **port** *Optional*: The port that the camera is running on. The default is 88.
34-
- **name** *Optional*: This parameter allows you to override the name of your camera.
35-
- **username** *Required*: The username for accessing your camera.
36-
- **password** *Required*: The password for accessing your camera.
37-
- **Note**: There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
32+
- **ip** (*Required*): The IP address your camera.
33+
- **port** (*Optional*): The port that the camera is running on. The default is 88.
34+
- **name** (*Optional*): This parameter allows you to override the name of your camera.
35+
- **username** (*Required*): The username for accessing your camera.
36+
- **password** (*Required*): The password for accessing your camera.
37+
38+
<p class='note'>
39+
There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
40+
</p>
3841
3942
### {% linkable_title Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away %}
4043
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.

source/_components/device_tracker.nmap_scanner.markdown

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ device_tracker:
2727
home_interval: 10
2828
```
2929
30-
`home_interval` is an optional value set in minutes. This will be the number of minutes nmap will not scan this device, assuming it is home, in order to preserve the device battery.
30+
Configuration variables:
31+
32+
- **hosts** (*Required*): Thenetwork range to scan in CIDR notation, eg. 192.168.1.1/24
33+
- **home_interval** (*Optional*): The number of minutes nmap will not scan this device, assuming it is home, in order to preserve the device battery.
3134
3235
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

source/_components/device_tracker.snmp.markdown

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ OID examples:
2323
- Mikrotik: 1.3.6.1.2.1.4.22.1.2 (confirmed, RouterOS 6.x on RB2011)
2424
- Aruba: 1.3.6.1.4.1.14823.2.3.3.1.2.4.1.2 (untested)
2525
- BiPAC 7800DXL: 1.3.6.1.2.1.17.7.1.2.2.1.1 (confirmed on firmware 2.32e)
26+
- OpenWrt: 1.3.6.1.2.1.4.22.1.2 (tested on Chaos Calmer 15.05 firmware, need to install snmpd package)
27+
- pfSense: 1.3.6.1.2.1.4.22.1.2 (tested on 2.2.4-RELEASE, need to enable SNMP service)
2628

2729
To use the snmp platform in your installation, add the following to your `configuration.yaml` file:
2830

source/_components/discovery.markdown

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,9 @@ If running home-assistant in a docker container use switch `--net=host` to put i
3737
If you are developing a new platform, please read [how to make your platform discoverable]({{site_root}}/developers/add_new_platform/#discovery).
3838

3939
<p class='note warning'>
40-
There is currently a <a href='https://bitbucket.org/al45tair/netifaces/issues/17/dll-fails-to-load-windows-81-64bit'>known issue</a> with running this playform on a 64-bit version of Python.
40+
There is currently a <a href='https://bitbucket.org/al45tair/netifaces/issues/17/dll-fails-to-load-windows-81-64bit'>known issue</a> with running this platform on a 64-bit version of Python.
41+
</p>
42+
43+
<p class='note'>
44+
If you are on Windows and you're using Python 3.5, download the Netifaces dependency <a href='http://www.lfd.uci.edu/~gohlke/pythonlibs/#netifaces'>here</a>.
4145
</p>

source/_components/group.markdown

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ Groups allow the user to combine multiple entities into one. A group can be prom
1515

1616
Check the **Set State** page from the **Developer Tools** and browse the **Current entities:** listing for all available entities.
1717

18+
By default, every group appears in the HOME tab. If you name a group `default_view` it will REPLACE the contents of the HOME tab so you can customize it as you wish.
19+
1820
```yaml
1921
# Example configuration.yaml entry
2022
group:
21-
# If you name an entry default_view it will REPLACE the contents of the "Home" tab
2223
default_view:
2324
view: yes
2425
entities:
@@ -42,24 +43,32 @@ group:
4243
4344
Configuration variables:
4445
46+
- **view** (*Optional*): If yes then the entry will be shown as a view (tab).
4547
- **name** (*Optional*): Name of the group.
46-
- **icon** (*Optional*): An optional icon to show in the Frontend.
47-
- **view** (*Optional*): If yes then the entry will be shown as a view.
48-
- **entities** array or comma delimited string (*Required*): List of entites to group.
48+
- **icon** (*Optional*): If the group is a view, this icon will show at the top in the frontend instead of the name. If it's not a view, then the icon shows when this group is used in another group.
49+
- **entities** (*Required*): array or comma delimited string, list of entities to group.
4950
5051
<p class='img'>
5152
<img src='/images/blog/2016-01-release-12/views.png'>
5253
Example of groups shown as views in the frontend.
5354
</p>
5455
55-
If all entities are switches or lights they can be controlled as one with a switch at the top of the card. Grouped states should share the same type of states (ON/OFF or HOME/NOT_HOME).
56+
If all entities in a group are switches or lights then Home Assistant adds a switch at the top of the card that turns them all on/off at once.
57+
58+
You can create views (tabs) that contain other groups.
59+
Notice in the example below that in order to refer to the group "Living Room", you use `group.living_room` (lowercase and spaces replaced with underscores).
5660

5761
```yaml
58-
# Example configuration.yaml entry
59-
group:
60-
living_room:
61-
- light.bowl
62-
- light.ceiling
63-
- light.tv_back_light
64-
children: device_tracker.child_1, device_tracker.child_2
65-
```
62+
# Example configuration.yaml entry that shows two groups, referred to in a view group (tab)
63+
Living Room:
64+
entities:
65+
- light.light_family_1
66+
- binary_sensor.motion_living
67+
Bedroom: light.light_bedroom, switch.sleeping
68+
Rooms:
69+
view: yes
70+
name: Rooms
71+
entities:
72+
- group.living_room
73+
- group.bedroom
74+
```

source/_components/light.hue.markdown

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ If you want to enable the light component directly, add the following lines to y
2222
light:
2323
platform: hue
2424
host: DEVICE_IP_ADDRESS
25-
# Optional, make this unique if specifying multiple Hue hubs
25+
allow_unreachable: true
2626
filename: my_hue_hub_token.conf
2727
```
28+
29+
Configuration variables:
30+
31+
- **host** (*Required*): IP address aof the device, eg. 192.168.1.10.
32+
- **allow_unreachable** (*Optional*): This will allow unreachable bulbs to report their state correctly. By default *name* from the device is used.
33+
- **filename** (*Optional*): Make this unique if specifying multiple Hue hubs.
34+

source/_components/light.mqtt.markdown

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ Configuration variables:
6666
- **brightness_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's brightness.
6767
- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates.
6868
- **rgb_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's RGB state.
69-
- **state_value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the state value.
70-
- **brightness_value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the brightness value.
71-
- **rgb_value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract the RGB value.
69+
- **state_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the state value.
70+
- **brightness_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the brightness value.
71+
- **rgb_value_template** (*Optional*): Defines a [template](/topics/templating/) to extract the RGB value.
7272
- **brightness_scale** (*Optional*): Defines the maximum brightness value (i.e. 100%) of the MQTT device (defaults to 255).
7373
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
7474
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".

source/_components/lock.mqtt.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Configuration variables:
4646
- **optimistic** (*Optional*): Flag that defines if lock works in optimistic mode. Default is true if no state topic defined, else false.
4747
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
4848
- **retain** (*Optional*): If the published message should have the retain flag on or not.
49-
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
49+
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.
5050
5151
<p class='note warning'>
5252
Make sure that your topic match exact. `some-topic/` and `some-topic` are different topics.

source/_components/mqtt.markdown

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,18 +125,21 @@ Home Assistant will automatically load the correct certificate if you connect to
125125

126126
## {% linkable_title Building on top of MQTT %}
127127

128+
- [MQTT Alarm control panel](/components/alarm_control_panel.mqtt/)
129+
- [MQTT Binary sensor](/components/binary_sensor.mqtt/)
128130
- [MQTT Sensor](/components/sensor.mqtt/)
129131
- [MQTT Switch](/components/switch.mqtt/)
130132
- [MQTT Light](/components/light.mqtt/)
133+
- [MQTT Lock](/components/lock.mqtt/)
131134
- [MQTT Device Tracker](/components/device_tracker.mqtt/)
132135
- [OwnTracks Device Tracker](/components/device_tracker.owntracks/)
133136
- [MQTT automation rule](/components/automation/#mqtt-based-automation)
134-
- [MQTT alarm](/components/alarm_control_panel.mqtt/)
137+
135138
- Integrating it into own component. See the [MQTT example component](/cookbook/python_component_mqtt_basic/) how to do this.
136139

137140
### {% linkable_title Publish service %}
138141

139-
The MQTT component will register the service `publish` which allows publishing messages to MQTT topics. There are two ways of specifiying your payload. You can either use `payload` to hard-code a payload or use `payload_template` to specify a [template](/getting-started/templating/) that will be rendered to generate the payload.
142+
The MQTT component will register the service `publish` which allows publishing messages to MQTT topics. There are two ways of specifiying your payload. You can either use `payload` to hard-code a payload or use `payload_template` to specify a [template](/topics/templating/) that will be rendered to generate the payload.
140143

141144
```json
142145
{

source/_components/notify.google_voice.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ notify:
2828
Configuration variables:
2929
3030
- **username** (*Required*): Enter your the Google email address you have signed up for Google Voice with. Go to https://www.google.com/voice to setup your Google Voice account.
31-
- **password** (*Required*): Enter the password associated with the above email. Go to https://www.pushbullet.com/ to retrieve your API key.
31+
- **password** (*Required*): Enter the password associated with the above email.
3232
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
3333

3434
### Usage

source/_components/notify.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Once loaded, the `notify` platform will expose a service that can be called to s
3737

3838
The notification component supports specifying [templates] for both the `message` and the `title`. This will allow you to use the current state of Home Assistant in your notifications.
3939

40-
[templates]: /getting-started/templating/
40+
[templates]: /topics/templating/
4141

4242
### {% linkable_title Test if it works %}
4343

source/_components/rollershutter.mqtt.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ Configuration variables:
4242
- **payload_up** (*Optional*): The payload to open the rollershutter. Default is "OPEN".
4343
- **payload_down** (*Optional*): The payload to close the rollershutter. Default is "CLOSE".
4444
- **payload_stop** (*Optional*): The payload to stop the rollershutter. Default is "STOP".
45-
- **value_template** (*Optional*): Defines a [template](/getting-started/templating/) to extract a value from the payload.
45+
- **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload.

source/_components/scene.hunterdouglas_powerview.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ comments: false
88
sharing: true
99
footer: true
1010
logo: hunter-douglas-powerview.png
11-
ha_category: Organization
11+
ha_category: Rollershutter
1212
---
1313

1414
Implements the [Hunter Douglas PowerView](http://www.hunterdouglas.com/operating-systems/powerview-motorization/support) platform scene control. It queries the PowerView Hub and Home Assistant displays them as scenes.
@@ -24,4 +24,4 @@ scene:
2424
2525
Configuration variables:
2626
27-
- **address** (*Required*): IP address of the PowerView Hub, eg. http://192.168.1.10.
27+
- **address** (*Required*): IP address of the PowerView Hub, eg. 192.168.1.10.

0 commit comments

Comments
 (0)