Skip to content

Commit dfa36c5

Browse files
committed
Merge remote-tracking branch 'origin/current' into next
2 parents 798cc33 + b42c73c commit dfa36c5

25 files changed

+171
-105
lines changed

source/_addons/mosquitto.markdown

+22-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ Set up [Mosquitto](https://mosquitto.org/) as MQTT broker.
1818
"ssl": false,
1919
"anonymous": true,
2020
"logins": [
21-
{"username": "testuser", "password": "mypw"}
21+
{"username": "testuser", "password": "mypw"},
22+
{"username": "testuser2", "password": "mypw2"}
2223
],
2324
"customize": {
2425
"active": false,
@@ -74,5 +75,24 @@ protocol mqtt
7475
4. Restart MQTT
7576

7677
<p class='note warning'>
77-
It's recommened that you only open your firewall to the SSL/TLS port (8883) and only use the insecure port (1883) for local devices. Also, disable `anonymous:` and set `logins:`.
78+
It's recommended that you only open your firewall to the SSL/TLS port (8883) and only use the insecure port (1883) for local devices. Also, disable `anonymous:` and set `logins:`.
7879
</p>
80+
81+
### {% linkable_title Access Control Lists (ACLs) %}
82+
83+
It is possible to restrict access to topics based upon the user logged in to Mosquitto. In this scenario it is recommended to create individual users for each of your clients and create an appropriate ACL.
84+
85+
See the following links for more information:
86+
87+
* [Mosquitto topic restrictions](http://www.steves-internet-guide.com/topic-restriction-mosquitto-configuration/)
88+
* [Mosquitto.conf man page](https://mosquitto.org/man/mosquitto-conf-5.html)
89+
90+
Add the following configuration to enable ACLs:
91+
92+
1. Set `customize` flag to `true` in your configuration.
93+
2. Create a file in `/share/mosquitto` named `acl.conf` with the following contents:
94+
95+
```text
96+
acl_file /share/mosquitto/accesscontrollist
97+
```
98+
3. Create a file in `/share/mosquitto` named `accesscontrollist` and add contents according to your requirements.

source/_components/alarm_control_panel.ifttt.markdown

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ alarm_control_panel:
3838
```
3939
4040
<p class='note warning'>
41-
It is strongly discouraged to use this platform when you don't use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is adviced to [setup encryption using Let's Encrypt](https://home-assistant.io/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/).
41+
It is strongly discouraged to use this platform when you don't use encryption; otherwise, your API password will be send unprotected through the IFTTT Webhooks. It is advised to [setup encryption using Let's Encrypt](https://home-assistant.io/blog/2017/09/27/effortless-encryption-with-lets-encrypt-and-duckdns/).
4242
</p>
4343
4444
{% linkable_title Required IFTTT applets %}
@@ -86,7 +86,7 @@ For this system to operate correctly, the following IFTTT applets have to be set
8686
type: string
8787
default: alarm_disarm
8888
optimistic:
89-
description: Specify if the state will be updated by a ifttt_push_alarm_state call (false) or can be set immediately (true).
89+
description: Specify if the state will be updated by an ifttt_push_alarm_state call (false) or can be set immediately (true).
9090
required: false
9191
type: boolean
9292
default: false

source/_components/climate.modbus.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ comments: false
88
sharing: true
99
footer: true
1010
logo: modbus.png
11-
ha_category: Thermostat
11+
ha_category: Climate
1212
ha_release: 0.68
1313
ha_iot_class: "Local Polling"
1414
---

source/_components/discovery.markdown

+5-1
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,14 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi
3434
* [Plex media server](/components/media_player.plex/)
3535
* [Roku media player](/components/media_player.roku/)
3636
* [SABnzbd downloader](/components/sensor.sabnzbd/)
37+
* [Samsung SyncThru Printer](/components/sensor.syncthru/)
3738
* [Samsung TVs](/components/media_player.samsungtv/)
3839
* [Sonos speakers](/components/media_player.sonos/)
3940
* [Telldus Live](/components/tellduslive/)
4041
* [Wink](/components/wink/)
4142
* [Yamaha media player](/components/media_player.yamaha/)
4243
* [Yeelight Sunflower bulb](/components/light.yeelightsunflower/)
44+
* [Xiaomi Gateway (Aqara)](/components/xiaomi_aqara/)
4345

4446
It will be able to add Google Chromecasts and Belkin WeMo switches automatically, for Philips Hue it will require some configuration from the user.
4547

@@ -80,13 +82,15 @@ Valid values for ignore are:
8082
* `plex_mediaserver`: Plex media server
8183
* `roku`: Roku media player
8284
* `sabnzbd`: SABnzbd downloader
85+
* `samsung_printer`: Samsung SyncThru Printer
8386
* `samsung_tv`: Samsung TVs
8487
* `sonos`: Sonos speakers
8588
* `songpal` : Songpal
86-
* `tellduslive`: Telldus Live
89+
* `tellstick`: Telldus Live
8790
* `wink`: Wink Hub
8891
* `yamaha`: Yamaha media player
8992
* `yeelight`: Yeelight Sunflower bulb
93+
* `xiaomi_gw`: Xiaomi Aqara gateway
9094

9195
- **enable** (*Optional*): A list of platforms not enabled by default that `discovery` should discover.
9296

source/_components/doorbird.markdown

+63-74
Original file line numberDiff line numberDiff line change
@@ -20,89 +20,78 @@ To connect your device, add the following to your `configuration.yaml` file:
2020
```yaml
2121
# Example configuration.yaml entry
2222
doorbird:
23-
host: DOORBIRD_IP_OR_HOSTNAME
24-
username: YOUR_USERNAME
25-
password: YOUR_PASSWORD
26-
hass_url_override: HASS_IP
23+
devices:
24+
- host: DOORBIRD_IP_OR_HOSTNAME
25+
username: YOUR_USERNAME
26+
password: YOUR_PASSWORD
27+
hass_url_override: HASS_URL
28+
name: Front Door
29+
- host: DOORBIRD_IP_OR_HOSTNAME
30+
username: YOUR_USERNAME
31+
password: YOUR_PASSWORD
32+
name: Driveway Gate
33+
monitored_conditions:
34+
- doorbell
35+
- motion
2736
```
2837
29-
Configuration variables:
38+
{% configuration %}
39+
devices:
40+
description: List of doorbird devices.
41+
required: true
42+
type: list
43+
keys:
44+
host:
45+
description: The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](http://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box.
46+
required: true
47+
type: string
48+
username:
49+
description: The username of a non-administrator user account on the device.
50+
required: true
51+
type: string
52+
password:
53+
description: The password for the user specified.
54+
required: true
55+
type: string
56+
name:
57+
description: Custom name for this device.
58+
required: false
59+
type: string
60+
hass_url_override:
61+
description: If your DoorBird cannot connect to the machine running Home Assistant because you are using dynamic DNS or some other HTTP configuration (such as HTTPS), specify the LAN IP of the machine here to force a LAN connection.
62+
required: false
63+
type: string
64+
monitored_conditions:
65+
description: Monitor motion and/or doorbell events for this device.
66+
required: false
67+
type: string
68+
keys:
69+
doorbell:
70+
description: Monitor doorbell events
71+
motion:
72+
description: Monitor motion events (Motion monitoring must be enabled on the doorstation via DoorBird app)
3073
31-
- **host** (*Required*): The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](http://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box.
32-
- **username** (*Required*): The username of a non-administrator user account on the device.
33-
- **password** (*Required*): The password for the user specified.
34-
- **doorbell_events** (*Optional*): Setting this to `true` this will register a callback URL with the device so that events can be published to the event bus when the doorbell rings.
35-
- **hass_url_override** (*Optional*): If your DoorBird cannot connect to the machine running Home Assistant because you are using dynamic DNS or some other HTTP configuration (such as HTTPS), specify the LAN IP of the machine here to force a LAN connection.
74+
{% endconfiguration %}
3675
37-
<p class="note warning">
38-
Enabling `doorbell_events` will delete all other registered push notification services with the device every time Home Assistant starts. This will not affect notifications delivered by the DoorBird mobile app.
39-
</p>
40-
41-
### Doorbell Sound Examples
76+
The configuration above is also used by the following components:
77+
- [Camera](../camera.doorbird) - View live and historical event based images
78+
- [Switch](../switch.doorbird) - Enable control of relays and camera night vision
4279
43-
You can create an automation that triggers on event `doorbird_doorbell` to play a doorbell sound when the Doorbird button is pressed. This should work with any media player.
80+
## {% linkable_title Motion and Doorbell Events %}
4481
45-
#### Example using SONOS
82+
Home Assistant will fire an event any time a `monitored_condition` happens on a doorstation. Event names are created using the format `doorbird_{station}_{event}` (Examples: `doorbird_side_entry_button`, `doorbird_side_entry_motion`). You can verify the assigned event names in the Home Assistant log file.
4683

47-
[`SONOS`](http://www.sonos.com) players have features allowing for "snapshotting" the current state of some or all players so those state(s) can be "restored" at a later time. This feature is perfect for implementing a doorbell sound (from Doorbird or any other Doorbell setup for that matter). The [`media_player.sonos`](/components/media_player.sonos/) platform includes the [`SONOS_SNAPSHOT`](/components/media_player.sonos/#service-sonos_snapshot) and [`SONOS_RESTORE`](/components/media_player.sonos/#service-sonos_restore) features. The result of not using these features is any currently playing songs or media will not continue playing after the doorbell sound has played and you will be left with the doorbell sound queued as the last played song. This setup allows for seamless ringing of the doorbell and all SONOS devices continuing nicely on as if nothing had happened.
48-
49-
The example script below takes a snapshot of three SONOS players that are not currently grouped together, joins the three players in a group (so the sound plays at the same time on all players), plays the doorbell MP3 sound, unjoins the players from the group and finally restores the players to their original state. When the players are grouped they are controlled by refering to the `master`.
50-
51-
Automation file:
84+
<p class="note warning">
85+
Enabling any monitored condition will delete all registered notification services on the doorstation every time Home Assistant starts. This will not affect notifications delivered by the DoorBird mobile app.
86+
</p>
5287

88+
### {% linkable_title Automation Example %}
5389
```yaml
54-
- alias: Doorbird ring
90+
- alias: Doorbird Ring
5591
trigger:
5692
platform: event
57-
event_type: doorbird_doorbell
93+
event_type: doorbird_side_entry_button
5894
action:
59-
service: script.turn_on
60-
entity_id: script.doorbell
61-
```
62-
63-
Script file:
64-
65-
```yaml
66-
doorbell:
67-
alias: Ring Doorbell
68-
sequence:
69-
- service: media_player.sonos_snapshot
70-
data:
71-
entity_id:
72-
- media_player.kitchen
73-
- media_player.master_bedroom
74-
- media_player.study
75-
- service: media_player.sonos_join
76-
data:
77-
master: media_player.study
78-
entity_id:
79-
- media_player.kitchen
80-
- media_player.master_bedroom
81-
- media_player.study
82-
- service: media_player.play_media
83-
data:
84-
entity_id: media_player.study # the group master
85-
media_content_id: http://10.1.1.10/sounds/doorbell.mp3 # this is on a NAS but could be HASS local
86-
media_content_type: music
87-
- service: media_player.volume_set
88-
data:
89-
entity_id: # can still control the volume of grouped players indivdually
90-
- media_player.study
91-
- media_player.kitchen
92-
- media_player.master_bedrom
93-
volume_level: 0.50
94-
- delay:
95-
seconds: 4 # wait while the sound plays
96-
- service: media_player.sonos_unjoin
97-
data:
98-
entity_id:
99-
- media_player.kitchen
100-
- media_player.master_bedroom
101-
- media_player.study
102-
- service: media_player.sonos_restore
103-
data:
104-
entity_id:
105-
- media_player.kitchen
106-
- media_player.master_bedroom
107-
- media_player.study
108-
```
95+
service: light.turn_on
96+
entity_id: light.side_entry_porch
97+
```

source/_components/fan.template.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fan:
9494
required: false
9595
type: action
9696
set_oscillating:
97-
description: Defines an action to run when the fan is given a osc state command.
97+
description: Defines an action to run when the fan is given an osc state command.
9898
required: false
9999
type: action
100100
set_direction:

source/_components/light.yeelight.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ This component is tested to work with the following models. If you have a differ
7272
7373
### {% linkable_title Service `light.yeelight_set_mode` %}
7474

75-
Set a operation mode.
75+
Set an operation mode.
7676

7777
| Service data attribute | Optional | Description |
7878
|---------------------------|----------|---------------------------------------------------------------------------------------------|

source/_components/matrix.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ password:
3939
required: true
4040
type: string
4141
homeserver:
42-
description: "The full URL for your homeserver. If you use the defauls matrix.org homeserver, this is 'https://matrix.org'."
42+
description: "The full URL for your homeserver. If you use the default matrix.org homeserver, this is 'https://matrix.org'."
4343
required: true
4444
type: string
4545
verify_ssl:

source/_components/media_player.samsungtv.markdown

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ Currently tested but not working models:
7373
- J5500 - State is always "on" and unable to control (but port 8001 *is* open)
7474
- JU7000 - Unable to see state and unable to control (but port 8001 *is* open)
7575
- JU7500 - Unable to see state and unable to control
76+
- JS8005 - State tracking working but unable to control (but port 8001 *is* open)
7677
- JS9000 - State is always "on" and unable to control (but port 8001 *is* open)
7778
- JS9500 - State is always "on" and unable to control (but port 8001 *is* open)
7879
- MU6300 - Port set to 8001, `pip3 install websocket-client` must be executed, turning on works, status not working reliably, turning off is not permanent (it comes back on)

source/_components/neato.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ username:
2929
required: true
3030
type: string
3131
password:
32-
description: v
32+
description: Password for the Neato account.
3333
required: true
3434
type: string
3535
{% endconfiguration %}

source/_components/notify.lametric.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ To add a notification sound, icon, cycles, or priority override, it has to be do
9191

9292
### {% linkable_title Only notify specific device %}
9393

94-
If you have more than one La Metric device, you can specify which will recieve the message by adding `target:` to the service data:
94+
If you have more than one La Metric device, you can specify which will receive the message by adding `target:` to the service data:
9595

9696
```yaml
9797
action:

source/_components/rest_command.markdown

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ This component can expose regular REST commands as services. Services can be cal
1818
[script]: /components/script/
1919
[automation]: /getting-started/automation/
2020

21-
To enable this switch, add the following lines to your `configuration.yaml` file:
21+
To use this component, add the following lines to your `configuration.yaml` file:
2222

2323
```yaml
2424
# Example configuration.yaml entry
@@ -39,4 +39,5 @@ Configuration variables:
3939
- **timeout** (*Optional*): Timeout for requests. Defaults to 10 seconds.
4040
- **content_type** (*Optional*): Content type for the request.
4141

42-
The commands can be dynamic, using templates to insert values of other entities. Service call support variables for template stuff.
42+
The commands can be dynamic, using templates to insert values of other entities.
43+
Service call support variables for template stuff.

source/_components/sensor.fastdotcom.markdown

+4
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,7 @@ Configuration variables:
5050
- **manual** (*Optional*): True or False to turn manual mode on or off. Manual mode will disable scheduled speedtests.
5151
5252
There is also a service named `sensor.update_fastdotcom` that you can use to run a fast.com speedtest on demand. You can turn on manual mode to disable the scheduled speedtests.
53+
54+
## Note
55+
56+
- When running on Raspberry Pi, just note that the maximum speed is limited by its 100 Mbit/s LAN adapter.

source/_components/sensor.gtfs.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ You need to find a valid GTFS data set, which you can usually find just by searc
2121
Here are some examples:
2222

2323
- [Bay Area Rapid Transit (BART)](http://www.bart.gov/schedules/developers/gtfs) - The light rail system for the San Francisco Bay Area.
24-
- [Metropolitan Transit Authority of New York City (MTA)](http://www.bart.gov/schedules/developers/gtfs) - Provides separate data feeds for subway, bus, LIRR and Metro-North of the greater New York City metropolitan region.
24+
- [Metropolitan Transit Authority of New York City (MTA)](http://web.mta.info/developers/) - Provides separate data feeds for subway, bus, LIRR and Metro-North of the greater New York City metropolitan region.
2525
- [GBRail.info](http://www.gbrail.info/) - Provides data feeds for most if not all rail companies in Britain.
2626
- [Official Timetable Switzerland](http://www.fahrplanfelder.ch/en/timetable-data.html) - The official timetable data for Switzerland.
2727
- [Public Transport Victoria (Australia)](https://www.data.vic.gov.au/data/dataset/ptv-timetable-and-geographic-information-2015-gtfs) - Official PTV GTFS dataset.

source/_components/sensor.mitemp_bt.markdown

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ sensor:
7070
- **median** (*Optional*): Sometimes the sensor measurements show spikes. Using this parameter, the poller will report the median of the last 3 (you can also use larger values) measurements. This filters out single spikes. Median: 5 will also filter double spikes. If you never have problems with spikes, `median: 1` will work fine.
7171
- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined)
7272
- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined)
73-
- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined)
73+
- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 300 if not defined)
7474
- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters.
7575

76-
Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperaturs don't change that quickly.
76+
Note that by default the sensor is only polled once every 5 minutes. This means with the `median: 3` setting will take as least 15 minutes before the sensor will report a value after a Home Assistant restart. Even though the hardware is able to provide new values every second, room temperatures don't change that quickly.
7777
Reducing polling intervals will have a negative effect on the battery life.
7878

7979
A full configuration example could look like the one below:

source/_components/sensor.netdata.markdown

+25-1
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,34 @@ ha_iot_class: "Local Polling"
1616

1717
The `netdata` sensor platform allows you to display information collected by [Netdata](http://my-netdata.io/).
1818

19-
## {% linkable_title Configuration %}
19+
## {% linkable_title Setup %}
20+
21+
Getting the details to configure the sensors is a bit tricky as Netdata uses different name for the `element:` value that is required. To get the value for the `data_group:` use Netdata's web interface. `1.` marks the name for the `data_group:`. `2.` are the names for the element to show in Home Assistant. The name that is shown can be different than the name under which the metrics are available.
22+
23+
<p class='img'>
24+
<img src='{{site_root}}/images/components/netdata/details.png' />
25+
</p>
26+
27+
To check if the `element:` name matches the name in the Netdata frontend, use `curl` with the IP address of your Netdata instance, its port and the `data_group`:
2028

29+
```bash
30+
$ curl -X GET "http://[Netdata_Instance]:19999/api/v1/data?chart=[data_group]&points=2&options=jsonwrap"
31+
{
32+
"api": 1,
33+
"id": "system.ipv4",
34+
"name": "system.ipv4",
35+
[...]
36+
"dimension_names": ["received", "sent"],
37+
"dimension_ids": ["InOctets", "OutOctets"],
38+
[...]
39+
```
40+
41+
- `dimension_names`: Names shown in the frontend.
42+
- `dimension_ids`: Names to use for `element`.
2143
2244
45+
## {% linkable_title Configuration %}
46+
2347
To add this platform to your installation, add the following to your `configuration.yaml` file:
2448
2549
```yaml

0 commit comments

Comments
 (0)