From 3ce8cd71c5d0dfadedbdbb45d9ae678153b8b56d Mon Sep 17 00:00:00 2001 From: Nate Clark Date: Thu, 23 Aug 2018 14:49:30 -0400 Subject: [PATCH 001/164] update documentation for device id format validation --- source/_components/konnected.markdown | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/source/_components/konnected.markdown b/source/_components/konnected.markdown index 8a5f245af0e..df50d5abc37 100644 --- a/source/_components/konnected.markdown +++ b/source/_components/konnected.markdown @@ -23,7 +23,7 @@ The component currently supports the following device types in Home Assistant: This component requires the [`discovery`](https://www.home-assistant.io/components/discovery) component to be enabled. -## {% linkable_title Configuration %} +### {% linkable_title Configuration %} A `konnected` section must be present in the `configuration.yml` file that specifies the Konnected devices on the network and the sensors or actuators attached to them: @@ -32,13 +32,13 @@ A `konnected` section must be present in the `configuration.yml` file that speci konnected: access_token: REPLACE_ME_WITH_A_RANDOM_STRING devices: - - id: 8bcd53 + - id: 6001948bcd53 binary_sensors: - zone: 1 type: door switches: - zone: out - - id: 438a38 + - id: 5ccf7f438a38 binary_sensors: - pin: 2 type: door @@ -62,7 +62,7 @@ devices: type: list keys: id: - description: The MAC address of the WiFi module with colons/punctuation removed. You can either use the full 12-character MAC address or only the last 6 characters. This is visible in the device's WiFi SSID and hostname. + description: The MAC address of the NodeMCU WiFi module with colons/punctuation removed, for example `68c63a8bcd53`. You can usually find the mac address in your router's client list. Or, check the home-assistant.log for log messages from automatically discovered devices. required: true type: string binary_sensors: @@ -118,14 +118,14 @@ devices: - Either **pin** or **zone** is required for each actuator or sensor. Do not use both in the same definition. - Pin `D8` or the `out` zone will only work when activation is set to high (the default). -## {% linkable_title Full Configuration %} +### {% linkable_title Extended Configuration %} ```yaml # Example configuration.yaml entry konnected: access_token: REPLACE_ME_WITH_A_RANDOM_STRING devices: - - id: 8bcd53 + - id: 6001948bcd53 binary_sensors: - zone: 1 type: door @@ -149,7 +149,7 @@ konnected: momentary: 65 pause: 55 repeat: -1 - - id: 438a38 + - id: 5ccf7f438a38 binary_sensors: - pin: 1 type: motion @@ -179,3 +179,16 @@ Konnected runs on an ESP8266 board with the NodeMCU firmware. It is commonly use | 5 | D7 | 7 | GPIO13 | | 6 | RX | 9 | GPIO3 | | ALARM or OUT | D8 | 8 | GPIO15 | + +### {% linkable_title Revision History %} + +#### 0.77 +* Added support for momentary and beep/blink switches. [[#15973](https://github.com/home-assistant/home-assistant/pull/15973)] +* Decouple entity initialization from discovery, enabling devices to recover faster after a Home Assistant reboot. [[#16146](https://github.com/home-assistant/home-assistant/pull/16146)] +* **Breaking change:** Device `id` in `configuration.yaml` must now be the full 12-character device MAC address. Previously, omitting the first 6 characters was allowed. + +#### 0.72 +* Adds `api_host` configuration option [[#14896](https://github.com/home-assistant/home-assistant/pull/14896)] + +#### 0.70 +* Initial release From 64da013d69953442de1f2f12412154d6b38d3dbd Mon Sep 17 00:00:00 2001 From: DubhAd Date: Fri, 24 Aug 2018 16:38:25 +0100 Subject: [PATCH 002/164] Minor fix (#6071) * Minor fix Removing quotes around numbers in the templates * Update entities.markdown --- source/_docs/z-wave/entities.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/z-wave/entities.markdown b/source/_docs/z-wave/entities.markdown index ffcd3a6c309..e2dd2b7de9a 100644 --- a/source/_docs/z-wave/entities.markdown +++ b/source/_docs/z-wave/entities.markdown @@ -145,7 +145,7 @@ binary_sensor: YOUR_SENSOR: friendly_name: "Friendly name here" device_class: door - value_template: {{ is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', '22') }} + value_template: "{{ is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', 22) }}" ``` {% endraw %} @@ -171,7 +171,7 @@ binary_sensor: YOUR_SENSOR: friendly_name: "Friendly name here" device_class: motion - value_template: {{ is_state('sensor.YOUR_SENSOR_burglar', '8') }} + value_template: "{{ is_state('sensor.YOUR_SENSOR_burglar', 8) }}" ``` {% endraw %} From c43b581ad98d6b771476a8bc4091ad957814401e Mon Sep 17 00:00:00 2001 From: DubhAd Date: Fri, 24 Aug 2018 16:38:58 +0100 Subject: [PATCH 003/164] Added some details (#6072) Making it a little clearer that `40` is a numeric, also making it clearer that it's an *entity attribute* that's being checked --- source/_docs/configuration/templating.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index 69ad76211bf..7d07c3e0921 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -62,9 +62,9 @@ Home Assistant adds extensions to allow templates to access all of the current s - Iterating `states.domain` will yield each state of that domain sorted alphabetically by entity ID. - `states.sensor.temperature` returns the state object for `sensor.temperature`. - `states('device_tracker.paulus')` will return the state string (not the object) of the given entity or `unknown` if it doesn't exist. -- `is_state('device_tracker.paulus', 'home')` will test if the given entity is specified state. +- `is_state('device_tracker.paulus', 'home')` will test if the given entity is the specified state. - `state_attr('device_tracker.paulus', 'battery')` will return the value of the attribute or None if it doesn't exist. -- `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity is specified state. +- `is_state_attr('device_tracker.paulus', 'battery', 40)` will test if the given entity attribute is the specified state (in this case, a numeric value). - `now()` will be rendered as current time in your time zone. - For specific values: `now().second`, `now().minute`, `now().hour`, `now().day`, `now().month`, `now().year`, `now().weekday()` and `now().isoweekday()` - `utcnow()` will be rendered as UTC time. From f7399377ad9bfabc37780572ccfd3fdd2ac707fc Mon Sep 17 00:00:00 2001 From: djm300 Date: Fri, 24 Aug 2018 23:35:23 +0200 Subject: [PATCH 004/164] Added verify_ssl option (#5507) --- source/_components/zoneminder.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_components/zoneminder.markdown b/source/_components/zoneminder.markdown index 0ebf5fbafc7..ac8297eaee8 100644 --- a/source/_components/zoneminder.markdown +++ b/source/_components/zoneminder.markdown @@ -27,6 +27,7 @@ Configuration variables: - **path** (*Optional*): Path to your ZoneMinder install. Defaults to `/zm/`. - **path_zms** (*Optional*): Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. Defaults to `/zm/cgi-bin/nph-zms`. - **ssl** (*Optional*): Set to `True` if your ZoneMinder installation is using SSL. Default to `False`. +- **verify_ssl** (*Optional*): Verify the certification of the endpoint. Default to `True`. - **username** (*Optional*): Your ZoneMinder username. - **password** (*Optional*): Your ZoneMinder password. Required if `OPT_USE_AUTH` is enabled in ZM. @@ -38,7 +39,8 @@ zoneminder: host: ZM_HOST path: ZM_PATH path_zms: ZM_PATH_ZMS - ssl: False + ssl: True + verify_ssl: True username: YOUR_USERNAME password: YOUR_PASSWORD ``` From 61239943c6dedd2688345379a7de3386126991c2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 25 Aug 2018 11:38:16 +0200 Subject: [PATCH 005/164] Add 'moon_phase' to Dark Sky sensor (#6076) --- source/_components/sensor.darksky.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/sensor.darksky.markdown b/source/_components/sensor.darksky.markdown index 2480baeb92e..919b6566dfa 100644 --- a/source/_components/sensor.darksky.markdown +++ b/source/_components/sensor.darksky.markdown @@ -108,6 +108,7 @@ Configuration variables: - **apparent_temperature_low**: Today's overnight expected apparent low temperature. - **precip_intensity_max**: Today's expected maximum intensity of precipitation. - **uv_index**: The current UV index. + - **moon_phase**: The fractional part of the lunation number during the given day. - **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, `uk` and `uk2`. `auto` will let Dark Sky decide the unit system based on location. - **update_interval** (*Optional*): Minimum time interval between updates. Default is 2 minutes. Supported formats: From 9de06c1e9b1ef4a9abf81e6cb080a6cc2c3bb069 Mon Sep 17 00:00:00 2001 From: Marc Forth Date: Sat, 25 Aug 2018 15:16:50 +0100 Subject: [PATCH 006/164] Update snips.markdown (#6079) Fix syntax in example as per #6074 --- source/_components/snips.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index 825dbf19d53..f69b7f0b138 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -258,7 +258,7 @@ automation: service: snips.say_action data: text: 'Garage door has been open 10 minutes, would you like me to close it?' - intentFilter: + intent_filter: - closeGarageDoor # This intent is fired if the user responds with the appropriate intent after the above notification From e3e2ab052cf4047e06f13199167bdb203435ba45 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 26 Aug 2018 10:24:02 +0200 Subject: [PATCH 007/164] Add support for HassOS 2.2 --- source/hassio/installation.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index dd0b088faca..f5fca6aa36d 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -19,6 +19,7 @@ Hass.io images are available for: - [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] (recommended) - [Raspberry Pi 3 Model B and B+ 64bit][pi3-64] - [Tinkerboard (Beta)][tinker] + - [Odroid-C2 (Beta)][odroid-c2] - As [Virtual Appliance]: - [VMDK][vmdk] @@ -81,7 +82,8 @@ A detailed guide about running Hass.io as a virtual machine is available in the [pi2]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi2-1.9.img.gz [pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi3-1.9.img.gz [pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi3-64-1.9.img.gz -[tinker]: https://github.com/home-assistant/hassos/releases/download/2.1/hassos_tinker-2.1.img.gz +[tinker]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_tinker-2.2.img.gz +[odroid-c2]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_odroid-c2-2.2.img.gz [vmdk]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_ova-1.9.vmdk [linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio [local]: http://hassio.local:8123 From c90749a3d1f17a0d0f9c45f8d9e3114a4c6051b5 Mon Sep 17 00:00:00 2001 From: Comic Chang Date: Sun, 26 Aug 2018 16:49:09 +0800 Subject: [PATCH 008/164] fix documents related with xiaoyi xiaofang camera (#6083) 1. remove xiaofang as the source file was removed. 2. fix default path value in xiaoyi doc. (https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/camera/xiaomi.py#L23) --- source/_components/camera.xiaofang.markdown | 86 --------------------- source/_components/camera.xiaomi.markdown | 2 +- 2 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 source/_components/camera.xiaofang.markdown diff --git a/source/_components/camera.xiaofang.markdown b/source/_components/camera.xiaofang.markdown deleted file mode 100644 index cfe319bec8c..00000000000 --- a/source/_components/camera.xiaofang.markdown +++ /dev/null @@ -1,86 +0,0 @@ ---- -layout: page -title: "Xiaomi Cameras" -description: "Instructions on how to integrate a video feed (via FFmpeg) as a camera within Home Assistant." -date: 2018-06-20 13:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: xiaomi.png -ha_category: Camera -ha_release: 0.72 -ha_iot_class: "Local Polling" ---- - -The `Xiaomi` camera platform allows you to utilize Xiaomi Cameras within Home Assistant. - -To successfully implement this platform, the Home Assistant host should be capable of multiple simultaneous reads. For every concurrent Home Assistant user, a connection will be made to the camera every 10 seconds. This should normally not be a problem. - -## {% linkable_title Preparing the Device %} - -### {% linkable_title Installing Alternative Firmware %} - -In order to integrate the camera with Home Assistant, it is necessary to install a custom firmware on the device. Instructions for doing so can be found for each models. - -* [Yi 720p](https://github.com/fritz-smh/yi-hack) -* [Yi Home 17CN / 27US / 47US / 1080p Home / Dome / 1080p Dome](https://github.com/shadow-1/yi-hack-v3) -* [Xiaofang 1080p Camera](https://github.com/samtap/fang-hacks) - -Once installed, please ensure that you have enabled FTP. - -

-Currently, version 0.1.4-beta2 of the custom firmware is the highest supported. Firmwares higher than this version use [Pure-FTPd](https://www.pureftpd.org/project/pure-ftpd), which has a bug that prevents FFmpeg from correctly rendering video files. -

- -

-Hassbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video. -

- -

-The live stream writing by the camera is not an supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this component retrives the video which was saved 1 minute earlier. -

- -

-If you enabled RTSP server, you can connect to your camera via other Home Assistant camera platforms. However, this RTSP server disables the ability to use the supremely-useful Mi Home app. In order to maintain both Home Assistant compatibility _and_ the native app, this platform retrieves videos via FTP. -

- -## {% linkable_title Configuring the Platform %} - -To enable the platform, add the following lines to your`configuration.yaml` file: - -```yaml -camera: - - platform: xiaomi - name: Camera - host: '192.168.1.100' - model: 'yi' - password: my_password_123 -``` - -Configuration variables: - -- **name** (*Required*): A human-friendly name for the camera. -- **host** (*Required*): The IP address or hostname of the camera. -- **model** (*Required*): The model of Xiaomi Camera, currently supporting yi and xiaofang. -- **password** (*Required*): The password to the FTP server on the camera (from above), can be any string as the current firmware doesn't allow setting ftp passwords. -- **path** (*Optional*): The path to the raw MP4 files. Defaults to `/tmp/sd/record`. -- **username** (*Optional*): The user that can access the FTP server. Defaults to `root`. -- **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). - -## {% linkable_title Image quality %} - -Any option supported by [`ffmpeg` camera](/components/camera.ffmpeg/) can be utilized via the `ffmpeg_arguments` configuration parameter. - -One particularly useful adjustment deals with video size. Since Yi videos are fairly large (especially on the 1080p cameras), the following configuration will bring them down to a manageable size: - -```yaml -camera: - - platform: xiaomi - name: My Camera - host: '192.168.1.100' - model: 'xiaofang' - password: my_password_123 - path: /home/camera/feed - ffmpeg_arguments: '-vf scale=800:450' -``` diff --git a/source/_components/camera.xiaomi.markdown b/source/_components/camera.xiaomi.markdown index 96649e18e48..d326e7b9c20 100644 --- a/source/_components/camera.xiaomi.markdown +++ b/source/_components/camera.xiaomi.markdown @@ -62,7 +62,7 @@ Configuration variables: - **host** (*Required*): The IP address or hostname of the camera. - **model** (*Required*): The model of Xiaomi Camera, currently supporting yi and xiaofang. - **password** (*Required*): The password to the FTP server on the camera (from above), can be any string as the current firmware doesn't allow setting ftp passwords. -- **path** (*Optional*): The path to the raw MP4 files. Defaults to `/tmp/sd/record`. +- **path** (*Optional*): The path to the raw MP4 files. Defaults to `/media/mmcblk0p1/record`. - **username** (*Optional*): The user that can access the FTP server. Defaults to `root`. - **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g., image quality or video filter options). From 6c44f93eb669c781cd4ebe613f847c0df260ff67 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 26 Aug 2018 10:49:30 +0200 Subject: [PATCH 009/164] Make configuration example simpler (#6082) --- source/_components/sensor.sql.markdown | 77 ++++++++++++++++++++------ 1 file changed, 59 insertions(+), 18 deletions(-) diff --git a/source/_components/sensor.sql.markdown b/source/_components/sensor.sql.markdown index e676ca9d43f..a7484b1480c 100644 --- a/source/_components/sensor.sql.markdown +++ b/source/_components/sensor.sql.markdown @@ -12,8 +12,10 @@ ha_category: Sensor ha_release: 0.63 --- -The `SQL` sensor platform enables you to use values from an [SQL](https://en.wikipedia.org/wiki/SQL) database supported by the [sqlalchemy](https://www.sqlalchemy.org) library, to populate a sensor state (and attributes). -This can be used to present statistics about Home Assistant sensors if used with the recorder component database. It can also be used with an external data source. +The `sql` sensor platform enables you to use values from an [SQL](https://en.wikipedia.org/wiki/SQL) database supported by the [sqlalchemy](https://www.sqlalchemy.org) library, to populate a sensor state (and attributes). +This can be used to present statistics about Home Assistant sensors if used with the `recorder` component database. It can also be used with an external data source. + +## {% linkable_title Configuration %} To configure this sensor, you need to define the sensor connection variables and a list of queries to your `configuration.yaml` file. A sensor will be created for each query: @@ -21,15 +23,13 @@ To enable it, add the following lines to your `configuration.yaml`: {% raw %} ```yaml -# Example configuration.yaml entry to monitor hass database size in MySQL +# Example configuration.yaml sensor: - platform: sql - db_url: mysql://user:password@localhost/hass queries: - - name: HASS DB size - query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="hass" GROUP BY table_schema;' - column: 'value' - unit_of_measurement: kB + - name: Sun state + query: "SELECT * FROM states WHERE entity_id = 'sun.sun' ORDER BY state_id DESC LIMIT 1;" + column: 'state' ``` {% endraw %} @@ -72,30 +72,71 @@ In this section you find some real life examples of how to use this sensor. ### {% linkable_title Current state of an entity %} -This example shows the previously *recorded* state of sensor *abc123*. +This example shows the previously *recorded* state of the sensor `sensor.temperature_in`. -```sql -SELECT * FROM states WHERE entity_id = 'sensor.abc123' ORDER BY id DESC LIMIT 2 +```yaml +sensor: + - platform: random + name: Temperature in + unit_of_measurement: '°C' ``` -Note that the SQL sensor state corresponds to the last row of the SQL resultset. +The query will look like this: + +```sql +SELECT * FROM states WHERE entity_id = 'sensor.temperature_in' ORDER BY state_id DESC LIMIT 1; +``` + +{% raw %} +```yaml +# Example configuration.yaml +sensor: + - platform: sql + queries: + - name: Temperature in + query: "SELECT * FROM states WHERE entity_id = 'sensor.temperature_in' ORDER BY state_id DESC LIMIT 1;" + column: 'state' +``` +{% endraw %} + + +Note that the SQL sensor state corresponds to the last row of the SQL result set. ### {% linkable_title Previous state of an entity %} This example only works with *binary_sensors*: ```sql -SELECT * FROM states WHERE entity_id='binary_sensor.xyz789' GROUP BY state ORDER BY last_changed DESC LIMIT 1 +SELECT * FROM states WHERE entity_id='binary_sensor.xyz789' GROUP BY state ORDER BY last_changed DESC LIMIT 1; ``` -### {% linkable_title Database size in Postgres %} +### {% linkable_title Database size %} +#### {% linkable_title Database size in Postgres %} + +{% raw %} ```yaml - platform: sql db_url: postgresql://user:password@host/dbname queries: - - name: db_size - query: "SELECT (pg_database_size('dsmrreader')/1024/1024) as db_size;" - column: "db_size" - unit_of_measurement: MB + - name: DB size + query: "SELECT (pg_database_size('dsmrreader')/1024/1024) as db_size;" + column: "db_size" + unit_of_measurement: MB ``` +{% endraw %} + +#### {% linkable_title MariaDB/MySQL %} + +{% raw %} +```yaml +sensor: +- platform: sql + queries: + - name: DB size + db_url: mysql://user:password@localhost/hass + query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="hass" GROUP BY table_schema;' + column: 'value' + unit_of_measurement: kB +``` +{% endraw %} From b9c9dd8da537188a526afa53b6e7b9e241f7eb17 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 26 Aug 2018 10:03:44 +0100 Subject: [PATCH 010/164] Rewording (#6080) * Rewording As *Rename Node* no longer exists, some of this makes no sense. Reworking * Minor changes --- source/_docs/z-wave/control-panel.markdown | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/source/_docs/z-wave/control-panel.markdown b/source/_docs/z-wave/control-panel.markdown index d3169a41c9f..0fff92cf099 100644 --- a/source/_docs/z-wave/control-panel.markdown +++ b/source/_docs/z-wave/control-panel.markdown @@ -32,10 +32,6 @@ Here is where you [include and exclude](/docs/z-wave/adding/) Z-Wave devices fro ## {% linkable_title Z-Wave Node Management %} -

-Since 0.63 and the new experimental [entity registry](/docs/configuration/entity-registry/) **Rename Node** no longer changes the entity id for anything other than the `zwave.` entity for the node (it does change the default *friendly_name* attribute for all the entities). If you would like to update the entity id after renaming a z-wave device, you need to manually edit the [entity_registry.yaml](/docs/configuration/entity-registry/) file. See [this issue](https://github.com/home-assistant/home-assistant/issues/12430). -

- * **Refresh Node** refreshes the information on the node and its entities. If used on a battery powered device, the device will first need to wake for this to work. * **Remove Failed Node** will remove a failed node from the network. The node needs to be on the controller's Failed Node List (marked as `is_failed: true`), otherwise this command will fail. * **Replace Failed Node** will replace a failed device with another. If the node is not in the controller's Failed Node List, or the node responds, this command will fail. @@ -51,9 +47,9 @@ Battery powered devices need to be awake before you can use the Z-Wave control p ### {% linkable_title Renaming all entities of a node %} -When you use *Rename Node* it, as mentioned above, only changes the `zwave.` entity. If you've just added a device then the other entities for that device will use that new entity name as the base. However existing entities won't be renamed, so you need to remove them from `entity_registry.yaml`, and the process is like this: +When you change the `entity_id` of the `zwave.` entity, other entities of that node won't be changed. If you want to reset their `entity_id` too you need to remove them from `entity_registry.yaml`, and the process is like this: -1. Use *Rename Node* to rename the `zwave.` entity and set the base for all the other entities +1. Change the `entity_id` of the `zwave.` entity to set the base for all the other entities 2. Shut down Home Assistant and wait for it to stop 3. Delete the relevant entries from `entity_registry.yaml` 4. Start Home Assistant again From 26e44b58959e4a160643499222fe5a16907ccca6 Mon Sep 17 00:00:00 2001 From: Maikel Punie Date: Mon, 27 Aug 2018 07:07:03 +0200 Subject: [PATCH 011/164] Velbus temperature sensors (#6085) * Velbus temperature sensors * Worked on requested changes * Worked on requested changes --- source/_components/sensor.velbus.markdown | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 source/_components/sensor.velbus.markdown diff --git a/source/_components/sensor.velbus.markdown b/source/_components/sensor.velbus.markdown new file mode 100644 index 00000000000..7ec537b6e57 --- /dev/null +++ b/source/_components/sensor.velbus.markdown @@ -0,0 +1,18 @@ +--- +layout: page +title: "Velbus Sensor" +description: "Instructions how to integrate Velbus sensors into Home Assistant." +date: 2018-08-22 06:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: velbus.png +ha_category: Sensor +ha_iot_class: "Local Push" +ha_release: 0.78 +--- + +The `velbus` sensor allows you to control [Velbus](http://www.velbus.eu) connected temperature sensors. + +For hub configuration, see [the Velbus component](/components/velbus/). From b119c4674b9440a7b97020ecf1cdc0273f01ec92 Mon Sep 17 00:00:00 2001 From: Marcel Hoppe Date: Mon, 27 Aug 2018 09:16:13 +0200 Subject: [PATCH 012/164] Add documentation for hangouts and notify.hangouts components (#6044) * Add documentation for hangouts and notify.hangouts components * use {% configuration %} * name is not required * Update hangouts.markdown remove email and password from config add integrations description * Update hangouts.markdown Add notice for 2fa * Typo * More fixes * Update notify.hangouts.markdown * Update notify.hangouts.markdown add hint to hangouts.conversations * cleaner doc removing name option from conversations entries --- source/_components/hangouts.markdown | 126 ++++++++++++++++++++ source/_components/notify.hangouts.markdown | 52 ++++++++ source/images/supported_brands/hangouts.png | Bin 0 -> 28244 bytes 3 files changed, 178 insertions(+) create mode 100644 source/_components/hangouts.markdown create mode 100644 source/_components/notify.hangouts.markdown create mode 100644 source/images/supported_brands/hangouts.png diff --git a/source/_components/hangouts.markdown b/source/_components/hangouts.markdown new file mode 100644 index 00000000000..ba290e276f1 --- /dev/null +++ b/source/_components/hangouts.markdown @@ -0,0 +1,126 @@ +--- +layout: page +title: "Google Hangouts" +description: "Hangouts chatbot support" +date: 2018-08-18 20:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: hangouts.png +ha_category: Hub +ha_release: 0.77 +--- + +This component allows you to send messages to [Google Hangouts](http://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. + +## {% linkable_title Setup the component via the frontend %} + +Menu: *Configuration* -> *Integrations* + +Fill the form: +* Your **Google Mail Address** and **Password** +* If needed, you will be asked for a 2-factor authorization token + +**IMPORTANT:** If you secured your account with 2 factor authorization: Only verification by app or SMS are supported. There is no support for verification by prompt on your phone. + +The authentication token will be generated and stored internally. + +```yaml +# Example configuration.yaml entry +hangouts: + commands: + - word: testword + conversations: + - id: CONVERSATION_ID1 + - id: CONVERSATION_ID2 + - expression: "My name is (?P.*)" + name: introduction +``` +{% configuration %} +commands: + description: "A list of commands that the bot should listen for. If a command is triggered (via its *word* or *expression*, see below), an event is fired that you can handle using automations. Every command consists of these possible configuration options:" + required: false + type: map + default: empty + keys: + word: + description: "Specifies a word that the bot should listen for. If you specify 'my_command' here, the bot will react to any message starting with 'my_command'." + required: false + type: string + expression: + description: "Specifies a regular expression (in python regexp syntax) that the bot should listen to. The bot will react to any message that matches the regular expression." + required: false + type: string + name: + description: "The name of the command. This will be an attribute of the event that is fired when this command triggers." + required: true + type: string + conversations: + description: "A list of conversations that the bot should listen for this command in. If this is not given, all conversations are used." + required: false + type: [map] + default: empty + keys: + id: + description: "Specifies the id of the conversation. *The conversation id can be obtained from the `hangouts.conversations` entity.*" + required: true + type: string +{% endconfiguration %} + +The conversations has to be precreated, the conversation id can be obtained from the `hangouts.conversations` entity. Make sure to use quotes around the conversation id or alias to escape special characters (`!`, and `#`) in YAML. + +### {% linkable_title Event Data %} + +If a command is triggered, a `hangouts_command` event is fired. The event contains the name of the command in the `command` field. + +If the command is a word command, the `data` field contains a list of the command's arguments, i.e., everything that stood behind the word, split at spaces. If the command is an expression command, the `data` field contains the [group dictionary](https://docs.python.org/3.6/library/re.html?highlight=re#re.match.groupdict) of the regular expression that matched the message. + +There are these additional fields: `conversation_id`, `user_id` and `user_name`. + +### {% linkable_title Comprehensive Configuration Example %} + +```yaml +# The Hangouts component +hangouts: + commands: + - word: testword + conversations: + - name: "someothertest" + - expression: "My name is (?P.*)" + name: introduction + +automation: + - alias: 'React to !testword' + trigger: + platform: event + event_type: hangouts_command + event_data: + command: testword + action: + service: hangouts.send_message + data_template: + target: + - name: "hasstest" + message: + - text: 'It looks like you wrote testword' + - alias: 'React to an introduction' + trigger: + platform: event + event_type: hangouts_command + event_data: + command: introduction + action: + service: hangouts.send_message + data_template: + target: + - id: '{{ trigger.event.data.conversation_id}}' + message: + - text: "Hello {{ trigger.event.data.data.name }}" + +``` + +This configuration will: +- Listen for "testword" in the room "someothertest" (and only) there. + If such a message is encountered, it will answer with "It looks like you wrote testword" into the "hasstest" conversation. +- Listen in all conversations for any message matching "My name is (any name)" and answer with "Hello (the given name)" into the same conversation. diff --git a/source/_components/notify.hangouts.markdown b/source/_components/notify.hangouts.markdown new file mode 100644 index 00000000000..e1dcdf83e54 --- /dev/null +++ b/source/_components/notify.hangouts.markdown @@ -0,0 +1,52 @@ +--- +layout: page +title: "Google Hangouts" +description: "Instructions on how to add Google Hangouts notifications to Home Assistant." +date: 2018-08-18 20:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: hangouts.png +ha_category: Notifications +ha_release: 0.77 +--- + + +The `hangouts` platform allows you to deliver notifications from Home Assistant to [Google Hangouts](http://hangouts.google.com) conversations. Conversations can be both direct as well as group chats. + +## {% linkable_title Configuration %} + +To enable Hangouts notifications in your installation, you first need to configure +the [Hangouts component](/components/hangouts/). Then, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +notify: + - name: NOTIFIER_NAME + platform: hangouts + default_conversations: + - id: CONVERSATION_ID1 + - id: CONVERSATION_ID2 +``` + +{% configuration %} +name: + description: "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`." + required: false + type: string +default_conversations: + description: "The conversations all messages will be sent to, when no other target is given." + required: true + type: [map] + keys: + id: + description: "Specifies the id of the conversation. *The conversation id can be obtained from the `hangouts.conversations` entity.*" + required: true + type: string +{% endconfiguration %} + +The conversations has to be precreated, the conversation id can be obtained from the `hangouts.conversations` entity. Make sure to use quotes around the conversation id or alias to escape special characters (`!`, and `#`) in YAML. + +To use notifications, please see the [getting started with automation page](/getting-started/automation/). + diff --git a/source/images/supported_brands/hangouts.png b/source/images/supported_brands/hangouts.png new file mode 100644 index 0000000000000000000000000000000000000000..30df744826caa772ffa31b474c00d4157ef87bec GIT binary patch literal 28244 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 e1Q>zyhrs{)!kw1$S$ Date: Mon, 27 Aug 2018 00:23:08 -0700 Subject: [PATCH 013/164] Add TOTP MFA docs (#6089) * Add TOTP MFA docs * Remove configuration options --- .../authentication/multi-factor-auth.markdown | 49 +++++++++++++++++-- .../_docs/authentication/providers.markdown | 8 ++- 2 files changed, 52 insertions(+), 5 deletions(-) diff --git a/source/_docs/authentication/multi-factor-auth.markdown b/source/_docs/authentication/multi-factor-auth.markdown index 751f2010569..fd229645c24 100644 --- a/source/_docs/authentication/multi-factor-auth.markdown +++ b/source/_docs/authentication/multi-factor-auth.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Multi-factor authentication" -description: "Guide on configuring different multi-factor authentication providers." +description: "Guide on configuring different multi-factor authentication modules." date: 2018-08-23 09:40 redirect_from: /components/auth/ sidebar: true @@ -14,6 +14,49 @@ footer: true This is an advanced feature. If misconfigured, you will not be able to access Home Assistant anymore!

-Besides the normal authentication providers, it's also possible to configure multi-factor authentication providers. These authentication providers will require the user to solve a second challenge besides just logging in. The idea is that you ask the user for something they know, their username/password, and something they have, like a time-based authentication token from their phone. +Besides the authentication providers, it's also possible to configure multi-factor authentication modules. These authentication modules will require the user to solve a second challenge besides just logging in. The idea is that you ask the user for something they know, their username/password, and something they have, like a time-based authentication token from their phone. -This feature is currently a work in progress and no configurable multi-factor authentication providers are currently available. +Multi-factor authentication module can be used mixed-match with authentication providers. After normal authentication provider validation, the login flow will ask user for addional challenge if there are multi-factor authentication modules enabled for this user. If more than one mutli-factor authentication module enabled, user can select one of them during the login. + +Multi-factor authentication module has to be enabled for user before it can be used in the login process, user can go to profile page enable it by himself. + +## {% linkable_title Configuring mutli-factor authentication modules %} + +

+By configuring your own instead of using the default configuration, you take full responsibility for the authentication of the system. +

+ +Multi-factor authentication modules are configured in your `configuration.yaml` under the `homeassistant:` block: + +```yaml +homeassistant: + auth_mfa_modules: + - type: totp +``` + +## {% linkable_title Available mutli-factor authentication modules %} + +Below is a list of currently available auth providers. + +### {% linkable_title Time-based One-Time Password mutli-factor authentication module %} + +[Time-based One-Time Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm) is widely adopted in modern authencation system, it combines a secret key with the current timestamp using a cryptographic hash function to generate a one-time password. Whoever possessed the secret key will get same one-time password in certain time period. By verifying that password, Home Assistant knows the user have the right secrt key. + +When try to set up TOTP module, a QR code will show up, user can scan it by an authenticator app, or set it up manauly using the code showed in UI. After setup, user need to input a six digit number generate in the autendicator app to verify the setup is good. If the verificaiton keep falling, you need to check whether the clock on Home Asistant is accurate. + +There are several authenctior apps on the market, we recommend either [Google Authenticator](https://support.google.com/accounts/answer/1066447) or [Authy](https://authy.com/) + +

+Please treat the secret key like a password, never exposure it to others. +

+ + +By default one TOTP multi-factor named "Authenticator app" will be auto loaded if no `auth_mfa_modules` config section defined in `configuration.yaml`. + +Example of configuration + +```yaml +homeassistant: + auth_mfa_modules: + - type: totp +``` \ No newline at end of file diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown index 1a190543355..a2949c2f557 100644 --- a/source/_docs/authentication/providers.markdown +++ b/source/_docs/authentication/providers.markdown @@ -51,9 +51,13 @@ homeassistant: - type: homeassistant ``` -### {% linkable_title Trusted Network %} +### {% linkable_title Trusted Networks %} -With the trusted network auth provider you can whitelist an IP range for which no authentication will be required. The user will be prompted to pick a user to log in as. +With the trusted networks auth provider you can whitelist an IP range for which no authentication will be required. The user will be prompted to pick a user to log in as. + +

+The [multi-factor autentication module](multi-factor-auth) will not participate in login process by using this auth provider. +

```yaml homeassistant: From 2cac5cef5bce33ef66ac66dcd6823a179843a674 Mon Sep 17 00:00:00 2001 From: Jason Hu Date: Mon, 27 Aug 2018 01:54:09 -0700 Subject: [PATCH 014/164] Update providers.markdown (#6091) --- source/_docs/authentication/providers.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown index 1a190543355..4022ccadd3f 100644 --- a/source/_docs/authentication/providers.markdown +++ b/source/_docs/authentication/providers.markdown @@ -10,6 +10,10 @@ sharing: true footer: true --- +

+This page only apply to release 0.77 and above. +

+

This is an advanced feature. If misconfigured, you will not be able to access Home Assistant anymore!

From 65a01fdc9eafa4ec7ebb7945260efd7966a0fa6a Mon Sep 17 00:00:00 2001 From: tony chang Date: Mon, 27 Aug 2018 01:54:57 -0700 Subject: [PATCH 015/164] Update raspberry pi docker instructions (#6087) There appears to be a latest tag now: https://hub.docker.com/r/homeassistant/raspberrypi3-homeassistant/tags/ --- source/_docs/installation/docker.markdown | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 8b3583fd494..05cf090ec00 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -21,12 +21,9 @@ $ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/ ### {% linkable_title Raspberry Pi 3 (Raspbian) %} ```bash -$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/raspberrypi3-homeassistant:0.XX.x +$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/raspberrypi3-homeassistant ``` -The Docker container for Raspberry Pi 3 does not have a 'latest' tag so the version number must be specified explicitly, i.e. 0.68.0. This goes for both CLI and Docker Compose. - - ### {% linkable_title macOS %} When using `docker-ce` (or `boot2docker`) on macOS, you are unable to map the local timezone to your Docker container ([Docker issue](https://github.com/docker/for-mac/issues/44)). Instead of `-v /etc/localtime:/etc/localtime:ro`, just pass in the timezone environment variable when you launch the container, e.g, `-e "TZ=America/Los_Angeles"`. Replace "America/Los_Angeles" with [your timezone](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). From e401a5ed17807832fcdb6f070e0439609a20fa36 Mon Sep 17 00:00:00 2001 From: Ben Lebherz Date: Mon, 27 Aug 2018 13:03:06 +0200 Subject: [PATCH 016/164] pi_hole sensor also supports a list for monitored_conditions (#6093) * pi_hole sensor also supports a list as monitored_conditions * Minor change --- source/_components/sensor.pi_hole.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_components/sensor.pi_hole.markdown b/source/_components/sensor.pi_hole.markdown index 78b4e0fb553..071f5ca0314 100644 --- a/source/_components/sensor.pi_hole.markdown +++ b/source/_components/sensor.pi_hole.markdown @@ -50,7 +50,7 @@ verify_ssl: monitored_conditions: description: Defines the stats to monitor as sensors. required: false - type: string + type: list default: ads_blocked_today keys: ads_blocked_today: @@ -74,4 +74,3 @@ monitored_conditions: {% endconfiguration %} This sensor platform was not made by Pi-hole LLC or the Pi-hole community. They didn't provide support, feedback, testing or helped in any way while it was created. This is third party, may not work if Pi-hole is breaking their API with the latest release, not official, not developed, not supported and not endorsed Pi-hole LLC or the Pi-hole community. The trademark `Pi-hole` and the logo is used here to describe the platform and only to describe. `Pi-hole` is a registered trademark of Pi-hole LLC. - From 878194555a6929868b83fa88863c2ccd89551016 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 27 Aug 2018 14:14:50 +0200 Subject: [PATCH 017/164] Add Volkszaehler docs (#6081) --- .../_components/sensor.volkszaehler.markdown | 79 ++++++++++++++++++ .../images/supported_brands/volkszaehler.png | Bin 0 -> 1559 bytes 2 files changed, 79 insertions(+) create mode 100644 source/_components/sensor.volkszaehler.markdown create mode 100644 source/images/supported_brands/volkszaehler.png diff --git a/source/_components/sensor.volkszaehler.markdown b/source/_components/sensor.volkszaehler.markdown new file mode 100644 index 00000000000..ee04e55db80 --- /dev/null +++ b/source/_components/sensor.volkszaehler.markdown @@ -0,0 +1,79 @@ +--- +layout: page +title: "Volkszaehler" +description: "Instructions on how to integrate Volkszaehler sensors into Home Assistant." +date: 2018-08-25 08:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: volkszaehler.png +ha_category: System Monitor +ha_iot_class: "Local Polling" +ha_release: 0.78 +--- + +The `volkszaehler` sensor platform is consuming the system information provided by the [Volkszaehler](https://wiki.volkszaehler.org/) API. + +## {% linkable_title Configuration %} + +To enable the Volkszaehler sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: volkszaehler + uuid: DEVICE_UUID +``` + +{% configuration %} +uuid: + description: The UUID of the device to track. + required: true + type: string +host: + description: The IP address of the host where Volkszaehler is running. + required: false + type: string + default: localhost +port: + description: The port where Volkszaehler is listening. + required: false + type: int + default: 80 +name: + description: The prefix for the sensors. + required: false + type: string + default: Volkszaehler +monitored_conditions: + description: Entries to monitor. + required: false + type: map + default: average + keys: + average: + description: The average power. + consumption: + description: The power consumption. + max: + description: The maximum power. + min: + description: The minimum power. +{% endconfiguration %} + +## {% linkable_title Full examples %} + +```yaml +# Example configuration.yaml entry +sensor: + - platform: volkszaehler + host: demo.volkszaehler.org + uuid: '57acbef0-88a9-11e4-934f-6b0f9ecd95a8' + monitored_conditions: + - average + - consumption + - min + - max +``` + diff --git a/source/images/supported_brands/volkszaehler.png b/source/images/supported_brands/volkszaehler.png new file mode 100644 index 0000000000000000000000000000000000000000..82a6a2a5d1156a0c7c0e87dd694a80806add5afa GIT binary patch literal 1559 zcmZ{kdpOez7{`B`&6wMAn@-0bYn!!W6&A$KR2D3d5o4vB+0 zxrDiADy5X%noBg9gCor)>a0J{ALn_W_x(Qa_kBOl``?>Nc5zgI{{ja9K*8C`;h03x zKT}3pQoX?I$r6DC5=aC9sLhnyq(ddW))}W`BmlUi3jnbR0I(skVrKy$QUcD=0Kl3H z07%yDCvG^&K>G9%M+e}?&$!!CmLqXwSxzS+B-h^mOwa+nf(sH8#&#wVVH03Ac?^j2 zKD`}P0qRK1~sxMo4?Pk8(o_*Tu*ELFX(h?awKxc9FbLPhxypT#=n89cA zSF44aFE18-+xos>)jGa-TNA2fPJ((v?n%|Q$t<{-f@bW^$z&dh&`83|c}wYC?dx|g zZ_}j}Zl7E)b|@P4eGkA$DQ8V``9Z{c1&D|%n z*fJsG>I4QoCfAH3avb-XjwNjDAV-O(kw)zBMafs^{h0etS2qNL2G}$S1mO=DN_%@`AFyv3;bbZ>aJ>*S**>7$hS; zs}{Xa{kcmEteB3f6u>Pg(>%2Z`uE>J@D%wZFJx~WrD|zJ zeQiNW_^Hfbtp)5EBd^eBUQp6D;+IYFRi+)IZDF^Gs%GcoE%3?9`i1#HtP1r(=G8jI zg1%QU?9H#J?n|m@P7=Su=d$PSWxvUpUaG%$uBzCa5eVg0DY4|p?J^-LS|>*pFyt8s$#v#lG*yK7vgXdluU-0_sa zPQXn(*!eZnQdX&5E`s^@ob^98;-RnUV@0Sv%Cu_mR9UKwU-#ofmMitV>4Q%@Y;KjG zuC*U@v0C;HTaovD@`rYivKmXWr~AAR=F&jb6hn=b_?Kl5ZHzF9rL2a${xSbJL@Hs4 zJXpKLcr(%^1h&>oucz2^PhK1E-~Y-k3V|W0CXO(Ds8C|^250q+8Kc=h$N)ZOQw#%% zd#9f%SSc#0;;C7U$J`4&+3b#|g*t-OWTSK$T^~rsL))muRLW>qMg7$D#noP^$|G^# z7PEtG#O;mN!qzYzYSS!Qy2`{?pwbkdXhP(_EfHgJt%Tf}OKmj~#pQ^}7(;iphvz># z3ecb{cpX7>^fPfwayRdU>#UKz+eB3<0=0W|$1VC7R12pM0QI`^ZIVSl)V9UPqhti-^|i*0Y1K}M9=y2;9N%Ltp7}n#k^fo~S+lt> z<<10&(Dm6T zK(UzzovTh)smtVHif|faxoazl&ML+3!aj0nziqae`MA}xCx{fn@n7oqJ1}OeQK4s{ zZRDa+w-=4j&k6>^5y-ts*JVWhnP6y=II`deC=h;OxRj+VC3%v2*hFu(AD!)QeJ0#r zA^;YRF*ihG4Y3$^4A$Dz${LL^Kx3@Y==-?SNB;u^hx(ljxcL9T5Pf7x0sziL7l%I& H(Bl6E_Vl%A literal 0 HcmV?d00001 From b31ed71670ca2c4632dc244bc69c0e27905b535b Mon Sep 17 00:00:00 2001 From: Jonas Karlsson <1937941+endor-force@users.noreply.github.com> Date: Mon, 27 Aug 2018 16:13:30 +0200 Subject: [PATCH 018/164] Added multiple sensor types for Trafikverket - Breaking change in configuration (#6006) Add multiple sensor types for Trafikverket --- ...ensor.trafikverket_weatherstation.markdown | 91 +++++++++++++------ 1 file changed, 65 insertions(+), 26 deletions(-) diff --git a/source/_components/sensor.trafikverket_weatherstation.markdown b/source/_components/sensor.trafikverket_weatherstation.markdown index 272c4e09941..ebbb7724a55 100644 --- a/source/_components/sensor.trafikverket_weatherstation.markdown +++ b/source/_components/sensor.trafikverket_weatherstation.markdown @@ -10,13 +10,15 @@ footer: true logo: trafikverket.png ha_category: Sensor ha_release: 0.66.0 +ha_iot_class: "Cloud Polling" --- -Showing weather information for air and road temperature provided by [Trafikverket](https://www.trafikverket.se/) in Sweden. +Showing weather information provided by [Trafikverket](https://www.trafikverket.se/) weather stations in Sweden. + Potential use cases: -- Get weather data in general -- You live near a weather station and want to know the current temperature at home +- Get weather data in general. +- You live near a weather station and want to know the current weather conditions at home. - Setup automations for your car heating system. If the road is frozen along the way to work, you might want the car heating system to start earlier. ##### {% linkable_title Configuration %} @@ -29,31 +31,48 @@ sensor: name: Trafikverket Road WeatherStation Kungälv api_key: eXXcbXXXacXXXXc39XX3aXXX4aXX46XX station: Kungälv - type: road + monitored_conditions: + - air_temp + - road_temp + - humidity + - precipitation + - wind_direction + - wind_direction_text + - wind_speed ``` {% configuration %} -name: - description: Unique name of the device in the frontend. - required: true +name: + description: Your unique name of the device in the frontend. + required: true type: string -api_key: - description: API key from Trafikverket. - required: true - type: string -station: - description: Name of the weather station. - required: true - type: string -type: - description: Defines which temperature you want (`air` or `road`). - required: true - type: string -scan_interval: - description: How frequently to query for new data (in seconds). - required: false - type: int - default: 300 +api_key: + description: Your personal API key from Trafikverket. + required: true + type: string +station: + description: Name of the weather station from Trafikverket. + required: true + type: string +monitored_conditions: + description: Specify what measurement data to retreive from the weather station. + required: true + type: map + keys: + air_temp: + description: Air temperature. + road_temp: + description: The temperature in the road. + humidity: + description: Relative humidity. + precipitation: + description: Type of precipitation (Swedish text). + wind_direction: + description: Wind direction in degrees. + wind_direction_text: + description: Rough wind direction in twelve variants (Swedish text). + wind_speed: + description: Average wind speed during the last 10 minutes. {% endconfiguration %} ##### {% linkable_title Obtaining API key %} @@ -76,11 +95,31 @@ sensor: name: Trafikverket Road WeatherStation Kungälv api_key: eXXcbXXXacXXXXc39XX3aXXX4aXX46XX station: Kungälv - type: road + monitored_conditions: + - air_temp + - road_temp + - humidity + - precipitation + - wind_direction + - wind_direction_text + - wind_speed - platform: trafikverket_weatherstation name: Trafikverket Air WeatherStation Lanna api_key: eXXcbXXXacXXXXc39XX3aXXX4aXX46XX station: Lanna - type: air + monitored_conditions: + - air_temp + - road_temp + - humidity + scan_interval: 600 + - platform: trafikverket_weatherstation + name: Trafikverket Precipitation WeatherStation Nöbbele + api_key: eXXcbXXXacXXXXc39XX3aXXX4aXX46XX + station: Nöbbele + monitored_conditions: + - air_temp + - road_temp + - humidity + - precipitation scan_interval: 600 ``` From fb55608ffd17de90595b023c56efa4ec3680b35c Mon Sep 17 00:00:00 2001 From: Marcel Hoppe Date: Tue, 28 Aug 2018 00:39:59 +0200 Subject: [PATCH 019/164] rewrite the doc for hangouts with intents instead of commands (#6096) * rewrite the doc for hangouts with intents instead of commands * Typos --- source/_components/hangouts.markdown | 179 ++++++++++++++++----------- 1 file changed, 109 insertions(+), 70 deletions(-) diff --git a/source/_components/hangouts.markdown b/source/_components/hangouts.markdown index ba290e276f1..66340a0e49f 100644 --- a/source/_components/hangouts.markdown +++ b/source/_components/hangouts.markdown @@ -29,98 +29,137 @@ The authentication token will be generated and stored internally. ```yaml # Example configuration.yaml entry hangouts: - commands: - - word: testword + intents: + LivingRoomTemperature: + sentences: + - What is the temperature in the living room conversations: - id: CONVERSATION_ID1 - id: CONVERSATION_ID2 - - expression: "My name is (?P.*)" - name: introduction + error_suppressed_conversations: + - id: CONVERSATION_ID2 + ``` {% configuration %} -commands: - description: "A list of commands that the bot should listen for. If a command is triggered (via its *word* or *expression*, see below), an event is fired that you can handle using automations. Every command consists of these possible configuration options:" +intents: + description: "Intents that the hangouts component should understand." required: false type: map default: empty keys: - word: - description: "Specifies a word that the bot should listen for. If you specify 'my_command' here, the bot will react to any message starting with 'my_command'." - required: false - type: string - expression: - description: "Specifies a regular expression (in python regexp syntax) that the bot should listen to. The bot will react to any message that matches the regular expression." - required: false - type: string - name: - description: "The name of the command. This will be an attribute of the event that is fired when this command triggers." + '``': + description: "Single intent entry." + required: true + type: map + keys: + sentences: + description: "Sentences that should trigger this intent." + required: true + type: list + conversations: + description: "A list of conversations that triggers this intent. If no conversation are given, every conversations triggers the intent." + required: false + type: [map] + default: empty + keys: + id: + description: "Specifies the id of the conversation. *The conversation id can be obtained from the `hangouts.conversations` entity.*" + required: true + type: string +error_suppressed_conversations: + description: "A list of conversations that won't get a message if the intent is not known." + required: false + type: [map] + default: empty + keys: + id: + description: "Specifies the id of the conversation. *The conversation id can be obtained from the `hangouts.conversations` entity.*" required: true type: string - conversations: - description: "A list of conversations that the bot should listen for this command in. If this is not given, all conversations are used." - required: false - type: [map] - default: empty - keys: - id: - description: "Specifies the id of the conversation. *The conversation id can be obtained from the `hangouts.conversations` entity.*" - required: true - type: string {% endconfiguration %} The conversations has to be precreated, the conversation id can be obtained from the `hangouts.conversations` entity. Make sure to use quotes around the conversation id or alias to escape special characters (`!`, and `#`) in YAML. -### {% linkable_title Event Data %} - -If a command is triggered, a `hangouts_command` event is fired. The event contains the name of the command in the `command` field. - -If the command is a word command, the `data` field contains a list of the command's arguments, i.e., everything that stood behind the word, split at spaces. If the command is an expression command, the `data` field contains the [group dictionary](https://docs.python.org/3.6/library/re.html?highlight=re#re.match.groupdict) of the regular expression that matched the message. - -There are these additional fields: `conversation_id`, `user_id` and `user_name`. - -### {% linkable_title Comprehensive Configuration Example %} +## {% linkable_title Adding sentences %} ```yaml # The Hangouts component hangouts: - commands: - - word: testword + intents: + HassLightSet: + sentences: + - Toggle {name}. conversations: - - name: "someothertest" - - expression: "My name is (?P.*)" - name: introduction + - id: CONVERSATION_ID1 + Ping: + sentences: + - How many Conversation do you know + error_suppressed_conversations: + - id: CONVERSATION_ID2 -automation: - - alias: 'React to !testword' - trigger: - platform: event - event_type: hangouts_command - event_data: - command: testword - action: - service: hangouts.send_message - data_template: - target: - - name: "hasstest" - message: - - text: 'It looks like you wrote testword' - - alias: 'React to an introduction' - trigger: - platform: event - event_type: hangouts_command - event_data: - command: introduction - action: - service: hangouts.send_message - data_template: - target: - - id: '{{ trigger.event.data.conversation_id}}' - message: - - text: "Hello {{ trigger.event.data.data.name }}" +intent_script: + Ping: + speech: + text: I know {% raw %}{{ states.hangouts.conversations.state }}{% endraw %} conversations ``` This configuration will: -- Listen for "testword" in the room "someothertest" (and only) there. - If such a message is encountered, it will answer with "It looks like you wrote testword" into the "hasstest" conversation. -- Listen in all conversations for any message matching "My name is (any name)" and answer with "Hello (the given name)" into the same conversation. +- Toggle the light in the given location in a specific conversation. +- Return the conversations the bot know. + +## {% linkable_title Adding advanced custom sentences %} + +Sentences can contain slots (marked with curly braces: `{name}`) and optional words (marked with square brackets: `[the]`). The values of slots will be passed on to the intent and are available inside the templates. + +The following configuration can handle the following sentences: + + - Change the lights to red + - Change the lights to green + - Change the lights to blue + - Change the lights to the color red + - Change the lights to the color green + - Change the lights to the color blue + +```yaml +# Example configuration.yaml entry +hangouts: + intents: + ColorLight: + sentences: + - Change the lights to [the color] {color} +{% raw %} +intent_script: + ColorLight: + speech: + text: Changed the lights to {{ color }}. + action: + service: light.turn_on + data_template: + rgb_color: + - "{% if color == 'red' %}255{% else %}0{% endif %}" + - "{% if color == 'green' %}255{% else %}0{% endif %}" + - "{% if color == 'blue' %}255{% else %}0{% endif %}" +{% endraw %} +``` + +## {% linkable_title Services %} + +### {% linkable_title Service `hangouts.update` %} + +Updates the list of conversations. + +| Service data attribute | Optional | Description | +|------------------------|----------|--------------------------------------------------| +| | | | + +### {% linkable_title Service `hangouts.send_message` %} + +Sends a message to the given conversations. + +| Service data attribute | Optional | Description | +|------------------------|----------|--------------------------------------------------| +| target | List of targets with id or name. [Required] | [{"id": "UgxrXzVrARmjx_C6AZx4AaABAagBo-6UCw"}, {"name": "Test Conversation"}] | +| message | List of message segments, only the "text" field is required in every segment. [Required] | [{"text":"test", "is_bold": false, "is_italic": false, "is_strikethrough": false, "is_underline": false, "parse_str": false, "link_target": "http://google.com"}, ...] | + + From 8e89bd1147b9b6a7293af9b88e6e870d1b6d59a1 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 28 Aug 2018 01:10:11 +0200 Subject: [PATCH 020/164] Update HassOS 1.10 --- source/hassio/installation.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index f5fca6aa36d..2c4db4c8e76 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -77,14 +77,14 @@ A detailed guide about running Hass.io as a virtual machine is available in the [etcher]: https://etcher.io/ [Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md [hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md -[pi0-w]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi0-w-1.9.img.gz -[pi1]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi-1.9.img.gz -[pi2]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi2-1.9.img.gz -[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi3-1.9.img.gz -[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi3-64-1.9.img.gz +[pi0-w]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi0-w-1.10.img.gz +[pi1]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi-1.10.img.gz +[pi2]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi2-1.10.img.gz +[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi3-1.10.img.gz +[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi3-64-1.10.img.gz [tinker]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_tinker-2.2.img.gz [odroid-c2]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_odroid-c2-2.2.img.gz -[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_ova-1.9.vmdk +[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_ova-1.10.vmdk [linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio [local]: http://hassio.local:8123 [samba]: /addons/samba/ From 7169b41a2c089328823ef4851142e426b9940014 Mon Sep 17 00:00:00 2001 From: tmd224 <41244312+tmd224@users.noreply.github.com> Date: Tue, 28 Aug 2018 02:27:19 -0400 Subject: [PATCH 021/164] Adding more detail on .gitignore (#6099) -Added more detail on creating .gitignore for windows users -Added tip for exiting VI editor when writing commit messages --- source/_docs/ecosystem/backup/backup_github.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index 98f7b223bd2..7b952cab3d6 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -50,6 +50,10 @@ Before creating and pushing your Home Assistant configuration to GitHub, please Creating a `.gitignore` file in your repository will tell git which files NOT to push to the GitHub server. This should be used to prevent publishing sensitive files to the public. It should contain a list of filenames and pattern matches. This list should include at least your `secrets.yaml` file, device configuration files, and the Home Assistant database/directory structure. The `.gitignore` file should be placed in the root of your Home Assistant configuration directory: ` + If you are creating the `.gitignore` file on Windows, make sure that you save the file with Unix line endings (i.e. by using an editor like Notepad++). +

+ Here is an example that will ignore everything but your YAML configuration. ```bash @@ -79,7 +83,7 @@ $ git add . $ git commit ``` -After the `git commit` command, you will be asked to enter a message for the commit. This will add a comment beside each file on GitHub describing the purpose for the commit. In this case, you can enter something like "Initial commit of my Home Assistant configuration." +After the `git commit` command, you will be asked to enter a message for the commit. This will add a comment beside each file on GitHub describing the purpose for the commit. In this case, you can enter something like "Initial commit of my Home Assistant configuration." To exit the editor, press `CTRL + C` and then `:wq` which will exit and save the changes. ### {% linkable_title Step 4: Creating Repository on GitHub %} From b7c7c051e6e09f25d04308b846f8f60df29f4208 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 28 Aug 2018 08:34:24 +0200 Subject: [PATCH 022/164] Minor changes --- .../ecosystem/backup/backup_github.markdown | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown index 7b952cab3d6..d43a111f89b 100644 --- a/source/_docs/ecosystem/backup/backup_github.markdown +++ b/source/_docs/ecosystem/backup/backup_github.markdown @@ -12,12 +12,12 @@ redirect_from: /cookbook/githubbackup/ Backing up and regularly syncing your Home Assistant configuration to [GitHub](http://GitHub.com) has several benefits: -- A remote copy of your Home Assistant YAML files in case you need to recover -- A documented history of your changes for troubleshooting purposes -- It will help the Home Assistant community learn from your configuration examples +- A remote copy of your Home Assistant YAML files in case you need to recover. +- A documented history of your changes for troubleshooting purposes. +- It will help the Home Assistant community learn from your configuration examples.

-This is not a comprehensive tutorial on using GitHub, more information can be found in the [GitHub Help](https://help.github.com/) pages. This guide assumes the user has an intermediate experience level and is comfortable with such concepts as: navigating the Home Assistant directory structure, logging in as the Home Assistant user, and working with the command line. +This is not a comprehensive tutorial on using GitHub, more information can be found in the [GitHub Help](https://help.github.com/) pages. This guide assumes the user has an intermediate experience level and is comfortable with such concepts as: navigating the Home Assistant directory structure, logging in as the Home Assistant user, and working with the command line.

@@ -28,14 +28,14 @@ This will not create a full backup of your Home Assistant files or your OS. In a Some best practices to consider before putting your configuration on GitHub: -- Extensive use of [secrets.yaml](/topics/secrets/) to hide sensitive information like usernames, passwords, device information, and location -- Exclusion of some files, including `secrets.yaml` and device-specific information using a [`.gitignore`](https://git-scm.com/docs/gitignore) file -- Regularly committing your configuration to GitHub to make sure that your backup is up to date -- Use a README.md to document your configuration and include screenshots of your Home Assistant GUI +- Extensive use of [`secrets.yaml`](/docs/configuration/secrets/) to hide sensitive information like usernames, passwords, device information, and location. +- Exclusion of some files, including `secrets.yaml` and device-specific information using a [`.gitignore`](https://git-scm.com/docs/gitignore) file. +- Regularly committing your configuration to GitHub to make sure that your backup is up to date. +- Use a README.md to document your configuration and include screenshots of your Home Assistant frontend. ### {% linkable_title Step 1: Installing and Initializing Git %} -In order to put your configuration on GitHub, you must install the git package on your Home Assistant server (instructions below will work on Raspberry Pi, Ubunutu, or any Debian-based system) *note: this isn't required in Hass.io, it's included as default so proceed to step 2*: +In order to put your configuration on GitHub, you must install the Git package on your Home Assistant server (instructions below will work on Raspberry Pi, Ubunutu or any Debian-based system) *Note: this isn't required in Hass.io, it's included as default so proceed to step 2*: ```bash $ sudo apt-get update @@ -45,10 +45,10 @@ $ sudo apt-get install git ### {% linkable_title Step 2: Creating `.gitignore` %}

-Before creating and pushing your Home Assistant configuration to GitHub, please make sure to follow the `secrets.yaml` best practice mentioned above and scrub your configuration for any passwords or sensitive information. +Before creating and pushing your Home Assistant configuration to GitHub, please make sure to follow the [`secrets.yaml`](/docs/configuration/secrets/) best practice mentioned above and scrub your configuration for any passwords or sensitive information.

-Creating a `.gitignore` file in your repository will tell git which files NOT to push to the GitHub server. This should be used to prevent publishing sensitive files to the public. It should contain a list of filenames and pattern matches. This list should include at least your `secrets.yaml` file, device configuration files, and the Home Assistant database/directory structure. The `.gitignore` file should be placed in the root of your Home Assistant configuration directory: ` If you are creating the `.gitignore` file on Windows, make sure that you save the file with Unix line endings (i.e. by using an editor like Notepad++). @@ -83,12 +83,12 @@ $ git add . $ git commit ``` -After the `git commit` command, you will be asked to enter a message for the commit. This will add a comment beside each file on GitHub describing the purpose for the commit. In this case, you can enter something like "Initial commit of my Home Assistant configuration." To exit the editor, press `CTRL + C` and then `:wq` which will exit and save the changes. +After the `git commit` command, you will be asked to enter a message for the commit. This will add a comment beside each file on GitHub describing the purpose for the commit. In this case, you can enter something like "Initial commit of my Home Assistant configuration". To exit the editor, press `CTRL + C` and then `:wq` which will exit and save the changes. ### {% linkable_title Step 4: Creating Repository on GitHub %} - Connect to [GitHub](https://github.com) and login to your account (or create an account if you don't already have one). -- Click "[New Repository](https://github.com/new)" and give your repository a name/description (`Home-AssistantConfig` is used in the example below). You do NOT need to change any other options. +- Click "[New Repository](https://github.com/new)" and give your repository a name/description (`Home-AssistantConfig` is used in the example below). You do NOT need to change any other options. - Click "Create Repository" ### {% linkable_title Step 5: Your initial commit to GitHub %} @@ -108,7 +108,7 @@ Congratulations, you now have a copy of your current Home Assistant Configuratio ### {% linkable_title Step 6: Keeping your repository up to date %} -You should update your repository on a regular basis; ideally after you make a major configuration change (new device, new component, etc.). The below script will update your repository with any changed configuration files and allow you to add a comment with the commit for tracking purposes: +You should update your repository on a regular basis. Ideally after you make a major configuration change (new device, new component, etc.). The below script will update your repository with any changed configuration files and allow you to add a comment with the commit for tracking purposes:

You may need to adjust the paths in the script depending on your Home Assistant configuration. @@ -133,15 +133,15 @@ git push origin master exit ``` -Every time you run this script, you will be prompted for a comment to describe the change(s) that you are committing. This comment will be displayed beside each changed file on GitHub and will be stored after each commit. You will also be asked to enter your GitHub username and password (or ssh key passphrase if you use [GitHub with ssh](https://help.github.com/categories/ssh/)). +Every time you run this script, you will be prompted for a comment to describe the change(s) that you are committing. This comment will be displayed beside each changed file on GitHub and will be stored after each commit. You will also be asked to enter your GitHub username and password (or SSH key passphrase if you use [GitHub with SSH](https://help.github.com/categories/ssh/)). ### {% linkable_title Step 7: Configuration file testing %} [Travis CI](https://travis-ci.org) is a continuous integration testing system that runs every time the code in your repository is updated and allows you to validate that your code works on a fresh install. -- [Authorize Travis CI](https://travis-ci.org/auth) to have access to your github repos. -- Create the build script that travis will run to test your repo. -- Create a dummy secrets.yaml for Travis. +- [Authorize Travis CI](https://travis-ci.org/auth) to have access to your GitHub repositories. +- Create the build script that travis will run to test your repository. +- Create a dummy `secrets.yaml` for Travis. Example .travis.yml ```yaml @@ -156,7 +156,7 @@ script: - hass -c . --script check_config ``` -Since the secrets.yaml should _not_ be stored in your repo for security reasons, you won't be able to access it at build time. Creating a dummy secrets.yaml is as simple as creating a new file that mimics your existing secrets.yaml with the required keys, but not their value. +Since the `secrets.yaml` should _not_ be stored in your repository for security reasons, you won't be able to access it at build time. Creating a dummy `secrets.yaml` is as simple as creating a new file that mimics your existing `secrets.yaml` with the required keys, but not their value. ```yaml #travis_secrets.yaml @@ -168,8 +168,7 @@ home_elevation: 0 ### {% linkable_title Extra commands %} -You can enter these commands to get a list of the files in your local git repository and a status of files that have changed but not committed yet: - +You can enter these commands to get a list of the files in your local Git repository and a status of files that have changed but not committed yet: ```bash $ git ls-files From bea89ac0433ad852549c316c108000dbcdd36e2b Mon Sep 17 00:00:00 2001 From: Peter Weidenkaff Date: Tue, 28 Aug 2018 08:35:40 +0200 Subject: [PATCH 023/164] Fix SQL command to extract token on iOS (#6095) --- source/_components/vacuum.xiaomi_miio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index be3f1ed0bbf..7253f4de437 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -246,7 +246,7 @@ To fetch the token follow these instructions depending on your mobile phone plat 8. Install [DB Browser for SQLite](http://sqlitebrowser.org/). 9. Open DB Browser and load the `.sqlite` file you saved from your backup. 10. Click on the `Execute SQL` tab. -11. Input and run this query: `SELECT ZTOKEN FROM ZDEVICE WHERE ZNAME LIKE "%Vacuum%"` +11. Input and run this query: `SELECT ZTOKEN FROM ZDEVICE WHERE ZMODEL LIKE "%vacuum%"` 12. Copy the returned 32-digit hexadecimal string to your clipboard. 13. Open `Terminal` and execute this command: `echo '0: ' | xxd -r -p | openssl enc -d -aes-128-ecb -nopad -nosalt -K 00000000000000000000000000000000` 14. Use the resulting string as your token. From 6a27c1926f6190eafcba71eb6bf668b7a2877f08 Mon Sep 17 00:00:00 2001 From: tubalainen Date: Tue, 28 Aug 2018 08:36:52 +0200 Subject: [PATCH 024/164] Added default update (#6100) * Added default update Added the default update interval to the component page. * Minor change --- source/_components/tellduslive.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/tellduslive.markdown b/source/_components/tellduslive.markdown index 42968880bad..584761f2db8 100644 --- a/source/_components/tellduslive.markdown +++ b/source/_components/tellduslive.markdown @@ -31,6 +31,6 @@ tellduslive: Configuration variables: - **host** (*Optional*): Host address to Tellstick Net or Tellstick ZNet for Local API, only useful when automatic discovery is not enabled. -- **update_interval** (*Optional*): Interval (in seconds) for polling the Telldus Live server (or the local server). +- **update_interval** (*Optional*): Interval (in seconds) for polling the Telldus Live server (or the local server). Defaults to 60 seconds. The component will offer configuration through the Home Assistant user interface where it will let you associate it with your Telldus Live account. From 3635878df2262ac01f582cee52410b83fd81e534 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Tue, 28 Aug 2018 07:38:10 +0100 Subject: [PATCH 025/164] Should be step 3 on (#6098) Should be step 3 on for other users --- source/_components/google_assistant.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index c9fbcd65227..3530db78161 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -157,7 +157,7 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow a. Go to the settings for the project you created in point 1 in the developer console. b. Under the gear icon, click `Permissions` c. Click `Add`, type the new user's e-mail address and choose `Project -> Editor` role - d. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 4 + d. Have the new user go to [developer console](https://console.actions.google.com/) and repeat steps starting from point 3 8. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project: a. Go to the [cloud console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) b. Select your project and click Enable Homegraph API From 5ca6fd4f0d439f009fe8ca3a8f95252785fa0c0e Mon Sep 17 00:00:00 2001 From: Gabriel Oliveira Date: Tue, 28 Aug 2018 03:52:13 -0300 Subject: [PATCH 026/164] Update release links for 2.2 (#6097) --- source/hassio/installation.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 2c4db4c8e76..88aac017cc6 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -77,14 +77,14 @@ A detailed guide about running Hass.io as a virtual machine is available in the [etcher]: https://etcher.io/ [Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md [hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md -[pi0-w]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi0-w-1.10.img.gz -[pi1]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi-1.10.img.gz -[pi2]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi2-1.10.img.gz -[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi3-1.10.img.gz -[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi3-64-1.10.img.gz +[pi0-w]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi0-w-2.2.img.gz +[pi1]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi-2.2.img.gz +[pi2]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi2-2.2.img.gz +[pi3-32]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi3-2.2.img.gz +[pi3-64]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi3-64-2.2.img.gz [tinker]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_tinker-2.2.img.gz [odroid-c2]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_odroid-c2-2.2.img.gz -[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_ova-1.10.vmdk +[vmdk]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_ova-2.2.vmdk.gz [linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio [local]: http://hassio.local:8123 [samba]: /addons/samba/ From b17a830cc9ebcb8c397c9720e0e309a0ba92b756 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 28 Aug 2018 09:40:10 +0200 Subject: [PATCH 027/164] Update credits --- credits_generator/.gitignore | 1 + credits_generator/README.md | 8 +- credits_generator/package-lock.json | 116 +++ credits_generator/update_credits.js | 10 +- source/developers/credits.markdown | 1007 ++++++++++++++------------- 5 files changed, 638 insertions(+), 504 deletions(-) create mode 100644 credits_generator/.gitignore create mode 100644 credits_generator/package-lock.json diff --git a/credits_generator/.gitignore b/credits_generator/.gitignore new file mode 100644 index 00000000000..20efa436b5c --- /dev/null +++ b/credits_generator/.gitignore @@ -0,0 +1 @@ +.token diff --git a/credits_generator/README.md b/credits_generator/README.md index 986f0b47859..e441f9917bb 100644 --- a/credits_generator/README.md +++ b/credits_generator/README.md @@ -15,14 +15,10 @@ $ npm install Usage ----- Go to https://github.com/settings/tokens/new and generate a new GitHub personal access token. + Give the token any name and select the `public_repo` and `read:user` scopes. - -Set the environment variable `GITHUB_TOKEN` to the new token. - -```bash -$ export GITHUB_TOKEN= -``` +Put the token in this repo in a file named `.token`. Run the script. diff --git a/credits_generator/package-lock.json b/credits_generator/package-lock.json new file mode 100644 index 00000000000..51cc2098715 --- /dev/null +++ b/credits_generator/package-lock.json @@ -0,0 +1,116 @@ +{ + "name": "credits_generator", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "agent-base": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", + "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", + "requires": { + "extend": "3.0.2", + "semver": "5.0.3" + } + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "requires": { + "lodash": "4.17.10" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "follow-redirects": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.7.tgz", + "integrity": "sha1-NLkLqyqRGqNHVx2pDyK9NuzYqRk=", + "requires": { + "debug": "2.6.9", + "stream-consume": "0.1.1" + } + }, + "github": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/github/-/github-8.2.1.tgz", + "integrity": "sha1-YWsiEfvNHMhjFmmu1nZT5i61OBY=", + "requires": { + "follow-redirects": "0.0.7", + "https-proxy-agent": "1.0.0", + "mime": "1.6.0", + "netrc": "0.1.4" + } + }, + "https-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", + "requires": { + "agent-base": "2.1.1", + "debug": "2.6.9", + "extend": "3.0.2" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "moment": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + }, + "moment-timezone": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.21.tgz", + "integrity": "sha512-j96bAh4otsgj3lKydm3K7kdtA3iKf2m6MY2iSYCzCm5a1zmHo1g+aK3068dDEeocLZQIS9kU8bsdQHLqEvgW0A==", + "requires": { + "moment": "2.22.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mu2": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/mu2/-/mu2-0.5.21.tgz", + "integrity": "sha1-iIqPD9kOsc/anbgUdvbhmcyeWNM=" + }, + "netrc": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/netrc/-/netrc-0.1.4.tgz", + "integrity": "sha1-a+lPysqNd63gqWcNxGCRTJRHJEQ=" + }, + "semver": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=" + }, + "stream-consume": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", + "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==" + } + } +} diff --git a/credits_generator/update_credits.js b/credits_generator/update_credits.js index 3cfab7a9e23..99e71743c0c 100644 --- a/credits_generator/update_credits.js +++ b/credits_generator/update_credits.js @@ -4,8 +4,12 @@ var fs = require('fs') , mu = require('mu2') , moment = require('moment-timezone'); -if(!process.env.GITHUB_TOKEN) { - console.error('You must set the GITHUB_TOKEN environment variable to a GitHub personal access token.'); +let token; + +try { + token = fs.readFileSync('.token', 'utf-8').trim(); +} catch (err) { + console.error('You must create a .token file that contains a GitHub token.'); return; } @@ -17,7 +21,7 @@ var github = new GitHubApi({ headers: { 'user-agent': 'Home Assistant Contributors List Updater ' } }); -github.authenticate({ type: 'oauth', token: process.env.GITHUB_TOKEN }); +github.authenticate({ type: 'oauth', token: token }); var usersMap = {}; diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 735732f80f5..6eacda0733f 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -2,7 +2,7 @@ layout: page title: "Credits" description: "Credits for the developers who contributed to Home Assistant." -date: 2018-06-03 20:50:11 +0000 +date: 2018-08-28 07:39:11 +0000 sidebar: true comments: false sharing: true @@ -13,7 +13,7 @@ This page contains a list of people who have contributed in one way or another t ### {% linkable_title Author %} -- [Paulus Schoutsen (@balloob)](https://github.com/balloob "6888 total commits to the home-assistant organization, 3961 commits to home-assistant, 1476 commits to home-assistant.github.io, 854 commits to home-assistant-polymer, 244 commits to home-assistant-js, 124 commits to netdisco, 62 commits to developers.home-assistant, 52 commits to home-assistant-js-websocket, 35 commits to hass-release, 17 commits to LabelBot, 15 commits to home-assistant-assets, 8 commits to example-custom-config, 8 commits to hassio, 7 commits to micropython-home-assistant, 6 commits to custom-panel-starter-kit-react, 3 commits to hassio-addons, 3 commits to hassio-build, 2 commits to ui-schema, 2 commits to issue-bot, 2 commits to lambda-home-assistant-github, 2 commits to home-assistant-iOS, 2 commits to hassio-addons-example, 1 commit to home-assistant-notebooks, 1 commit to architecture, 1 commit to warrant") +- [Paulus Schoutsen (@balloob)](https://github.com/balloob "7458 total commits to the home-assistant organization, 4212 commits to home-assistant, 1565 commits to home-assistant.io, 1011 commits to home-assistant-polymer, 237 commits to home-assistant-js, 126 commits to netdisco, 110 commits to developers.home-assistant, 66 commits to home-assistant-js-websocket, 38 commits to hass-release, 17 commits to LabelBot, 15 commits to home-assistant-assets, 10 commits to hassio, 9 commits to hbmqtt-auth-home-assistant, 8 commits to example-custom-config, 7 commits to micropython-home-assistant, 6 commits to custom-panel-starter-kit-react, 4 commits to ui-schema, 3 commits to hassio-addons, 3 commits to hassio-build, 2 commits to home-assistant-iOS, 2 commits to issue-bot, 2 commits to lambda-home-assistant-github, 2 commits to hassio-addons-example, 1 commit to warrant, 1 commit to home-assistant-notebooks, 1 commit to architecture") ### {% linkable_title Contributors %} @@ -21,877 +21,894 @@ This page contains a list of people who have contributed in one way or another t - [7even (@hwikene)](https://github.com/hwikene "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [a-andre (@a-andre)](https://github.com/a-andre "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Aaron Bach (@bachya)](https://github.com/bachya "61 total commits to the home-assistant organization, 42 commits to home-assistant, 19 commits to home-assistant.github.io") +- [Aaron Bach (@bachya)](https://github.com/bachya "81 total commits to the home-assistant organization, 56 commits to home-assistant, 25 commits to home-assistant.io") - [Aaron Linville (@linville)](https://github.com/linville "2 total commits to the home-assistant organization, 2 commits to appdaemon") -- [Abílio Costa (@abmantis)](https://github.com/abmantis "24 total commits to the home-assistant organization, 14 commits to home-assistant, 6 commits to home-assistant.github.io, 2 commits to home-assistant-polymer, 1 commit to home-assistant-js-websocket, 1 commit to netdisco") +- [Abílio Costa (@abmantis)](https://github.com/abmantis "24 total commits to the home-assistant organization, 14 commits to home-assistant, 6 commits to home-assistant.io, 2 commits to home-assistant-polymer, 1 commit to home-assistant-js-websocket, 1 commit to netdisco") - [Adam Baxter (@voltagex)](https://github.com/voltagex "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Adam Cooper (@GenericStudent)](https://github.com/GenericStudent "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Adam Dullage (@Dullage)](https://github.com/Dullage "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Adam Mills (@armills)](https://github.com/armills "324 total commits to the home-assistant organization, 171 commits to home-assistant, 92 commits to home-assistant-polymer, 57 commits to home-assistant.github.io, 3 commits to home-assistant-js, 1 commit to homebridge-homeassistant") +- [Adam Cooper (@GenericStudent)](https://github.com/GenericStudent "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.io") +- [Adam Dullage (@Dullage)](https://github.com/Dullage "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Adam Mills (@armills)](https://github.com/armills "331 total commits to the home-assistant organization, 174 commits to home-assistant, 93 commits to home-assistant-polymer, 59 commits to home-assistant.io, 3 commits to home-assistant-js, 1 commit to homebridge-homeassistant, 1 commit to developers.home-assistant") - [Adrian Popa (@mad-ady)](https://github.com/mad-ady "5 total commits to the home-assistant organization, 4 commits to appdaemon, 1 commit to home-assistant-polymer") - [Adrien Ball (@adrienball)](https://github.com/adrienball "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [Adrien Brault (@adrienbrault)](https://github.com/adrienbrault "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Adrián López (@adrianlzt)](https://github.com/adrianlzt "8 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 2 commits to home-assistant") +- [Adrián López (@adrianlzt)](https://github.com/adrianlzt "8 total commits to the home-assistant organization, 6 commits to home-assistant.io, 2 commits to home-assistant") - [AHS (@ahofelt)](https://github.com/ahofelt "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [akloeckner (@akloeckner)](https://github.com/akloeckner "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Alan Bowman (@alanbowman)](https://github.com/alanbowman "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Alan Fischer (@alanfischer)](https://github.com/alanfischer "20 total commits to the home-assistant organization, 16 commits to home-assistant, 4 commits to home-assistant.github.io") -- [Alan Tse (@alandtse)](https://github.com/alandtse "4 total commits to the home-assistant organization, 2 commits to home-assistant, 2 commits to home-assistant.github.io") -- [Alasdair Nicol (@alasdairnicol)](https://github.com/alasdairnicol "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Albatross (@DyingAlbatross)](https://github.com/DyingAlbatross "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Albert Lee (@trisk)](https://github.com/trisk "18 total commits to the home-assistant organization, 11 commits to home-assistant, 7 commits to home-assistant.github.io") +- [Alan Fischer (@alanfischer)](https://github.com/alanfischer "21 total commits to the home-assistant organization, 17 commits to home-assistant, 4 commits to home-assistant.io") +- [Alan Tse (@alandtse)](https://github.com/alandtse "4 total commits to the home-assistant organization, 2 commits to home-assistant, 2 commits to home-assistant.io") +- [Alasdair Nicol (@alasdairnicol)](https://github.com/alasdairnicol "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") +- [Albatross (@DyingAlbatross)](https://github.com/DyingAlbatross "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") +- [Albert Lee (@trisk)](https://github.com/trisk "20 total commits to the home-assistant organization, 12 commits to home-assistant, 8 commits to home-assistant.io") - [Alberto Arias Maestro (@albertoarias)](https://github.com/albertoarias "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [Alec Rust (@AlecRust)](https://github.com/AlecRust "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") - [Alessandro Mogavero (@alexmogavero)](https://github.com/alexmogavero "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Alex Barcelo (@alexbarcelo)](https://github.com/alexbarcelo "6 total commits to the home-assistant organization, 3 commits to hassio-addons, 3 commits to home-assistant.github.io") -- [Alex Harvey (@infamy)](https://github.com/infamy "29 total commits to the home-assistant organization, 14 commits to home-assistant, 11 commits to home-assistant.github.io, 4 commits to hassos") -- [Alex Mekkering (@AlexMekkering)](https://github.com/AlexMekkering "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") +- [Alex Barcelo (@alexbarcelo)](https://github.com/alexbarcelo "7 total commits to the home-assistant organization, 4 commits to home-assistant.io, 3 commits to hassio-addons") +- [Alex Harvey (@infamy)](https://github.com/infamy "29 total commits to the home-assistant organization, 14 commits to home-assistant, 11 commits to home-assistant.io, 4 commits to hassos") +- [Alex Mekkering (@AlexMekkering)](https://github.com/AlexMekkering "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") - [Alex MF (@adsmf)](https://github.com/adsmf "1 total commits to the home-assistant organization, 1 commit to hassio-addons") - [Alex Osadchyy (@aosadchyy)](https://github.com/aosadchyy "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Alex Tzonkov (@attzonko)](https://github.com/attzonko "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Alexander Bachmeier (@asbach)](https://github.com/asbach "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") +- [Alex Tzonkov (@attzonko)](https://github.com/attzonko "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") +- [Alexander Bachmeier (@asbach)](https://github.com/asbach "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") - [Alexander Kratzer (@hexxter)](https://github.com/hexxter "8 total commits to the home-assistant organization, 8 commits to home-assistant") -- [Alexandre Perrin (@kAworu)](https://github.com/kAworu "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Alexei Chetroi (@Adminiuga)](https://github.com/Adminiuga "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Alexis Iglauer (@ax42)](https://github.com/ax42 "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Alexandre Perrin (@kAworu)](https://github.com/kAworu "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Alexei Chetroi (@Adminiuga)](https://github.com/Adminiuga "4 total commits to the home-assistant organization, 3 commits to home-assistant, 1 commit to home-assistant-polymer") +- [Alexis Iglauer (@ax42)](https://github.com/ax42 "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Alfie Day (@Azelphur)](https://github.com/Azelphur "12 total commits to the home-assistant organization, 12 commits to home-assistant") -- [Aliaksandr (@minchik)](https://github.com/minchik "7 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 2 commits to appdaemon, 2 commits to home-assistant") -- [Alok Saboo (@arsaboo)](https://github.com/arsaboo "141 total commits to the home-assistant organization, 82 commits to home-assistant.github.io, 53 commits to home-assistant, 4 commits to home-assistant-polymer, 1 commit to hassio-addons, 1 commit to pi-gen") +- [Aliaksandr (@minchik)](https://github.com/minchik "7 total commits to the home-assistant organization, 3 commits to home-assistant.io, 2 commits to appdaemon, 2 commits to home-assistant") +- [Alok Saboo (@arsaboo)](https://github.com/arsaboo "148 total commits to the home-assistant organization, 83 commits to home-assistant.io, 53 commits to home-assistant, 7 commits to home-assistant-polymer, 3 commits to developers.home-assistant, 1 commit to hassio-addons, 1 commit to pi-gen") - [amorsillo (@AndrewMorsillo)](https://github.com/AndrewMorsillo "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Anders Fogh Eriksen (@Fogh)](https://github.com/Fogh "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Anders Melchiorsen (@amelchio)](https://github.com/amelchio "225 total commits to the home-assistant organization, 182 commits to home-assistant, 41 commits to home-assistant.github.io, 2 commits to home-assistant-polymer") -- [andig (@andig)](https://github.com/andig "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [Andrea Campi (@andreacampi)](https://github.com/andreacampi "8 total commits to the home-assistant organization, 6 commits to home-assistant, 2 commits to home-assistant.github.io") +- [Anders Fogh Eriksen (@Fogh)](https://github.com/Fogh "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") +- [Anders Melchiorsen (@amelchio)](https://github.com/amelchio "245 total commits to the home-assistant organization, 199 commits to home-assistant, 44 commits to home-assistant.io, 2 commits to home-assistant-polymer") +- [andig (@andig)](https://github.com/andig "2 total commits to the home-assistant organization, 2 commits to pi-gen") +- [Andrea Campi (@andreacampi)](https://github.com/andreacampi "8 total commits to the home-assistant organization, 6 commits to home-assistant, 2 commits to home-assistant.io") - [Andreas Björshammar (@abjorshammar)](https://github.com/abjorshammar "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Andreas Jacobsen (@andreasjacobsen93)](https://github.com/andreasjacobsen93 "8 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 2 commits to hassio-addons") +- [Andreas Jacobsen (@andreasjacobsen93)](https://github.com/andreasjacobsen93 "8 total commits to the home-assistant organization, 6 commits to home-assistant.io, 2 commits to hassio-addons") - [Andreas Rammhold (@andir)](https://github.com/andir "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Andreas Renberg (@IQAndreas)](https://github.com/IQAndreas "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Andreea\-Daniela Ene (@AndreeaEne)](https://github.com/AndreeaEne "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Andreas Renberg (@IQAndreas)](https://github.com/IQAndreas "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") +- [Andreea\-Daniela Ene (@AndreeaEne)](https://github.com/AndreeaEne "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Andrei Pop (@andreipop2005)](https://github.com/andreipop2005 "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Andrej Friesen (@ajfriesen)](https://github.com/ajfriesen "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Andrew (@aneisch)](https://github.com/aneisch "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Andrew (@aoakeson)](https://github.com/aoakeson "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Andrew Cockburn (@acockburn)](https://github.com/acockburn "817 total commits to the home-assistant organization, 682 commits to appdaemon, 88 commits to hadashboard, 25 commits to scenegen, 22 commits to home-assistant.github.io") +- [Andrej Friesen (@ajfriesen)](https://github.com/ajfriesen "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Andrew (@aneisch)](https://github.com/aneisch "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Andrew (@aoakeson)](https://github.com/aoakeson "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") +- [Andrew Cockburn (@acockburn)](https://github.com/acockburn "821 total commits to the home-assistant organization, 686 commits to appdaemon, 88 commits to hadashboard, 25 commits to scenegen, 22 commits to home-assistant.io") - [Andrew Smith (@andrewmichaelsmith)](https://github.com/andrewmichaelsmith "2 total commits to the home-assistant organization, 2 commits to pi-gen") - [Andrew Stock (@watchforstock)](https://github.com/watchforstock "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [Andrew Thigpen (@andythigpen)](https://github.com/andythigpen "33 total commits to the home-assistant organization, 32 commits to home-assistant, 1 commit to home-assistant-js") - [Andrew Wedgbury (@sconemad)](https://github.com/sconemad "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [andrew-curtis (@andrew-curtis)](https://github.com/andrew-curtis "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [Andrey (@andrey-git)](https://github.com/andrey-git "303 total commits to the home-assistant organization, 137 commits to home-assistant-polymer, 128 commits to home-assistant, 37 commits to home-assistant.github.io, 1 commit to home-assistant-js-websocket") -- [Andrey Kupreychik (@foxel)](https://github.com/foxel "9 total commits to the home-assistant organization, 6 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Andrzej (@andriej)](https://github.com/andriej "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Andréas Lundgren (@adevade)](https://github.com/adevade "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Andy Castille (@Klikini)](https://github.com/Klikini "14 total commits to the home-assistant organization, 9 commits to home-assistant, 5 commits to home-assistant.github.io") +- [andrew-curtis (@andrew-curtis)](https://github.com/andrew-curtis "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") +- [Andrey (@andrey-git)](https://github.com/andrey-git "323 total commits to the home-assistant organization, 147 commits to home-assistant, 138 commits to home-assistant-polymer, 37 commits to home-assistant.io, 1 commit to home-assistant-js-websocket") +- [Andrey Kupreychik (@foxel)](https://github.com/foxel "13 total commits to the home-assistant organization, 8 commits to home-assistant, 5 commits to home-assistant.io") +- [Andrzej (@andriej)](https://github.com/andriej "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Andréas Lundgren (@adevade)](https://github.com/adevade "2 total commits to the home-assistant organization, 2 commits to home-assistant.io") +- [Andy Castille (@Klikini)](https://github.com/Klikini "18 total commits to the home-assistant organization, 11 commits to home-assistant, 7 commits to home-assistant.io") - [anotherthomas (@anotherthomas)](https://github.com/anotherthomas "1 total commits to the home-assistant organization, 1 commit to hassio-addons") - [Anthony Arnaud (@aarnaud)](https://github.com/aarnaud "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [Anthony Hughes (@tony2nite)](https://github.com/tony2nite "1 total commits to the home-assistant organization, 1 commit to netdisco") -- [Antoine Bertin (@Diaoul)](https://github.com/Diaoul "5 total commits to the home-assistant organization, 2 commits to home-assistant, 2 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") +- [Antoine Bertin (@Diaoul)](https://github.com/Diaoul "3 total commits to the home-assistant organization, 2 commits to home-assistant, 1 commit to home-assistant-polymer") - [Anton Glukhov (@toxxin)](https://github.com/toxxin "1 total commits to the home-assistant organization, 1 commit to libcoap") - [Anton Lundin (@glance-)](https://github.com/glance- "8 total commits to the home-assistant organization, 7 commits to home-assistant, 1 commit to netdisco") -- [Anton Sarukhanov (@antsar)](https://github.com/antsar "6 total commits to the home-assistant organization, 3 commits to home-assistant, 2 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") +- [Anton Sarukhanov (@antsar)](https://github.com/antsar "4 total commits to the home-assistant organization, 3 commits to home-assistant, 1 commit to home-assistant-polymer") - [Antoni K (@Antoni-K)](https://github.com/Antoni-K "1 total commits to the home-assistant organization, 1 commit to hassbian-scripts") - [apo-mak (@apo-mak)](https://github.com/apo-mak "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [arcsur (@arcsur)](https://github.com/arcsur "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Ardetus (@Ardetus)](https://github.com/Ardetus "4 total commits to the home-assistant organization, 2 commits to home-assistant, 2 commits to home-assistant.github.io") -- [Ardi Mehist (@omgapuppy)](https://github.com/omgapuppy "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Ari Lotter (@arilotter)](https://github.com/arilotter "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [arjenfvellinga (@arjenfvellinga)](https://github.com/arjenfvellinga "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Arno (@aetjansen)](https://github.com/aetjansen "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [ArrayLabs (@arraylabs)](https://github.com/arraylabs "5 total commits to the home-assistant organization, 5 commits to home-assistant") +- [Ardetus (@Ardetus)](https://github.com/Ardetus "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [arjenfvellinga (@arjenfvellinga)](https://github.com/arjenfvellinga "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Arno (@aetjansen)](https://github.com/aetjansen "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [ArrayLabs (@arraylabs)](https://github.com/arraylabs "6 total commits to the home-assistant organization, 6 commits to home-assistant") +- [Artem (@ArtHome12)](https://github.com/ArtHome12 "2 total commits to the home-assistant organization, 2 commits to developers.home-assistant") - [Arthur Leonard Andersen (@leoc)](https://github.com/leoc "9 total commits to the home-assistant organization, 9 commits to home-assistant") -- [Arttu mahlakaarto (@amahlaka)](https://github.com/amahlaka "6 total commits to the home-assistant organization, 6 commits to home-assistant.github.io") -- [Ashton Campbell (@AshtonCampbell)](https://github.com/AshtonCampbell "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") +- [Arttu mahlakaarto (@amahlaka)](https://github.com/amahlaka "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") +- [Ashton Campbell (@AshtonCampbell)](https://github.com/AshtonCampbell "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") - [Assaf Inbal (@shmuelzon)](https://github.com/shmuelzon "11 total commits to the home-assistant organization, 9 commits to homebridge-homeassistant, 2 commits to home-assistant") -- [Audric Schiltknecht (@chemicalstorm)](https://github.com/chemicalstorm "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Audric Schiltknecht (@chemicalstorm)](https://github.com/chemicalstorm "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Audun Ytterdal (@auduny)](https://github.com/auduny "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [Austin (@trainman419)](https://github.com/trainman419 "8 total commits to the home-assistant organization, 8 commits to home-assistant") - [Avraham David Gelbfish (@adgelbfish)](https://github.com/adgelbfish "2 total commits to the home-assistant organization, 1 commit to hadashboard, 1 commit to pi-gen") - [azeroth12 (@azeroth12)](https://github.com/azeroth12 "1 total commits to the home-assistant organization, 1 commit to appdaemon") +- [Azimoth (@Azimoth)](https://github.com/Azimoth "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [baflo (@baflo)](https://github.com/baflo "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Balázs Suhajda (@suhajdab)](https://github.com/suhajdab "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") - [Baran Kaynak (@barankaynak)](https://github.com/barankaynak "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Barry Williams (@bazwilliams)](https://github.com/bazwilliams "10 total commits to the home-assistant organization, 6 commits to home-assistant, 2 commits to netdisco, 2 commits to home-assistant.github.io") -- [Bart274 (@Bart274)](https://github.com/Bart274 "26 total commits to the home-assistant organization, 17 commits to home-assistant, 8 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") -- [Bas Schipper (@basschipper)](https://github.com/basschipper "9 total commits to the home-assistant organization, 7 commits to home-assistant, 2 commits to home-assistant.github.io") +- [Barry Williams (@bazwilliams)](https://github.com/bazwilliams "8 total commits to the home-assistant organization, 6 commits to home-assistant, 2 commits to netdisco") +- [Bart274 (@Bart274)](https://github.com/Bart274 "26 total commits to the home-assistant organization, 17 commits to home-assistant, 8 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [Bas Schipper (@basschipper)](https://github.com/basschipper "7 total commits to the home-assistant organization, 7 commits to home-assistant") - [bastshoes (@bastshoes)](https://github.com/bastshoes "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [battistaar (@battistaar)](https://github.com/battistaar "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") -- [bcl1713 (@bcl1713)](https://github.com/bcl1713 "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Beat (@bdurrer)](https://github.com/bdurrer "14 total commits to the home-assistant organization, 10 commits to home-assistant.github.io, 3 commits to home-assistant, 1 commit to home-assistant-polymer") -- [Ben (@unixben)](https://github.com/unixben "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") +- [bcl1713 (@bcl1713)](https://github.com/bcl1713 "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Beat (@bdurrer)](https://github.com/bdurrer "14 total commits to the home-assistant organization, 10 commits to home-assistant.io, 3 commits to home-assistant, 1 commit to home-assistant-polymer") - [Ben Bangert (@bbangert)](https://github.com/bbangert "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Ben Doerr (@bendoerr)](https://github.com/bendoerr "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Ben Lebherz (@benleb)](https://github.com/benleb "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") +- [Ben Lebherz (@benleb)](https://github.com/benleb "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Ben Nuttall (@bennuttall)](https://github.com/bennuttall "1 total commits to the home-assistant organization, 1 commit to pi-gen") - [Ben Origas (@borigas)](https://github.com/borigas "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Ben Pirt (@bjpirt)](https://github.com/bjpirt "2 total commits to the home-assistant organization, 2 commits to pi-gen") - [Ben Randall (@veleek)](https://github.com/veleek "4 total commits to the home-assistant organization, 4 commits to home-assistant") - [Ben Thomas (@wazoo)](https://github.com/wazoo "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Benedict Aas (@Shou)](https://github.com/Shou "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") +- [Benedict Aas (@Shou)](https://github.com/Shou "5 total commits to the home-assistant organization, 3 commits to home-assistant.io, 2 commits to home-assistant") - [Benjamin Parzella (@bparzella)](https://github.com/bparzella "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [Benji (@bbbenji)](https://github.com/bbbenji "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Bertbert (@bertbert72)](https://github.com/bertbert72 "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [bestlibre (@bestlibre)](https://github.com/bestlibre "16 total commits to the home-assistant organization, 8 commits to home-assistant, 5 commits to home-assistant.github.io, 1 commit to hassio, 1 commit to hassio-build, 1 commit to home-assistant-polymer") -- [BigMoby (@bigmoby)](https://github.com/bigmoby "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [BioSehnsucht (@BioSehnsucht)](https://github.com/BioSehnsucht "14 total commits to the home-assistant organization, 8 commits to home-assistant.github.io, 4 commits to home-assistant, 2 commits to home-assistant-polymer") +- [bestlibre (@bestlibre)](https://github.com/bestlibre "16 total commits to the home-assistant organization, 8 commits to home-assistant, 5 commits to home-assistant.io, 1 commit to hassio, 1 commit to hassio-build, 1 commit to home-assistant-polymer") +- [BioSehnsucht (@BioSehnsucht)](https://github.com/BioSehnsucht "14 total commits to the home-assistant organization, 8 commits to home-assistant.io, 4 commits to home-assistant, 2 commits to home-assistant-polymer") - [Bjarni Ivarsson (@bjarniivarsson)](https://github.com/bjarniivarsson "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant-polymer") - [Björn Orri (@bjornorri)](https://github.com/bjornorri "1 total commits to the home-assistant organization, 1 commit to home-assistant-iOS") - [Björn Ramberg (@bjorne)](https://github.com/bjorne "1 total commits to the home-assistant organization, 1 commit to hassio-build") -- [Blanyal D'Souza (@blanyal)](https://github.com/blanyal "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Bob Anderson (@rwa)](https://github.com/rwa "11 total commits to the home-assistant organization, 7 commits to home-assistant, 4 commits to home-assistant.github.io") -- [Bob Igo (@Human)](https://github.com/Human "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Boced66 (@boced66)](https://github.com/boced66 "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [bonanitech (@bonanitech)](https://github.com/bonanitech "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [boojew (@boojew)](https://github.com/boojew "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [Boris K (@bokub)](https://github.com/bokub "12 total commits to the home-assistant organization, 6 commits to home-assistant, 6 commits to home-assistant.github.io") -- [bottomquark (@bottomquark)](https://github.com/bottomquark "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Boyi C (@fanthos)](https://github.com/fanthos "25 total commits to the home-assistant organization, 17 commits to home-assistant-polymer, 6 commits to home-assistant, 2 commits to home-assistant.github.io") -- [bpoirriez (@bpoirriez)](https://github.com/bpoirriez "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") +- [Bob Anderson (@rwa)](https://github.com/rwa "11 total commits to the home-assistant organization, 7 commits to home-assistant, 4 commits to home-assistant.io") +- [Bob Clough (@thinkl33t)](https://github.com/thinkl33t "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [Bob Igo (@Human)](https://github.com/Human "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Boced66 (@boced66)](https://github.com/boced66 "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [bonanitech (@bonanitech)](https://github.com/bonanitech "9 total commits to the home-assistant organization, 9 commits to home-assistant.io") +- [boojew (@boojew)](https://github.com/boojew "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") +- [Boris K (@bokub)](https://github.com/bokub "12 total commits to the home-assistant organization, 6 commits to home-assistant.io, 6 commits to home-assistant") +- [bottomquark (@bottomquark)](https://github.com/bottomquark "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Boyi C (@fanthos)](https://github.com/fanthos "23 total commits to the home-assistant organization, 17 commits to home-assistant-polymer, 6 commits to home-assistant") - [Brad Dixon (@rbdixon)](https://github.com/rbdixon "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [Brad Fitzpatrick (@bradfitz)](https://github.com/bradfitz "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") - [Brad Johnson (@bradsk88)](https://github.com/bradsk88 "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Brahma Fear (@brahmafear)](https://github.com/brahmafear "8 total commits to the home-assistant organization, 8 commits to home-assistant.github.io") +- [Brahma Fear (@brahmafear)](https://github.com/brahmafear "8 total commits to the home-assistant organization, 8 commits to home-assistant.io") - [Bram Kragten (@bramkragten)](https://github.com/bramkragten "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Brandon Mathis (@imathis)](https://github.com/imathis "484 total commits to the home-assistant organization, 484 commits to home-assistant.github.io") +- [Brandon Mathis (@imathis)](https://github.com/imathis "484 total commits to the home-assistant organization, 484 commits to home-assistant.io") - [Brandon Weeks (@brandonweeks)](https://github.com/brandonweeks "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [brburns (@brburns)](https://github.com/brburns "2 total commits to the home-assistant organization, 2 commits to netdisco") -- [Brenda Wallace (@Br3nda)](https://github.com/Br3nda "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Brendon Baumgartner (@bbrendon)](https://github.com/bbrendon "11 total commits to the home-assistant organization, 11 commits to home-assistant.github.io") -- [Brent Hughes (@bah2830)](https://github.com/bah2830 "27 total commits to the home-assistant organization, 18 commits to home-assistant, 8 commits to home-assistant.github.io, 1 commit to netdisco") +- [Brenda Wallace (@Br3nda)](https://github.com/Br3nda "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Brendon Baumgartner (@bbrendon)](https://github.com/bbrendon "11 total commits to the home-assistant organization, 11 commits to home-assistant.io") +- [Brent Hughes (@bah2830)](https://github.com/bah2830 "27 total commits to the home-assistant organization, 18 commits to home-assistant, 8 commits to home-assistant.io, 1 commit to netdisco") - [Brent Kerlin (@bkerlin)](https://github.com/bkerlin "1 total commits to the home-assistant organization, 1 commit to hassio-build") -- [Brent Saltzman (@brent20)](https://github.com/brent20 "9 total commits to the home-assistant organization, 9 commits to home-assistant.github.io") -- [Brian Cribbs (@cribbstechnologies)](https://github.com/cribbstechnologies "43 total commits to the home-assistant organization, 26 commits to home-assistant, 15 commits to home-assistant.github.io, 2 commits to home-assistant-polymer") -- [Brian Fitzgerald (@Brianfit)](https://github.com/Brianfit "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Brian Hopkins (@btotharye)](https://github.com/btotharye "6 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 2 commits to home-assistant") -- [Brian J King (@brianjking)](https://github.com/brianjking "10 total commits to the home-assistant organization, 10 commits to home-assistant.github.io") +- [Brent Saltzman (@brent20)](https://github.com/brent20 "9 total commits to the home-assistant organization, 9 commits to home-assistant.io") +- [Brian Cribbs (@cribbstechnologies)](https://github.com/cribbstechnologies "43 total commits to the home-assistant organization, 26 commits to home-assistant, 15 commits to home-assistant.io, 2 commits to home-assistant-polymer") +- [Brian Hopkins (@btotharye)](https://github.com/btotharye "6 total commits to the home-assistant organization, 4 commits to home-assistant.io, 2 commits to home-assistant") +- [Brian J King (@brianjking)](https://github.com/brianjking "12 total commits to the home-assistant organization, 12 commits to home-assistant.io") - [Brian Jinwright (@bjinwright)](https://github.com/bjinwright "159 total commits to the home-assistant organization, 159 commits to warrant") -- [Britton Clapp (@britton-clapp)](https://github.com/britton-clapp "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") - [BRUH Automation (@bruhautomation)](https://github.com/bruhautomation "3 total commits to the home-assistant organization, 3 commits to hassbian-scripts") - [Bruno Adele (@badele)](https://github.com/badele "22 total commits to the home-assistant organization, 22 commits to home-assistant") - [Bruno Binet (@bbinet)](https://github.com/bbinet "1 total commits to the home-assistant organization, 1 commit to hassio-build") -- [Bryce Edwards (@hoopty)](https://github.com/hoopty "5 total commits to the home-assistant organization, 3 commits to home-assistant, 2 commits to home-assistant.github.io") -- [bvansambeek (@bvansambeek)](https://github.com/bvansambeek "1 total commits to the home-assistant organization, 1 commit to hassio-build") -- [c727 (@c727)](https://github.com/c727 "93 total commits to the home-assistant organization, 67 commits to home-assistant-polymer, 14 commits to home-assistant.github.io, 8 commits to home-assistant, 2 commits to hassio, 2 commits to developers.home-assistant") -- [Caius Cioran (@caiuspb)](https://github.com/caiuspb "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [Bryan York (@bryanyork)](https://github.com/bryanyork "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [Bryce Edwards (@hoopty)](https://github.com/hoopty "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [bvansambeek (@bvansambeek)](https://github.com/bvansambeek "4 total commits to the home-assistant organization, 3 commits to home-assistant.io, 1 commit to hassio-build") +- [c727 (@c727)](https://github.com/c727 "242 total commits to the home-assistant organization, 157 commits to home-assistant-polymer, 53 commits to home-assistant.io, 11 commits to ui-schema, 10 commits to developers.home-assistant, 9 commits to home-assistant, 2 commits to hassio") +- [Caius Seiger (@caiuspb)](https://github.com/caiuspb "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Caleb Dunn (@finish06)](https://github.com/finish06 "7 total commits to the home-assistant organization, 7 commits to home-assistant") -- [Cameron Bulock (@cbulock)](https://github.com/cbulock "5 total commits to the home-assistant organization, 2 commits to home-assistant, 2 commits to home-assistant.github.io, 1 commit to netdisco") -- [Carlo Costanzo (@CCOSTAN)](https://github.com/CCOSTAN "98 total commits to the home-assistant organization, 90 commits to home-assistant.github.io, 5 commits to home-assistant, 1 commit to hassbian-scripts, 1 commit to fabric-home-assistant, 1 commit to homebridge-homeassistant") +- [Cameron Bulock (@cbulock)](https://github.com/cbulock "3 total commits to the home-assistant organization, 2 commits to home-assistant, 1 commit to netdisco") +- [Carlo Costanzo (@CCOSTAN)](https://github.com/CCOSTAN "99 total commits to the home-assistant organization, 91 commits to home-assistant.io, 5 commits to home-assistant, 1 commit to fabric-home-assistant, 1 commit to hassbian-scripts, 1 commit to homebridge-homeassistant") - [carlosmgr (@carlosmgr)](https://github.com/carlosmgr "6 total commits to the home-assistant organization, 6 commits to home-assistant") -- [Carter (@BluGeni)](https://github.com/BluGeni "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [cdce8p (@cdce8p)](https://github.com/cdce8p "127 total commits to the home-assistant organization, 73 commits to home-assistant, 38 commits to home-assistant.github.io, 10 commits to home-assistant-polymer, 4 commits to hass-release, 2 commits to developers.home-assistant") +- [cdce8p (@cdce8p)](https://github.com/cdce8p "143 total commits to the home-assistant organization, 84 commits to home-assistant, 41 commits to home-assistant.io, 11 commits to home-assistant-polymer, 5 commits to hass-release, 2 commits to developers.home-assistant") - [Cecron (@Cecron)](https://github.com/Cecron "1 total commits to the home-assistant organization, 1 commit to appdaemon") - [Cedric Van Goethem (@Zepheus)](https://github.com/Zepheus "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [Cenk Gündoğan (@cgundogan)](https://github.com/cgundogan "1 total commits to the home-assistant organization, 1 commit to libcoap") - [Cezar Sá Espinola (@cezarsa)](https://github.com/cezarsa "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [cgtobi (@cgtobi)](https://github.com/cgtobi "28 total commits to the home-assistant organization, 17 commits to home-assistant, 11 commits to home-assistant.github.io") +- [cgtobi (@cgtobi)](https://github.com/cgtobi "32 total commits to the home-assistant organization, 19 commits to home-assistant, 13 commits to home-assistant.io") - [chanders (@chanders)](https://github.com/chanders "2 total commits to the home-assistant organization, 2 commits to hadashboard") -- [Charles Blonde (@CharlesBlonde)](https://github.com/CharlesBlonde "19 total commits to the home-assistant organization, 12 commits to home-assistant, 7 commits to home-assistant.github.io") -- [Charles Garwood (@cgarwood)](https://github.com/cgarwood "23 total commits to the home-assistant organization, 12 commits to home-assistant.github.io, 8 commits to home-assistant, 3 commits to home-assistant-polymer") -- [Charles Spirakis (@srcLurker)](https://github.com/srcLurker "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Chayoung You (@yous)](https://github.com/yous "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Charles Blonde (@CharlesBlonde)](https://github.com/CharlesBlonde "19 total commits to the home-assistant organization, 12 commits to home-assistant, 7 commits to home-assistant.io") +- [Charles Garwood (@cgarwood)](https://github.com/cgarwood "26 total commits to the home-assistant organization, 14 commits to home-assistant.io, 9 commits to home-assistant, 3 commits to home-assistant-polymer") +- [Charles Spirakis (@srcLurker)](https://github.com/srcLurker "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.io") +- [Chayoung You (@yous)](https://github.com/yous "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Check your git settings\! (@invalid-email-address)](https://github.com/invalid-email-address "1 total commits to the home-assistant organization, 1 commit to libcoap") - [Chia\-liang Kao (@clkao)](https://github.com/clkao "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Chris (@chennin)](https://github.com/chennin "15 total commits to the home-assistant organization, 11 commits to home-assistant.github.io, 4 commits to home-assistant") -- [Chris Aloi (@ctaloi)](https://github.com/ctaloi "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") +- [Chris (@chennin)](https://github.com/chennin "15 total commits to the home-assistant organization, 11 commits to home-assistant.io, 4 commits to home-assistant") - [Chris Crowe (@chriscrowe)](https://github.com/chriscrowe "3 total commits to the home-assistant organization, 3 commits to homebridge-homeassistant") - [Chris Huegle (@chuegle)](https://github.com/chuegle "1 total commits to the home-assistant organization, 1 commit to netdisco") -- [Chris Jones (@fezfox)](https://github.com/fezfox "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Chris Monteiro (@cmonteiro128)](https://github.com/cmonteiro128 "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") - [Chris Mulder (@chrisvis)](https://github.com/chrisvis "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Chris Smolen (@smolz)](https://github.com/smolz "10 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 4 commits to appdaemon") -- [Chris Thorn (@chris-thorn)](https://github.com/chris-thorn "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [ChrisLasar (@ChrisLasar)](https://github.com/ChrisLasar "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") +- [Chris Smolen (@smolz)](https://github.com/smolz "10 total commits to the home-assistant organization, 6 commits to home-assistant.io, 4 commits to appdaemon") +- [Chris Thorn (@chris-thorn)](https://github.com/chris-thorn "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") - [ChrisS85 (@ChrisS85)](https://github.com/ChrisS85 "1 total commits to the home-assistant organization, 1 commit to hassio-build") - [Christiaan Blom (@Deinara)](https://github.com/Deinara "6 total commits to the home-assistant organization, 6 commits to home-assistant") - [Christian Brædstrup (@LinuxChristian)](https://github.com/LinuxChristian "8 total commits to the home-assistant organization, 8 commits to home-assistant") -- [Christian Studer (@cstuder)](https://github.com/cstuder "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [ChristianKuehnel (@ChristianKuehnel)](https://github.com/ChristianKuehnel "39 total commits to the home-assistant organization, 23 commits to home-assistant, 16 commits to home-assistant.github.io") -- [Christoffer Kylvåg (@christoe)](https://github.com/christoe "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Christoph Wagner (@Christoph-Wagner)](https://github.com/Christoph-Wagner "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Christopher Vella (@chrisvella)](https://github.com/chrisvella "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Christopher Viel (@Chris-V)](https://github.com/Chris-V "5 total commits to the home-assistant organization, 3 commits to home-assistant, 2 commits to home-assistant.github.io") +- [Christian Studer (@cstuder)](https://github.com/cstuder "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [ChristianKuehnel (@ChristianKuehnel)](https://github.com/ChristianKuehnel "39 total commits to the home-assistant organization, 23 commits to home-assistant, 16 commits to home-assistant.io") +- [Christoph Gerneth (@c7h)](https://github.com/c7h "5 total commits to the home-assistant organization, 3 commits to home-assistant.io, 2 commits to home-assistant") +- [Christoph Wagner (@Christoph-Wagner)](https://github.com/Christoph-Wagner "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Christopher Viel (@Chris-V)](https://github.com/Chris-V "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [chrysn (@chrysn)](https://github.com/chrysn "65 total commits to the home-assistant organization, 65 commits to libcoap") - [chz^3 (@chzchzchz)](https://github.com/chzchzchz "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [Ciquattro (@CiquattroFPV)](https://github.com/CiquattroFPV "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Ciquattro (@CiquattroFPV)](https://github.com/CiquattroFPV "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [citruz (@citruz)](https://github.com/citruz "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [clach04 (@clach04)](https://github.com/clach04 "4 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 1 commit to hassbian-scripts") +- [clach04 (@clach04)](https://github.com/clach04 "4 total commits to the home-assistant organization, 3 commits to home-assistant.io, 1 commit to hassbian-scripts") - [Claus F\. Strasburger (@cfstras)](https://github.com/cfstras "5 total commits to the home-assistant organization, 5 commits to pi-gen") -- [cogneato (@cogneato)](https://github.com/cogneato "15 total commits to the home-assistant organization, 15 commits to home-assistant.github.io") +- [cogneato (@cogneato)](https://github.com/cogneato "20 total commits to the home-assistant organization, 15 commits to home-assistant.io, 3 commits to developers.home-assistant, 2 commits to hassos") - [Colin Dunn (@colindunn)](https://github.com/colindunn "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Colin Frei (@colinfrei)](https://github.com/colinfrei "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Colin O'Dell (@colinodell)](https://github.com/colinodell "27 total commits to the home-assistant organization, 16 commits to home-assistant, 11 commits to home-assistant.github.io") -- [Colin Teubner (@netopiax)](https://github.com/netopiax "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Conrad Juhl Andersen (@cnrd)](https://github.com/cnrd "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Colin Frei (@colinfrei)](https://github.com/colinfrei "5 total commits to the home-assistant organization, 3 commits to home-assistant.io, 2 commits to home-assistant") +- [Colin O'Dell (@colinodell)](https://github.com/colinodell "33 total commits to the home-assistant organization, 18 commits to home-assistant, 15 commits to home-assistant.io") +- [Colin Teubner (@netopiax)](https://github.com/netopiax "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Conrad Juhl Andersen (@cnrd)](https://github.com/cnrd "15 total commits to the home-assistant organization, 7 commits to home-assistant, 5 commits to home-assistant.io, 2 commits to home-assistant-polymer, 1 commit to developers.home-assistant") - [Constantine Grantcharov (@conz27)](https://github.com/conz27 "1 total commits to the home-assistant organization, 1 commit to libcoap") - [Constantine Poltyrev (@shprota)](https://github.com/shprota "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [Corban Mailloux (@corbanmailloux)](https://github.com/corbanmailloux "18 total commits to the home-assistant organization, 18 commits to home-assistant.github.io") -- [Corey Pauley (@devspacenine)](https://github.com/devspacenine "5 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 2 commits to home-assistant") +- [Corban Mailloux (@corbanmailloux)](https://github.com/corbanmailloux "18 total commits to the home-assistant organization, 18 commits to home-assistant.io") +- [Corey Pauley (@devspacenine)](https://github.com/devspacenine "5 total commits to the home-assistant organization, 3 commits to home-assistant.io, 2 commits to home-assistant") - [corneyl (@corneyl)](https://github.com/corneyl "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Craig J\. Ward (@wardcraigj)](https://github.com/wardcraigj "27 total commits to the home-assistant organization, 20 commits to home-assistant, 7 commits to home-assistant.github.io") +- [Craig J\. Midwinter (@craigjmidwinter)](https://github.com/craigjmidwinter "27 total commits to the home-assistant organization, 20 commits to home-assistant, 7 commits to home-assistant.io") - [CTLS (@CTLS)](https://github.com/CTLS "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [CV (@dagobert)](https://github.com/dagobert "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [CV (@dagobert)](https://github.com/dagobert "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [cxlwill (@cxlwill)](https://github.com/cxlwill "4 total commits to the home-assistant organization, 2 commits to hassbian-scripts, 2 commits to home-assistant-polymer") -- [Dale Higgs (@dale3h)](https://github.com/dale3h "37 total commits to the home-assistant organization, 25 commits to home-assistant.github.io, 10 commits to home-assistant, 1 commit to hassbot, 1 commit to homebridge-homeassistant") +- [Dale Higgs (@dale3h)](https://github.com/dale3h "45 total commits to the home-assistant organization, 32 commits to home-assistant.io, 11 commits to home-assistant, 1 commit to hassbot, 1 commit to homebridge-homeassistant") - [damarco (@damarco)](https://github.com/damarco "6 total commits to the home-assistant organization, 6 commits to home-assistant") -- [Dan (@danieljkemp)](https://github.com/danieljkemp "23 total commits to the home-assistant organization, 16 commits to home-assistant, 7 commits to home-assistant.github.io") +- [Dan (@danieljkemp)](https://github.com/danieljkemp "23 total commits to the home-assistant organization, 16 commits to home-assistant, 7 commits to home-assistant.io") - [Dan Chen (@djchen)](https://github.com/djchen "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Dan Cinnamon (@Cinntax)](https://github.com/Cinntax "17 total commits to the home-assistant organization, 14 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Dan Faulknor (@danielfaulknor)](https://github.com/danielfaulknor "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Dan Nixon (@DanNixon)](https://github.com/DanNixon "25 total commits to the home-assistant organization, 19 commits to home-assistant, 6 commits to home-assistant.github.io") +- [Dan Cinnamon (@Cinntax)](https://github.com/Cinntax "19 total commits to the home-assistant organization, 16 commits to home-assistant, 3 commits to home-assistant.io") +- [Dan Klaffenbach (@klada)](https://github.com/klada "4 total commits to the home-assistant organization, 4 commits to home-assistant") +- [Dan Nixon (@DanNixon)](https://github.com/DanNixon "25 total commits to the home-assistant organization, 19 commits to home-assistant, 6 commits to home-assistant.io") - [Dan Ports (@drkp)](https://github.com/drkp "4 total commits to the home-assistant organization, 4 commits to home-assistant") - [Dan Sarginson (@dansarginson)](https://github.com/dansarginson "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Dan Smith (@kk7ds)](https://github.com/kk7ds "84 total commits to the home-assistant organization, 68 commits to home-assistant, 14 commits to home-assistant.github.io, 2 commits to home-assistant-polymer") -- [Dan Sullivan (@dansullivan86)](https://github.com/dansullivan86 "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Dani (@danichispa)](https://github.com/danichispa "9 total commits to the home-assistant organization, 9 commits to home-assistant.github.io") -- [Daniel (@delneet)](https://github.com/delneet "2 total commits to the home-assistant organization, 2 commits to home-assistant.github.io") -- [Daniel Escoz (@Darkhogg)](https://github.com/Darkhogg "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Daniel Høyer Iversen (@Danielhiversen)](https://github.com/Danielhiversen "307 total commits to the home-assistant organization, 193 commits to home-assistant, 111 commits to home-assistant.github.io, 3 commits to home-assistant-polymer") -- [Daniel Perna (@danielperna84)](https://github.com/danielperna84 "91 total commits to the home-assistant organization, 43 commits to home-assistant, 40 commits to home-assistant.github.io, 8 commits to hassio-addons") -- [Daniel Peukert (@dpeukert)](https://github.com/dpeukert "3 total commits to the home-assistant organization, 2 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") +- [Dan Smith (@kk7ds)](https://github.com/kk7ds "84 total commits to the home-assistant organization, 68 commits to home-assistant, 14 commits to home-assistant.io, 2 commits to home-assistant-polymer") +- [Dani (@danichispa)](https://github.com/danichispa "9 total commits to the home-assistant organization, 9 commits to home-assistant.io") +- [Daniel Bowman (@vrih)](https://github.com/vrih "5 total commits to the home-assistant organization, 4 commits to home-assistant, 1 commit to netdisco") +- [Daniel Escoz (@Darkhogg)](https://github.com/Darkhogg "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Daniel Høyer Iversen (@Danielhiversen)](https://github.com/Danielhiversen "310 total commits to the home-assistant organization, 196 commits to home-assistant, 111 commits to home-assistant.io, 3 commits to home-assistant-polymer") +- [Daniel Perna (@danielperna84)](https://github.com/danielperna84 "102 total commits to the home-assistant organization, 50 commits to home-assistant, 41 commits to home-assistant.io, 11 commits to hassio-addons") +- [Daniel Peukert (@dpeukert)](https://github.com/dpeukert "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Daniel Schaal (@schaal)](https://github.com/schaal "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Daniel Shokouhi (@dshokouhi)](https://github.com/dshokouhi "12 total commits to the home-assistant organization, 12 commits to home-assistant.github.io") +- [Daniel Shokouhi (@dshokouhi)](https://github.com/dshokouhi "26 total commits to the home-assistant organization, 19 commits to home-assistant.io, 7 commits to home-assistant") - [Daniel Trnka (@trnila)](https://github.com/trnila "2 total commits to the home-assistant organization, 2 commits to appdaemon") - [Daniel Watkins (@OddBloke)](https://github.com/OddBloke "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Daniel Welch (@danielwelch)](https://github.com/danielwelch "6 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 2 commits to homebridge-homeassistant, 1 commit to hassio-addons") +- [Daniel Welch (@danielwelch)](https://github.com/danielwelch "6 total commits to the home-assistant organization, 3 commits to home-assistant.io, 2 commits to homebridge-homeassistant, 1 commit to hassio-addons") - [DanielXYZ2000 (@DanielXYZ2000)](https://github.com/DanielXYZ2000 "1 total commits to the home-assistant organization, 1 commit to hassio-addons") - [Daniyar Yeralin (@yeralin)](https://github.com/yeralin "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") -- [dasos (@dasos)](https://github.com/dasos "11 total commits to the home-assistant organization, 7 commits to home-assistant, 3 commits to home-assistant.github.io, 1 commit to netdisco") -- [datafx (@datafx)](https://github.com/datafx "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [dasos (@dasos)](https://github.com/dasos "11 total commits to the home-assistant organization, 7 commits to home-assistant, 3 commits to home-assistant.io, 1 commit to netdisco") +- [datafx (@datafx)](https://github.com/datafx "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Dave Banks (@djbanks)](https://github.com/djbanks "2 total commits to the home-assistant organization, 2 commits to appdaemon") - [Dave J (@kxtcd950)](https://github.com/kxtcd950 "3 total commits to the home-assistant organization, 3 commits to hassbian-scripts") - [DaveSergeant (@dethpickle)](https://github.com/dethpickle "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [David (@fanaticDavid)](https://github.com/fanaticDavid "16 total commits to the home-assistant organization, 12 commits to home-assistant.github.io, 3 commits to home-assistant, 1 commit to home-assistant-polymer") +- [David (@fanaticDavid)](https://github.com/fanaticDavid "16 total commits to the home-assistant organization, 12 commits to home-assistant.io, 3 commits to home-assistant, 1 commit to home-assistant-polymer") - [David Broadfoot (@dlbroadfoot)](https://github.com/dlbroadfoot "5 total commits to the home-assistant organization, 5 commits to home-assistant") -- [David De Sloovere (@DavidDeSloovere)](https://github.com/DavidDeSloovere "16 total commits to the home-assistant organization, 16 commits to home-assistant.github.io") +- [David De Sloovere (@DavidDeSloovere)](https://github.com/DavidDeSloovere "16 total commits to the home-assistant organization, 16 commits to home-assistant.io") - [David F\. Mulcahey (@dmulcahey)](https://github.com/dmulcahey "5 total commits to the home-assistant organization, 5 commits to home-assistant") - [David Fiel (@dfiel)](https://github.com/dfiel "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [David Grant (@davegravy)](https://github.com/davegravy "6 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 2 commits to home-assistant") -- [David McNett (@nugget)](https://github.com/nugget "10 total commits to the home-assistant organization, 5 commits to home-assistant.github.io, 5 commits to home-assistant") +- [David Grant (@davegravy)](https://github.com/davegravy "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [David McNett (@nugget)](https://github.com/nugget "10 total commits to the home-assistant organization, 5 commits to home-assistant.io, 5 commits to home-assistant") - [David Ohayon (@ohayon)](https://github.com/ohayon "3 total commits to the home-assistant organization, 3 commits to issue-bot") -- [David Straub (@DavidMStraub)](https://github.com/DavidMStraub "9 total commits to the home-assistant organization, 5 commits to home-assistant, 4 commits to home-assistant.github.io") +- [David Steele (@davesteele)](https://github.com/davesteele "4 total commits to the home-assistant organization, 4 commits to pi-gen") +- [David Straub (@DavidMStraub)](https://github.com/DavidMStraub "10 total commits to the home-assistant organization, 6 commits to home-assistant, 4 commits to home-assistant.io") - [David Wang (@dcwangmit01)](https://github.com/dcwangmit01 "2 total commits to the home-assistant organization, 2 commits to pi-gen") -- [David Worsham (@arbreng)](https://github.com/arbreng "1 total commits to the home-assistant organization, 1 commit to hassio-build") +- [David Worsham (@arbreng)](https://github.com/arbreng "2 total commits to the home-assistant organization, 2 commits to hassio-build") - [David\-Leon Pohl (@DavidLP)](https://github.com/DavidLP "13 total commits to the home-assistant organization, 13 commits to home-assistant") -- [davidedmundson (@davidedmundson)](https://github.com/davidedmundson "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Dawid Wróbel (@wrobelda)](https://github.com/wrobelda "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Dean Camera (@abcminiuser)](https://github.com/abcminiuser "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [davidedmundson (@davidedmundson)](https://github.com/davidedmundson "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") +- [Dawid Wróbel (@wrobelda)](https://github.com/wrobelda "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") - [deisi (@deisi)](https://github.com/deisi "10 total commits to the home-assistant organization, 10 commits to home-assistant") - [Delio Castillo (@jangeador)](https://github.com/jangeador "2 total commits to the home-assistant organization, 2 commits to hassio-addons") -- [Demid Lupin (@lupin-de-mid)](https://github.com/lupin-de-mid "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Dennis de Greef (@dennisdegreef)](https://github.com/dennisdegreef "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [Demid Lupin (@lupin-de-mid)](https://github.com/lupin-de-mid "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Dennis Karpienski (@TheRealLink)](https://github.com/TheRealLink "22 total commits to the home-assistant organization, 15 commits to home-assistant-polymer, 6 commits to home-assistant, 1 commit to netdisco") -- [Derek (@itchaboy)](https://github.com/itchaboy "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Derek Brooks (@broox)](https://github.com/broox "39 total commits to the home-assistant organization, 30 commits to home-assistant, 9 commits to home-assistant.github.io") +- [Derek (@itchaboy)](https://github.com/itchaboy "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Derek Brooks (@broox)](https://github.com/broox "39 total commits to the home-assistant organization, 30 commits to home-assistant, 9 commits to home-assistant.io") - [dersger (@dersger)](https://github.com/dersger "4 total commits to the home-assistant organization, 3 commits to home-assistant, 1 commit to home-assistant-polymer") -- [devdelay (@devdelay)](https://github.com/devdelay "16 total commits to the home-assistant organization, 7 commits to home-assistant.github.io, 5 commits to home-assistant, 4 commits to homebridge-homeassistant") -- [Devon Peet (@dpeet)](https://github.com/dpeet "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Diogo Gomes (@dgomes)](https://github.com/dgomes "54 total commits to the home-assistant organization, 35 commits to home-assistant, 19 commits to home-assistant.github.io") +- [DetroitEE (@DetroitEE)](https://github.com/DetroitEE "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [devdelay (@devdelay)](https://github.com/devdelay "16 total commits to the home-assistant organization, 7 commits to home-assistant.io, 5 commits to home-assistant, 4 commits to homebridge-homeassistant") +- [Devon Peet (@dpeet)](https://github.com/dpeet "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Diogo Gomes (@dgomes)](https://github.com/dgomes "70 total commits to the home-assistant organization, 46 commits to home-assistant, 23 commits to home-assistant.io, 1 commit to developers.home-assistant") +- [Dmitri Pribysh (@dmand)](https://github.com/dmand "1 total commits to the home-assistant organization, 1 commit to hassos") - [Domantas (@Dohxis)](https://github.com/Dohxis "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Dougal Matthews (@d0ugal)](https://github.com/d0ugal "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [dramamoose (@dramamoose)](https://github.com/dramamoose "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") -- [DrewSK (@dzsquared)](https://github.com/dzsquared "8 total commits to the home-assistant organization, 8 commits to home-assistant.github.io") -- [DubhAd (@DubhAd)](https://github.com/DubhAd "260 total commits to the home-assistant organization, 260 commits to home-assistant.github.io") -- [Duoxilian (@Duoxilian)](https://github.com/Duoxilian "11 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 5 commits to home-assistant") +- [dramamoose (@dramamoose)](https://github.com/dramamoose "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") +- [DrewSK (@dzsquared)](https://github.com/dzsquared "8 total commits to the home-assistant organization, 8 commits to home-assistant.io") +- [DubhAd (@DubhAd)](https://github.com/DubhAd "395 total commits to the home-assistant organization, 392 commits to home-assistant.io, 2 commits to hassos, 1 commit to developers.home-assistant") +- [Duoxilian (@Duoxilian)](https://github.com/Duoxilian "11 total commits to the home-assistant organization, 6 commits to home-assistant.io, 5 commits to home-assistant") - [ebpetway (@ebpetway)](https://github.com/ebpetway "55 total commits to the home-assistant organization, 55 commits to warrant") -- [Edwin Smulders (@Dutchy-)](https://github.com/Dutchy- "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Egor Tsinko (@etsinko)](https://github.com/etsinko "12 total commits to the home-assistant organization, 9 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Egor Tsinko (@etsinko)](https://github.com/etsinko "12 total commits to the home-assistant organization, 9 commits to home-assistant, 3 commits to home-assistant.io") - [Eitan Mosenkis (@emosenkis)](https://github.com/emosenkis "4 total commits to the home-assistant organization, 3 commits to home-assistant, 1 commit to netdisco") - [eldanb (@eldanb)](https://github.com/eldanb "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") -- [Eleftherios Chamakiotis (@lexam79)](https://github.com/lexam79 "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Ellis Percival (@flyte)](https://github.com/flyte "29 total commits to the home-assistant organization, 25 commits to home-assistant, 4 commits to home-assistant.github.io") -- [endor-force (@endor-force)](https://github.com/endor-force "10 total commits to the home-assistant organization, 5 commits to hassio-addons, 4 commits to home-assistant.github.io, 1 commit to hassio-build") +- [Ellis Percival (@flyte)](https://github.com/flyte "29 total commits to the home-assistant organization, 25 commits to home-assistant, 4 commits to home-assistant.io") - [engrbm87 (@engrbm87)](https://github.com/engrbm87 "3 total commits to the home-assistant organization, 3 commits to appdaemon") - [Eric Hagan (@ehagan)](https://github.com/ehagan "4 total commits to the home-assistant organization, 3 commits to home-assistant, 1 commit to home-assistant-polymer") -- [Eric Oosting (@eoosting)](https://github.com/eoosting "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Eric Oosting (@eoosting)](https://github.com/eoosting "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Eric Rolf (@xrolfex)](https://github.com/xrolfex "13 total commits to the home-assistant organization, 13 commits to home-assistant") -- [Erik Eriksson (@molobrakos)](https://github.com/molobrakos "116 total commits to the home-assistant organization, 100 commits to home-assistant, 13 commits to home-assistant.github.io, 3 commits to netdisco") -- [Erik\-jan Riemers (@riemers)](https://github.com/riemers "14 total commits to the home-assistant organization, 13 commits to home-assistant.github.io, 1 commit to hassbian-scripts") +- [Erik Eriksson (@molobrakos)](https://github.com/molobrakos "116 total commits to the home-assistant organization, 100 commits to home-assistant, 13 commits to home-assistant.io, 3 commits to netdisco") +- [Erik\-jan Riemers (@riemers)](https://github.com/riemers "14 total commits to the home-assistant organization, 13 commits to home-assistant.io, 1 commit to hassbian-scripts") - [escoand (@escoand)](https://github.com/escoand "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to netdisco") - [ettisan (@ettisan)](https://github.com/ettisan "8 total commits to the home-assistant organization, 8 commits to home-assistant") -- [Eu (@covrig)](https://github.com/covrig "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Eugenio Panadero (@azogue)](https://github.com/azogue "76 total commits to the home-assistant organization, 45 commits to home-assistant, 25 commits to home-assistant.github.io, 3 commits to homebridge-homeassistant, 3 commits to home-assistant-polymer") +- [Eu (@covrig)](https://github.com/covrig "2 total commits to the home-assistant organization, 2 commits to home-assistant-polymer") +- [Eugenio Panadero (@azogue)](https://github.com/azogue "77 total commits to the home-assistant organization, 46 commits to home-assistant, 25 commits to home-assistant.io, 3 commits to homebridge-homeassistant, 3 commits to home-assistant-polymer") - [Ezra Bowden (@bn0)](https://github.com/bn0 "2 total commits to the home-assistant organization, 2 commits to warrant") -- [Fabian Affolter (@fabaff)](https://github.com/fabaff "4735 total commits to the home-assistant organization, 2996 commits to home-assistant.github.io, 1621 commits to home-assistant, 32 commits to home-assistant-assets, 31 commits to home-assistant-notebooks, 11 commits to home-assistant-polymer, 11 commits to hassio-build, 8 commits to netdisco, 7 commits to developers.home-assistant, 5 commits to hassio-addons, 4 commits to hassio, 3 commits to hassos, 2 commits to hass-release, 2 commits to home-assistant-iOS, 1 commit to home-assistant-js-websocket, 1 commit to example-custom-config") +- [Fabian Affolter (@fabaff)](https://github.com/fabaff "4889 total commits to the home-assistant organization, 3055 commits to home-assistant.io, 1697 commits to home-assistant, 33 commits to home-assistant-assets, 32 commits to home-assistant-notebooks, 15 commits to developers.home-assistant, 11 commits to home-assistant-polymer, 11 commits to hassio-build, 10 commits to netdisco, 7 commits to hassos, 6 commits to hassio-addons, 4 commits to hassio, 3 commits to hass-release, 2 commits to home-assistant-iOS, 1 commit to example-custom-config, 1 commit to ui-schema, 1 commit to home-assistant-js-websocket") +- [Fabian Fischer (@nodomain)](https://github.com/nodomain "1 total commits to the home-assistant organization, 1 commit to hassio-addons") - [Fabian Heredia Montiel (@fabianhjr)](https://github.com/fabianhjr "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Fabien Piuzzi (@reefab)](https://github.com/reefab "3 total commits to the home-assistant organization, 2 commits to home-assistant, 1 commit to home-assistant-polymer") -- [Fabrizio Furnari (@fabfurnari)](https://github.com/fabfurnari "5 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 2 commits to home-assistant") +- [Fabien Piuzzi (@reefab)](https://github.com/reefab "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") +- [Fabrizio Furnari (@fabfurnari)](https://github.com/fabfurnari "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [fakezeta (@fakezeta)](https://github.com/fakezeta "7 total commits to the home-assistant organization, 7 commits to home-assistant") -- [Felix (@xifle)](https://github.com/xifle "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [Felix Krause (@KrauseFx)](https://github.com/KrauseFx "27 total commits to the home-assistant organization, 27 commits to issue-bot") -- [Ferry van Zeelst (@StaticCube)](https://github.com/StaticCube "6 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 2 commits to home-assistant") +- [Fernando (@ferazambuja)](https://github.com/ferazambuja "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Ferry van Zeelst (@StaticCube)](https://github.com/StaticCube "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Finbarr Brady (@fbradyirl)](https://github.com/fbradyirl "8 total commits to the home-assistant organization, 8 commits to home-assistant") -- [Florian Holzapfel (@florianholzapfel)](https://github.com/florianholzapfel "11 total commits to the home-assistant organization, 4 commits to home-assistant, 4 commits to home-assistant.github.io, 3 commits to netdisco") -- [Florian Klien (@flowolf)](https://github.com/flowolf "17 total commits to the home-assistant organization, 14 commits to home-assistant.github.io, 3 commits to home-assistant") +- [Florian Holzapfel (@florianholzapfel)](https://github.com/florianholzapfel "7 total commits to the home-assistant organization, 4 commits to home-assistant.io, 3 commits to netdisco") +- [Florian Klien (@flowolf)](https://github.com/flowolf "17 total commits to the home-assistant organization, 14 commits to home-assistant.io, 3 commits to home-assistant") - [florianj1 (@florianj1)](https://github.com/florianj1 "1 total commits to the home-assistant organization, 1 commit to hassio") -- [florincosta (@florincosta)](https://github.com/florincosta "6 total commits to the home-assistant organization, 3 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Fonta (@f0nt4)](https://github.com/f0nt4 "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Franck Nijhof (@frenck)](https://github.com/frenck "34 total commits to the home-assistant organization, 22 commits to home-assistant.github.io, 6 commits to hassio, 2 commits to hassio-addons, 2 commits to home-assistant-polymer, 1 commit to hassio-cli, 1 commit to appdaemon") +- [florincosta (@florincosta)](https://github.com/florincosta "6 total commits to the home-assistant organization, 3 commits to home-assistant, 3 commits to home-assistant.io") +- [Fonta (@f0nt4)](https://github.com/f0nt4 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Franck Nijhof (@frenck)](https://github.com/frenck "44 total commits to the home-assistant organization, 31 commits to home-assistant.io, 6 commits to hassio, 2 commits to hassio-cli, 2 commits to hassio-addons, 2 commits to home-assistant-polymer, 1 commit to appdaemon") - [Frank (@syphernl)](https://github.com/syphernl "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Frantz (@rofrantz)](https://github.com/rofrantz "17 total commits to the home-assistant organization, 9 commits to home-assistant, 4 commits to home-assistant.github.io, 3 commits to netdisco, 1 commit to home-assistant-js-websocket") -- [Frederic Hemberger (@fhemberger)](https://github.com/fhemberger "93 total commits to the home-assistant organization, 93 commits to home-assistant.github.io") +- [Frantz (@rofrantz)](https://github.com/rofrantz "17 total commits to the home-assistant organization, 9 commits to home-assistant, 4 commits to home-assistant.io, 3 commits to netdisco, 1 commit to home-assistant-js-websocket") +- [Frederic Hemberger (@fhemberger)](https://github.com/fhemberger "93 total commits to the home-assistant organization, 93 commits to home-assistant.io") - [Frederik Bolding (@FrederikBolding)](https://github.com/FrederikBolding "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Fredrik Lindqvist (@Landrash)](https://github.com/Landrash "214 total commits to the home-assistant organization, 102 commits to hassbian-scripts, 73 commits to home-assistant.github.io, 34 commits to pi-gen, 4 commits to home-assistant, 1 commit to home-assistant-polymer") +- [Fredrik Lindqvist (@Landrash)](https://github.com/Landrash "224 total commits to the home-assistant organization, 110 commits to hassbian-scripts, 73 commits to home-assistant.io, 36 commits to pi-gen, 4 commits to home-assistant, 1 commit to home-assistant-polymer") - [freol35241 (@freol35241)](https://github.com/freol35241 "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [fuga2136 (@fuga2136)](https://github.com/fuga2136 "13 total commits to the home-assistant organization, 13 commits to home-assistant.github.io") -- [Gabor SZOLLOSI (@szogi)](https://github.com/szogi "3 total commits to the home-assistant organization, 2 commits to home-assistant, 1 commit to appdaemon") -- [GadgetReactor (@GadgetReactor)](https://github.com/GadgetReactor "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [fuga2136 (@fuga2136)](https://github.com/fuga2136 "13 total commits to the home-assistant organization, 13 commits to home-assistant.io") +- [Gabor SZOLLOSI (@szogi)](https://github.com/szogi "1 total commits to the home-assistant organization, 1 commit to appdaemon") +- [Gabriel Oliveira (@gabrielboliveira)](https://github.com/gabrielboliveira "2 total commits to the home-assistant organization, 1 commit to hassos, 1 commit to hassio-addons") - [Geoff Norton (@kangaroo)](https://github.com/kangaroo "14 total commits to the home-assistant organization, 14 commits to home-assistant") -- [George\.M (@nodinosaur)](https://github.com/nodinosaur "8 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 2 commits to home-assistant") -- [Georgi Kirichkov (@kirichkov)](https://github.com/kirichkov "17 total commits to the home-assistant organization, 11 commits to home-assistant.github.io, 5 commits to home-assistant, 1 commit to appdaemon") -- [Georgi Yanev (@jumpalottahigh)](https://github.com/jumpalottahigh "6 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 2 commits to home-assistant-polymer") +- [George\.M (@nodinosaur)](https://github.com/nodinosaur "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") +- [Georgi Kirichkov (@kirichkov)](https://github.com/kirichkov "17 total commits to the home-assistant organization, 11 commits to home-assistant.io, 5 commits to home-assistant, 1 commit to appdaemon") +- [Georgi Yanev (@jumpalottahigh)](https://github.com/jumpalottahigh "6 total commits to the home-assistant organization, 4 commits to home-assistant.io, 2 commits to home-assistant-polymer") - [Georgii Staroselskii (@staroselskii)](https://github.com/staroselskii "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [Gerard (@gerard33)](https://github.com/gerard33 "12 total commits to the home-assistant organization, 6 commits to home-assistant, 6 commits to home-assistant.github.io") -- [Gergely Imreh (@imrehg)](https://github.com/imrehg "16 total commits to the home-assistant organization, 11 commits to home-assistant, 5 commits to home-assistant.github.io") -- [Gianluca Barbaro (@MrMep)](https://github.com/MrMep "24 total commits to the home-assistant organization, 16 commits to home-assistant, 8 commits to home-assistant.github.io") -- [Giel Janssens (@gieljnssns)](https://github.com/gieljnssns "4 total commits to the home-assistant organization, 4 commits to home-assistant") +- [Gerard (@gerard33)](https://github.com/gerard33 "12 total commits to the home-assistant organization, 6 commits to home-assistant.io, 6 commits to home-assistant") +- [Gergely Imreh (@imrehg)](https://github.com/imrehg "16 total commits to the home-assistant organization, 11 commits to home-assistant, 5 commits to home-assistant.io") +- [Gianluca Barbaro (@MrMep)](https://github.com/MrMep "24 total commits to the home-assistant organization, 16 commits to home-assistant, 8 commits to home-assistant.io") +- [Giel Janssens (@gieljnssns)](https://github.com/gieljnssns "5 total commits to the home-assistant organization, 5 commits to home-assistant") +- [gillkyle (@gillkyle)](https://github.com/gillkyle "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") - [GitBook Bot (@gitbook-bot)](https://github.com/gitbook-bot "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") -- [githubbuh (@githubbuh)](https://github.com/githubbuh "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [gitmopp (@gitmopp)](https://github.com/gitmopp "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Giuseppe (@glpatcern)](https://github.com/glpatcern "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [GMFalka (@GMFalka)](https://github.com/GMFalka "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [githubbuh (@githubbuh)](https://github.com/githubbuh "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [gitmopp (@gitmopp)](https://github.com/gitmopp "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Giuseppe (@glpatcern)](https://github.com/glpatcern "4 total commits to the home-assistant organization, 4 commits to home-assistant") +- [Glenn Waters (@gwww)](https://github.com/gwww "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") +- [GMFalka (@GMFalka)](https://github.com/GMFalka "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Gopal Kildoliya (@gopalkildoliya)](https://github.com/gopalkildoliya "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [GotoCode (@GotoCode)](https://github.com/GotoCode "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [Grant McConnaughey (@grantmcconnaughey)](https://github.com/grantmcconnaughey "8 total commits to the home-assistant organization, 8 commits to warrant") -- [GreenTurtwig (@GreenTurtwig)](https://github.com/GreenTurtwig "80 total commits to the home-assistant organization, 75 commits to home-assistant.github.io, 5 commits to home-assistant") -- [Greg Dowling (@pavoni)](https://github.com/pavoni "256 total commits to the home-assistant organization, 229 commits to home-assistant, 25 commits to home-assistant.github.io, 2 commits to netdisco") -- [Greg Laabs (@OverloadUT)](https://github.com/OverloadUT "17 total commits to the home-assistant organization, 14 commits to home-assistant, 3 commits to home-assistant.github.io") +- [GreenTurtwig (@GreenTurtwig)](https://github.com/GreenTurtwig "80 total commits to the home-assistant organization, 75 commits to home-assistant.io, 5 commits to home-assistant") +- [Greg Dowling (@pavoni)](https://github.com/pavoni "209 total commits to the home-assistant organization, 183 commits to home-assistant, 25 commits to home-assistant.io, 1 commit to netdisco") +- [Greg Laabs (@OverloadUT)](https://github.com/OverloadUT "20 total commits to the home-assistant organization, 16 commits to home-assistant, 4 commits to home-assistant.io") - [Greg MacLellan (@gregmac)](https://github.com/gregmac "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [Greg Stevenson (@gstevenson)](https://github.com/gstevenson "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Greg\. A\. (@gautric)](https://github.com/gautric "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [Greg Stevenson (@gstevenson)](https://github.com/gstevenson "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Gregory Benner (@Klathmon)](https://github.com/Klathmon "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [GTH (@gunnarhelgason)](https://github.com/gunnarhelgason "2 total commits to the home-assistant organization, 2 commits to appdaemon") - [Guillaume Rischard (@grischard)](https://github.com/grischard "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Gustav Ahlberg (@Gyran)](https://github.com/Gyran "20 total commits to the home-assistant organization, 20 commits to home-assistant") +- [Guy Parisi (@Guyanthalas)](https://github.com/Guyanthalas "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") - [gwendalg (@gwendalg)](https://github.com/gwendalg "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [happyleavesaoc (@happyleavesaoc)](https://github.com/happyleavesaoc "114 total commits to the home-assistant organization, 90 commits to home-assistant, 23 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") +- [Hans Bakker (@hansmbakker)](https://github.com/hansmbakker "5 total commits to the home-assistant organization, 5 commits to home-assistant") +- [hanzoh (@hanzoh)](https://github.com/hanzoh "4 total commits to the home-assistant organization, 4 commits to home-assistant") +- [happyleavesaoc (@happyleavesaoc)](https://github.com/happyleavesaoc "114 total commits to the home-assistant organization, 90 commits to home-assistant, 23 commits to home-assistant.io, 1 commit to home-assistant-polymer") - [Harald Nagel (@haraldnagel)](https://github.com/haraldnagel "6 total commits to the home-assistant organization, 6 commits to home-assistant") -- [Harris Borawski (@hborawski)](https://github.com/hborawski "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [hawk259 (@hawk259)](https://github.com/hawk259 "13 total commits to the home-assistant organization, 7 commits to home-assistant, 5 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") +- [Hate-Usernames (@Hate-Usernames)](https://github.com/Hate-Usernames "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [hawk259 (@hawk259)](https://github.com/hawk259 "13 total commits to the home-assistant organization, 7 commits to home-assistant, 5 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [hcooper (@hcooper)](https://github.com/hcooper "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") - [Heath Paddock (@heathbar)](https://github.com/heathbar "6 total commits to the home-assistant organization, 6 commits to home-assistant") -- [Heiko Rothe (@mKeRix)](https://github.com/mKeRix "20 total commits to the home-assistant organization, 15 commits to home-assistant, 5 commits to home-assistant.github.io") -- [Heiko Thiery (@hthiery)](https://github.com/hthiery "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Heiko Rothe (@mKeRix)](https://github.com/mKeRix "20 total commits to the home-assistant organization, 15 commits to home-assistant, 5 commits to home-assistant.io") +- [Heiko Thiery (@hthiery)](https://github.com/hthiery "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") - [Hellowlol (@Hellowlol)](https://github.com/Hellowlol "4 total commits to the home-assistant organization, 3 commits to netdisco, 1 commit to appdaemon") - [Helmut Januschka (@hjanuschka)](https://github.com/hjanuschka "3 total commits to the home-assistant organization, 3 commits to issue-bot") -- [Henning Dickten (@hensing)](https://github.com/hensing "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Henrik Nicolaisen (@hmn)](https://github.com/hmn "8 total commits to the home-assistant organization, 8 commits to home-assistant") -- [Hernán Rossetto (@hmronline)](https://github.com/hmronline "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [heytcass (@heytcass)](https://github.com/heytcass "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Hillary Fraley (@hillaryfraley)](https://github.com/hillaryfraley "12 total commits to the home-assistant organization, 12 commits to home-assistant.github.io") +- [Henrik Nicolaisen (@hmn)](https://github.com/hmn "6 total commits to the home-assistant organization, 6 commits to home-assistant") +- [heytcass (@heytcass)](https://github.com/heytcass "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Hillary Fraley (@hillaryfraley)](https://github.com/hillaryfraley "12 total commits to the home-assistant organization, 12 commits to home-assistant.io") +- [Hmmbob (@hmmbob)](https://github.com/hmmbob "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [honcheng (@honcheng)](https://github.com/honcheng "2 total commits to the home-assistant organization, 2 commits to homebridge-homeassistant") -- [Hugo Dupras (@jabesq)](https://github.com/jabesq "28 total commits to the home-assistant organization, 20 commits to home-assistant, 8 commits to home-assistant.github.io") -- [Hugo Gresse (@HugoGresse)](https://github.com/HugoGresse "8 total commits to the home-assistant organization, 8 commits to home-assistant.github.io") +- [huangyupeng (@huangyupeng)](https://github.com/huangyupeng "14 total commits to the home-assistant organization, 7 commits to home-assistant.io, 7 commits to home-assistant") +- [Hugo Dupras (@jabesq)](https://github.com/jabesq "29 total commits to the home-assistant organization, 21 commits to home-assistant, 8 commits to home-assistant.io") +- [Hugo Gresse (@HugoGresse)](https://github.com/HugoGresse "8 total commits to the home-assistant organization, 8 commits to home-assistant.io") +- [Hugo Hromic (@hhromic)](https://github.com/hhromic "4 total commits to the home-assistant organization, 4 commits to pi-gen") - [Hung Le (@hungle)](https://github.com/hungle "1 total commits to the home-assistant organization, 1 commit to libcoap") -- [Hydreliox (@HydrelioxGitHub)](https://github.com/HydrelioxGitHub "46 total commits to the home-assistant organization, 34 commits to home-assistant, 12 commits to home-assistant.github.io") +- [Hydreliox (@HydrelioxGitHub)](https://github.com/HydrelioxGitHub "46 total commits to the home-assistant organization, 34 commits to home-assistant, 12 commits to home-assistant.io") - [Ian Copp (@icopp)](https://github.com/icopp "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [ianj001 (@ianj001)](https://github.com/ianj001 "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [icovada (@icovada)](https://github.com/icovada "6 total commits to the home-assistant organization, 3 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Igor Bernstein (@igorbernstein2)](https://github.com/igorbernstein2 "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Igor Shults (@ishults)](https://github.com/ishults "12 total commits to the home-assistant organization, 6 commits to home-assistant, 5 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") -- [Ioan Loosley (@ioangogo)](https://github.com/ioangogo "10 total commits to the home-assistant organization, 10 commits to home-assistant.github.io") +- [Ian Richardson (@iantrich)](https://github.com/iantrich "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") +- [ianj001 (@ianj001)](https://github.com/ianj001 "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") +- [icovada (@icovada)](https://github.com/icovada "6 total commits to the home-assistant organization, 3 commits to home-assistant, 3 commits to home-assistant.io") +- [Igor Shults (@ishults)](https://github.com/ishults "12 total commits to the home-assistant organization, 6 commits to home-assistant, 5 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [Ioan Loosley (@ioangogo)](https://github.com/ioangogo "11 total commits to the home-assistant organization, 11 commits to home-assistant.io") - [Issac Kelly (@issackelly)](https://github.com/issackelly "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [Jaak Laineste (@jaakla)](https://github.com/jaakla "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Jacen (@jacen92)](https://github.com/jacen92 "2 total commits to the home-assistant organization, 2 commits to pi-gen") -- [Jack (@squeepip)](https://github.com/squeepip "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [jack (@jackmakesthings)](https://github.com/jackmakesthings "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Jack Fan (@JackWindows)](https://github.com/JackWindows "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [jack (@jackmakesthings)](https://github.com/jackmakesthings "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Jack (@jackjohnsonuk)](https://github.com/jackjohnsonuk "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") - [Jack Minardi (@jminardi)](https://github.com/jminardi "8 total commits to the home-assistant organization, 8 commits to home-assistant") - [Jacob Mansfield (@cyberjacob)](https://github.com/cyberjacob "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Jacob Minnis (@jminn)](https://github.com/jminn "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [Jacob Siverskog (@jsiverskog)](https://github.com/jsiverskog "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [Jacob Tomlinson (@jacobtomlinson)](https://github.com/jacobtomlinson "6 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 2 commits to home-assistant") +- [Jacob Tomlinson (@jacobtomlinson)](https://github.com/jacobtomlinson "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Jaimyn Mayer (@jabelone)](https://github.com/jabelone "1 total commits to the home-assistant organization, 1 commit to hassbian-scripts") - [Jakub Bittner (@rexcze)](https://github.com/rexcze "2 total commits to the home-assistant organization, 2 commits to home-assistant-polymer") - [James Cole (@jamespcole)](https://github.com/jamespcole "94 total commits to the home-assistant organization, 93 commits to home-assistant, 1 commit to home-assistant-js") -- [James Marsh (@doctorjames)](https://github.com/doctorjames "2 total commits to the home-assistant organization, 2 commits to home-assistant") - [James Ruan (@jamesruan)](https://github.com/jamesruan "2 total commits to the home-assistant organization, 2 commits to pi-gen") - [Jamie van Dyke (@fearoffish)](https://github.com/fearoffish "1 total commits to the home-assistant organization, 1 commit to home-assistant-iOS") -- [JammyDodger231 (@JammyDodger231)](https://github.com/JammyDodger231 "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") +- [JammyDodger231 (@JammyDodger231)](https://github.com/JammyDodger231 "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") - [Jan Almeroth (@jalmeroth)](https://github.com/jalmeroth "6 total commits to the home-assistant organization, 5 commits to home-assistant, 1 commit to home-assistant-polymer") - [Jan Harkes (@jaharkes)](https://github.com/jaharkes "110 total commits to the home-assistant organization, 100 commits to home-assistant, 10 commits to netdisco") -- [Jan Losinski (@janLo)](https://github.com/janLo "21 total commits to the home-assistant organization, 16 commits to home-assistant, 5 commits to home-assistant.github.io") -- [Jan Pobořil (@iBobik)](https://github.com/iBobik "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Jan Willhaus (@janwh)](https://github.com/janwh "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Jan Losinski (@janLo)](https://github.com/janLo "21 total commits to the home-assistant organization, 16 commits to home-assistant, 5 commits to home-assistant.io") +- [Jan Pobořil (@iBobik)](https://github.com/iBobik "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Jan Willhaus (@janw)](https://github.com/janw "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Janne Grunau (@jannau)](https://github.com/jannau "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Jared Beckham (@jtbeckha)](https://github.com/jtbeckha "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Jared J\. (@jjensn)](https://github.com/jjensn "1 total commits to the home-assistant organization, 1 commit to netdisco") -- [Jason Carter (@JasonCarter80)](https://github.com/JasonCarter80 "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Jason Carter (@JasonCarter80)](https://github.com/JasonCarter80 "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") - [Jason Hite (@jasonmhite)](https://github.com/jasonmhite "6 total commits to the home-assistant organization, 6 commits to appdaemon") -- [Jason Hu (@awarecan)](https://github.com/awarecan "5 total commits to the home-assistant organization, 4 commits to home-assistant, 1 commit to developers.home-assistant") -- [Javier Gonel (@graffic)](https://github.com/graffic "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Javier González Calleja (@gonzalezcalleja)](https://github.com/gonzalezcalleja "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Jay Stevens (@Jay2645)](https://github.com/Jay2645 "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Jason Hu (@awarecan)](https://github.com/awarecan "92 total commits to the home-assistant organization, 62 commits to home-assistant, 12 commits to home-assistant-polymer, 11 commits to home-assistant.io, 6 commits to developers.home-assistant, 1 commit to home-assistant-js-websocket") +- [Jason Hunter (@hunterjm)](https://github.com/hunterjm "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") +- [Jay Stevens (@Jay2645)](https://github.com/Jay2645 "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [JAYMAN-ATX (@JAYMAN-ATX)](https://github.com/JAYMAN-ATX "2 total commits to the home-assistant organization, 2 commits to homebridge-homeassistant") -- [JC Connell (@jcconnell)](https://github.com/jcconnell "7 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 3 commits to home-assistant") -- [Jean Regisser (@jeanregisser)](https://github.com/jeanregisser "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [JC Connell (@jcconnell)](https://github.com/jcconnell "12 total commits to the home-assistant organization, 7 commits to home-assistant.io, 5 commits to home-assistant") - [Jean\-Michel Julien (@KurdyMalloy)](https://github.com/KurdyMalloy "1 total commits to the home-assistant organization, 1 commit to libcoap") -- [Jean\-Philippe Bouillot (@Jypy)](https://github.com/Jypy "2 total commits to the home-assistant organization, 2 commits to home-assistant") -- [Jeff McGehee (@jlmcgehee21)](https://github.com/jlmcgehee21 "2 total commits to the home-assistant organization, 2 commits to home-assistant") +- [Jeepers Creepers (@jjensn)](https://github.com/jjensn "1 total commits to the home-assistant organization, 1 commit to netdisco") - [Jeff Schroeder (@SEJeff)](https://github.com/SEJeff "17 total commits to the home-assistant organization, 17 commits to home-assistant") -- [Jeff Wilson (@jawilson)](https://github.com/jawilson "24 total commits to the home-assistant organization, 19 commits to home-assistant, 5 commits to home-assistant.github.io") -- [Jens (@jhoepken)](https://github.com/jhoepken "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Jens Østergaard Nielsen (@dingusdk)](https://github.com/dingusdk "7 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 3 commits to home-assistant") -- [Jerad Meisner (@jeradM)](https://github.com/jeradM "7 total commits to the home-assistant organization, 7 commits to home-assistant") -- [Jeremiah Wuenschel (@jer)](https://github.com/jer "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Jeremy Williams (@jwillaz)](https://github.com/jwillaz "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [jeremysv (@jeremysv)](https://github.com/jeremysv "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Jeroen ter Heerdt (@jeroenterheerdt)](https://github.com/jeroenterheerdt "36 total commits to the home-assistant organization, 20 commits to home-assistant, 16 commits to home-assistant.github.io") -- [Jerold Albertson (@jeroldalbertson-wf)](https://github.com/jeroldalbertson-wf "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Jerry Workman (@JerryWorkman)](https://github.com/JerryWorkman "8 total commits to the home-assistant organization, 8 commits to home-assistant.github.io") +- [Jeff Wilson (@jawilson)](https://github.com/jawilson "25 total commits to the home-assistant organization, 19 commits to home-assistant, 6 commits to home-assistant.io") +- [Jens (@jhoepken)](https://github.com/jhoepken "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Jens Østergaard Nielsen (@dingusdk)](https://github.com/dingusdk "8 total commits to the home-assistant organization, 4 commits to home-assistant.io, 4 commits to home-assistant") +- [Jerad Meisner (@jeradM)](https://github.com/jeradM "52 total commits to the home-assistant organization, 30 commits to home-assistant-polymer, 11 commits to home-assistant.io, 11 commits to home-assistant") +- [Jeremiah Wuenschel (@jer)](https://github.com/jer "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Jeremy Williams (@jwillaz)](https://github.com/jwillaz "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [jeremysv (@jeremysv)](https://github.com/jeremysv "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Jeroen ter Heerdt (@jeroenterheerdt)](https://github.com/jeroenterheerdt "37 total commits to the home-assistant organization, 20 commits to home-assistant, 17 commits to home-assistant.io") +- [Jerold Albertson (@jeroldalbertson-wf)](https://github.com/jeroldalbertson-wf "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Jerry Workman (@JerryWorkman)](https://github.com/JerryWorkman "9 total commits to the home-assistant organization, 9 commits to home-assistant.io") - [Jesse Hills (@jesserockz)](https://github.com/jesserockz "9 total commits to the home-assistant organization, 9 commits to home-assistant") - [Jesse Newland (@jnewland)](https://github.com/jnewland "16 total commits to the home-assistant organization, 13 commits to home-assistant, 3 commits to hubot-home-assistant") -- [JesseWebDotCom (@JesseWebDotCom)](https://github.com/JesseWebDotCom "16 total commits to the home-assistant organization, 8 commits to home-assistant, 8 commits to home-assistant.github.io") +- [JesseWebDotCom (@JesseWebDotCom)](https://github.com/JesseWebDotCom "16 total commits to the home-assistant organization, 8 commits to home-assistant.io, 8 commits to home-assistant") - [jgrieger1 (@jgrieger1)](https://github.com/jgrieger1 "1 total commits to the home-assistant organization, 1 commit to appdaemon") - [jiafengwang (@jiafengwang)](https://github.com/jiafengwang "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [jimbob1001 (@jimbob1001)](https://github.com/jimbob1001 "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [jimbob1001 (@jimbob1001)](https://github.com/jimbob1001 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Joakim Nohlgård (@gebart)](https://github.com/gebart "2 total commits to the home-assistant organization, 2 commits to libcoap") -- [Joakim Sørensen (@ludeeus)](https://github.com/ludeeus "110 total commits to the home-assistant organization, 92 commits to hassbian-scripts, 18 commits to home-assistant.github.io") -- [jodur (@jodur)](https://github.com/jodur "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Joe Lu (@snjoetw)](https://github.com/snjoetw "24 total commits to the home-assistant organization, 18 commits to home-assistant, 5 commits to home-assistant.github.io, 1 commit to appdaemon") -- [Joe McMonagle (@joemcmonagle)](https://github.com/joemcmonagle "13 total commits to the home-assistant organization, 13 commits to home-assistant.github.io") +- [Joakim Sørensen (@ludeeus)](https://github.com/ludeeus "123 total commits to the home-assistant organization, 98 commits to hassbian-scripts, 22 commits to home-assistant.io, 3 commits to home-assistant") +- [jodur (@jodur)](https://github.com/jodur "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Joe Lu (@snjoetw)](https://github.com/snjoetw "25 total commits to the home-assistant organization, 19 commits to home-assistant, 5 commits to home-assistant.io, 1 commit to appdaemon") +- [Joe McMonagle (@joemcmonagle)](https://github.com/joemcmonagle "13 total commits to the home-assistant organization, 13 commits to home-assistant.io") - [joe248 (@joe248)](https://github.com/joe248 "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Joeboyc2 (@Joeboyc2)](https://github.com/Joeboyc2 "15 total commits to the home-assistant organization, 15 commits to home-assistant.github.io") -- [Johan Bloemberg (@aequitas)](https://github.com/aequitas "44 total commits to the home-assistant organization, 35 commits to home-assistant, 8 commits to home-assistant.github.io, 1 commit to netdisco") +- [Joeboyc2 (@Joeboyc2)](https://github.com/Joeboyc2 "15 total commits to the home-assistant organization, 15 commits to home-assistant.io") +- [Johan Bloemberg (@aequitas)](https://github.com/aequitas "45 total commits to the home-assistant organization, 36 commits to home-assistant, 8 commits to home-assistant.io, 1 commit to netdisco") - [Johan Haals (@jhaals)](https://github.com/jhaals "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [Johan van der Kuijl (@Rubyan)](https://github.com/Rubyan "4 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 1 commit to appdaemon") -- [Johann Kellerman (@kellerza)](https://github.com/kellerza "181 total commits to the home-assistant organization, 148 commits to home-assistant, 33 commits to home-assistant.github.io") -- [Johannes K\. (@roadrash2108)](https://github.com/roadrash2108 "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [John (@J-C-B)](https://github.com/J-C-B "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [John Arild Berentsen (@turbokongen)](https://github.com/turbokongen "204 total commits to the home-assistant organization, 151 commits to home-assistant, 37 commits to home-assistant.github.io, 16 commits to home-assistant-polymer") +- [Johan van der Kuijl (@Rubyan)](https://github.com/Rubyan "4 total commits to the home-assistant organization, 3 commits to home-assistant.io, 1 commit to appdaemon") +- [Johann Kellerman (@kellerza)](https://github.com/kellerza "181 total commits to the home-assistant organization, 148 commits to home-assistant, 33 commits to home-assistant.io") +- [Johannes K\. (@roadrash2108)](https://github.com/roadrash2108 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [John (@J-C-B)](https://github.com/J-C-B "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [John Arild Berentsen (@turbokongen)](https://github.com/turbokongen "218 total commits to the home-assistant organization, 156 commits to home-assistant, 40 commits to home-assistant.io, 22 commits to home-assistant-polymer") - [John Lindley (@jwl17330536)](https://github.com/jwl17330536 "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [John Mihalic (@mezz64)](https://github.com/mezz64 "50 total commits to the home-assistant organization, 36 commits to home-assistant, 12 commits to home-assistant.github.io, 1 commit to hadashboard, 1 commit to home-assistant-polymer") +- [John Mihalic (@mezz64)](https://github.com/mezz64 "51 total commits to the home-assistant organization, 37 commits to home-assistant, 12 commits to home-assistant.io, 1 commit to hadashboard, 1 commit to home-assistant-polymer") - [Johnny Chadda (@joch)](https://github.com/joch "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Jon (@JonMurphy)](https://github.com/JonMurphy "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Jon (@JonMurphy)](https://github.com/JonMurphy "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Jon Caruana (@joncar)](https://github.com/joncar "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Jon Griffith (@arretx)](https://github.com/arretx "12 total commits to the home-assistant organization, 11 commits to home-assistant.github.io, 1 commit to appdaemon") -- [Jon Maddox (@maddox)](https://github.com/maddox "107 total commits to the home-assistant organization, 82 commits to home-assistant, 16 commits to homebridge-homeassistant, 9 commits to home-assistant.github.io") +- [Jon Griffith (@arretx)](https://github.com/arretx "14 total commits to the home-assistant organization, 13 commits to home-assistant.io, 1 commit to appdaemon") +- [Jon Maddox (@maddox)](https://github.com/maddox "107 total commits to the home-assistant organization, 82 commits to home-assistant, 16 commits to homebridge-homeassistant, 9 commits to home-assistant.io") +- [Jonas Karlsson (@endor-force)](https://github.com/endor-force "11 total commits to the home-assistant organization, 5 commits to hassio-addons, 5 commits to home-assistant.io, 1 commit to hassio-build") - [Jonas Pedersen (@JonasPed)](https://github.com/JonasPed "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [Jonatan Castro (@jcastro)](https://github.com/jcastro "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [Jonathan Baginski (@patchedsoul)](https://github.com/patchedsoul "115 total commits to the home-assistant organization, 87 commits to fabric-home-assistant, 28 commits to home-assistant.github.io") -- [Jonathan Weinberg (@jonathanweinberg)](https://github.com/jonathanweinberg "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Jonatan Castro (@jcastro)](https://github.com/jcastro "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") +- [Jonathan Weinberg (@jonathanweinberg)](https://github.com/jonathanweinberg "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [joopert (@joopert)](https://github.com/joopert "6 total commits to the home-assistant organization, 6 commits to home-assistant") -- [Jordi (@hokus15)](https://github.com/hokus15 "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Jordi (@hokus15)](https://github.com/hokus15 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Jordy (@jbarrancos)](https://github.com/jbarrancos "40 total commits to the home-assistant organization, 40 commits to home-assistant") -- [Jose Juan Montes (@jjmontesl)](https://github.com/jjmontesl "9 total commits to the home-assistant organization, 6 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Jorim Tielemans (@tjorim)](https://github.com/tjorim "31 total commits to the home-assistant organization, 31 commits to home-assistant.io") +- [Jose Juan Montes (@jjmontesl)](https://github.com/jjmontesl "9 total commits to the home-assistant organization, 6 commits to home-assistant, 3 commits to home-assistant.io") - [Joseph Carter (@iKarith)](https://github.com/iKarith "9 total commits to the home-assistant organization, 9 commits to pi-gen") - [Josh Anderson (@andersonshatch)](https://github.com/andersonshatch "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to homebridge-homeassistant") -- [Josh Nichols (@technicalpickles)](https://github.com/technicalpickles "28 total commits to the home-assistant organization, 15 commits to home-assistant, 13 commits to home-assistant.github.io") -- [Josh Wright (@JshWright)](https://github.com/JshWright "28 total commits to the home-assistant organization, 20 commits to home-assistant, 8 commits to home-assistant.github.io") +- [Josh Nichols (@technicalpickles)](https://github.com/technicalpickles "28 total commits to the home-assistant organization, 15 commits to home-assistant, 13 commits to home-assistant.io") +- [Josh Wright (@JshWright)](https://github.com/JshWright "28 total commits to the home-assistant organization, 20 commits to home-assistant, 8 commits to home-assistant.io") - [jpcomtois (@jpcomtois)](https://github.com/jpcomtois "1 total commits to the home-assistant organization, 1 commit to libcoap") -- [JudgeDredd (@JudgeDreddKLC)](https://github.com/JudgeDreddKLC "10 total commits to the home-assistant organization, 10 commits to home-assistant.github.io") -- [Juggels (@Juggels)](https://github.com/Juggels "11 total commits to the home-assistant organization, 7 commits to home-assistant, 4 commits to home-assistant.github.io") +- [JudgeDredd (@JudgeDreddKLC)](https://github.com/JudgeDreddKLC "10 total commits to the home-assistant organization, 10 commits to home-assistant.io") +- [Juggels (@Juggels)](https://github.com/Juggels "11 total commits to the home-assistant organization, 7 commits to home-assistant, 4 commits to home-assistant.io") - [Julian Kaffke (@jaykay)](https://github.com/jaykay "1 total commits to the home-assistant organization, 1 commit to hassio-addons") -- [Julian Kahnert (@JulianKahnert)](https://github.com/JulianKahnert "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Julius Mittenzwei (@Julius2342)](https://github.com/Julius2342 "31 total commits to the home-assistant organization, 24 commits to home-assistant, 7 commits to home-assistant.github.io") -- [jumpkick (@jumpkick)](https://github.com/jumpkick "15 total commits to the home-assistant organization, 12 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Justin Dray (@justin8)](https://github.com/justin8 "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") +- [Julian Kahnert (@JulianKahnert)](https://github.com/JulianKahnert "6 total commits to the home-assistant organization, 3 commits to home-assistant.io, 3 commits to home-assistant") +- [Julius Mittenzwei (@Julius2342)](https://github.com/Julius2342 "31 total commits to the home-assistant organization, 24 commits to home-assistant, 7 commits to home-assistant.io") +- [jumpkick (@jumpkick)](https://github.com/jumpkick "15 total commits to the home-assistant organization, 12 commits to home-assistant, 3 commits to home-assistant.io") +- [Junian Triajianto (@junian)](https://github.com/junian "1 total commits to the home-assistant organization, 1 commit to pi-gen") +- [Justin Dray (@justin8)](https://github.com/justin8 "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") - [Justin Hayes (@GussyH)](https://github.com/GussyH "8 total commits to the home-assistant organization, 7 commits to hadashboard, 1 commit to appdaemon") - [Justin Weberg (@justweb1)](https://github.com/justweb1 "26 total commits to the home-assistant organization, 13 commits to home-assistant-polymer, 7 commits to hassbot, 4 commits to home-assistant, 1 commit to home-assistant-js, 1 commit to hassio") - [Justyn Shull (@justyns)](https://github.com/justyns "5 total commits to the home-assistant organization, 5 commits to home-assistant") - [Karen Goode (@kfgoode)](https://github.com/kfgoode "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [karlkar (@karlkar)](https://github.com/karlkar "15 total commits to the home-assistant organization, 10 commits to home-assistant, 5 commits to home-assistant.github.io") -- [Keaton Taylor (@keatontaylor)](https://github.com/keatontaylor "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") +- [karlkar (@karlkar)](https://github.com/karlkar "15 total commits to the home-assistant organization, 10 commits to home-assistant, 5 commits to home-assistant.io") +- [kbickar (@kbickar)](https://github.com/kbickar "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [Keaton Taylor (@keatontaylor)](https://github.com/keatontaylor "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") - [Ken Bannister (@kb2ma)](https://github.com/kb2ma "1 total commits to the home-assistant organization, 1 commit to libcoap") -- [Ken Davidson (@kwdavidson)](https://github.com/kwdavidson "13 total commits to the home-assistant organization, 11 commits to home-assistant.github.io, 2 commits to appdaemon") +- [Ken Davidson (@kwdavidson)](https://github.com/kwdavidson "14 total commits to the home-assistant organization, 12 commits to home-assistant.io, 2 commits to appdaemon") - [kennedyshead (@kennedyshead)](https://github.com/kennedyshead "10 total commits to the home-assistant organization, 10 commits to home-assistant") -- [Kevin Fronczak (@fronzbot)](https://github.com/fronzbot "19 total commits to the home-assistant organization, 11 commits to home-assistant, 8 commits to home-assistant.github.io") -- [Kevin Gisi (@gisikw)](https://github.com/gisikw "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Kevin Gottsman (@gottsman)](https://github.com/gottsman "6 total commits to the home-assistant organization, 6 commits to home-assistant.github.io") -- [Kevin Siml (@appzer)](https://github.com/appzer "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Keyasha Brothern (@KMBrothern)](https://github.com/KMBrothern "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Kevin Fronczak (@fronzbot)](https://github.com/fronzbot "19 total commits to the home-assistant organization, 11 commits to home-assistant, 8 commits to home-assistant.io") +- [Kevin Gisi (@gisikw)](https://github.com/gisikw "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Kevin Gottsman (@gottsman)](https://github.com/gottsman "8 total commits to the home-assistant organization, 8 commits to home-assistant.io") +- [Kevin Siml (@appzer)](https://github.com/appzer "4 total commits to the home-assistant organization, 4 commits to home-assistant") +- [Keyasha Brothern (@KMBrothern)](https://github.com/KMBrothern "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [kfcook (@kfcook)](https://github.com/kfcook "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [kireyeu (@kireyeu)](https://github.com/kireyeu "4 total commits to the home-assistant organization, 4 commits to home-assistant-notebooks") -- [Klaas Hoekema (@KlaasH)](https://github.com/KlaasH "12 total commits to the home-assistant organization, 5 commits to home-assistant.github.io, 5 commits to home-assistant, 2 commits to home-assistant-polymer") +- [Klaas Hoekema (@KlaasH)](https://github.com/KlaasH "12 total commits to the home-assistant organization, 5 commits to home-assistant.io, 5 commits to home-assistant, 2 commits to home-assistant-polymer") - [Klaus (@k-laus)](https://github.com/k-laus "1 total commits to the home-assistant organization, 1 commit to appdaemon") - [koolsb (@koolsb)](https://github.com/koolsb "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Kory Prince (@korylprince)](https://github.com/korylprince "4 total commits to the home-assistant organization, 4 commits to home-assistant-polymer") -- [Krasimir Chariyski (@Chariyski)](https://github.com/Chariyski "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Krasimir Zhelev (@zhelev)](https://github.com/zhelev "1 total commits to the home-assistant organization, 1 commit to netdisco") +- [Krasimir Chariyski (@Chariyski)](https://github.com/Chariyski "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Krasimir Zhelev (@zhelev)](https://github.com/zhelev "4 total commits to the home-assistant organization, 3 commits to home-assistant, 1 commit to netdisco") - [kroimon (@kroimon)](https://github.com/kroimon "1 total commits to the home-assistant organization, 1 commit to netdisco") - [Kyle Hendricks (@kylehendricks)](https://github.com/kylehendricks "6 total commits to the home-assistant organization, 6 commits to home-assistant") -- [lamiskin (@lamiskin)](https://github.com/lamiskin "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [lamiskin (@lamiskin)](https://github.com/lamiskin "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Lars Englund (@larsenglund)](https://github.com/larsenglund "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [lee-js (@lee-js)](https://github.com/lee-js "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [lee-js (@lee-js)](https://github.com/lee-js "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Lennart Bernhardt (@LennyPenny)](https://github.com/LennyPenny "1 total commits to the home-assistant organization, 1 commit to hassio-build") - [Leon99 (@Leon99)](https://github.com/Leon99 "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [Leonardo Saraiva (@vyper)](https://github.com/vyper "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Lev Aronsky (@aronsky)](https://github.com/aronsky "14 total commits to the home-assistant organization, 11 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Lewis Juggins (@lwis)](https://github.com/lwis "66 total commits to the home-assistant organization, 53 commits to home-assistant, 12 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") -- [lichtteil (@lichtteil)](https://github.com/lichtteil "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Lindsay Ward (@lindsaymarkward)](https://github.com/lindsaymarkward "18 total commits to the home-assistant organization, 13 commits to home-assistant.github.io, 5 commits to home-assistant") -- [linuxlurak (@linuxlurak)](https://github.com/linuxlurak "5 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 2 commits to hadashboard") +- [Leonardo Saraiva (@vyper)](https://github.com/vyper "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Lev Aronsky (@aronsky)](https://github.com/aronsky "15 total commits to the home-assistant organization, 12 commits to home-assistant, 3 commits to home-assistant.io") +- [Lewis Juggins (@lwis)](https://github.com/lwis "66 total commits to the home-assistant organization, 53 commits to home-assistant, 12 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [lichtteil (@lichtteil)](https://github.com/lichtteil "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Lindsay Ward (@lindsaymarkward)](https://github.com/lindsaymarkward "18 total commits to the home-assistant organization, 13 commits to home-assistant.io, 5 commits to home-assistant") +- [linuxlurak (@linuxlurak)](https://github.com/linuxlurak "5 total commits to the home-assistant organization, 3 commits to home-assistant.io, 2 commits to hadashboard") - [linvinus (@linvinus)](https://github.com/linvinus "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [lrmate (@lrmate)](https://github.com/lrmate "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Luar Roji (@cyberplant)](https://github.com/cyberplant "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Luar Roji (@cyberplant)](https://github.com/cyberplant "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Luc Touraille (@stilllman)](https://github.com/stilllman "1 total commits to the home-assistant organization, 1 commit to netdisco") - [Luca Angemi (@luca-angemi)](https://github.com/luca-angemi "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [LucaSoldi (@LucaSoldi)](https://github.com/LucaSoldi "6 total commits to the home-assistant organization, 6 commits to home-assistant") - [Lucien Guimier (@guimier)](https://github.com/guimier "1 total commits to the home-assistant organization, 1 commit to libcoap") - [Ludovic (@ldvc)](https://github.com/ldvc "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Ludovico de Nittis (@RyuzakiKK)](https://github.com/RyuzakiKK "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Lukas (@lukas-hetzenecker)](https://github.com/lukas-hetzenecker "14 total commits to the home-assistant organization, 10 commits to home-assistant, 4 commits to home-assistant.github.io") -- [Lukas Barth (@tinloaf)](https://github.com/tinloaf "37 total commits to the home-assistant organization, 23 commits to home-assistant, 12 commits to home-assistant.github.io, 2 commits to home-assistant-polymer") -- [Lukas Ecklmayr (@outrun0506)](https://github.com/outrun0506 "6 total commits to the home-assistant organization, 5 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") +- [Ludovico de Nittis (@RyuzakiKK)](https://github.com/RyuzakiKK "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Lukas (@lukas-hetzenecker)](https://github.com/lukas-hetzenecker "14 total commits to the home-assistant organization, 10 commits to home-assistant, 4 commits to home-assistant.io") +- [Lukas Barth (@tinloaf)](https://github.com/tinloaf "37 total commits to the home-assistant organization, 23 commits to home-assistant, 12 commits to home-assistant.io, 2 commits to home-assistant-polymer") - [Lukas Porubcan (@Luc3as)](https://github.com/Luc3as "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Luke Armstrong (@lukearmstrong)](https://github.com/lukearmstrong "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [LvivEchoes (@LvivEchoes)](https://github.com/LvivEchoes "8 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") +- [Luke Armstrong (@lukearmstrong)](https://github.com/lukearmstrong "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [LvivEchoes (@LvivEchoes)](https://github.com/LvivEchoes "8 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io, 1 commit to home-assistant-polymer") - [Maarten Groeneweg (@lazytesting)](https://github.com/lazytesting "1 total commits to the home-assistant organization, 1 commit to hassio-addons") - [Maciej Bieniek (@bieniu)](https://github.com/bieniu "5 total commits to the home-assistant organization, 4 commits to home-assistant, 1 commit to home-assistant-polymer") - [Maciej Sokołowski (@matemaciek)](https://github.com/matemaciek "5 total commits to the home-assistant organization, 4 commits to home-assistant, 1 commit to hassio-build") - [Maciej Wasilak (@mwasilak)](https://github.com/mwasilak "1 total commits to the home-assistant organization, 1 commit to libcoap") -- [Magnus Ihse Bursie (@magicus)](https://github.com/magicus "16 total commits to the home-assistant organization, 9 commits to home-assistant, 4 commits to netdisco, 3 commits to home-assistant.github.io") +- [Magnus Ihse Bursie (@magicus)](https://github.com/magicus "16 total commits to the home-assistant organization, 9 commits to home-assistant, 4 commits to netdisco, 3 commits to home-assistant.io") - [Magnus Lyckå (@magnus-lycka)](https://github.com/magnus-lycka "1 total commits to the home-assistant organization, 1 commit to netdisco") - [MagnusKnutas (@MagnusKnutas)](https://github.com/MagnusKnutas "29 total commits to the home-assistant organization, 29 commits to home-assistant") -- [Mahasri Kalavala (@skalavala)](https://github.com/skalavala "28 total commits to the home-assistant organization, 28 commits to home-assistant.github.io") -- [Malte Franken (@exxamalte)](https://github.com/exxamalte "10 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.github.io, 1 commit to developers.home-assistant, 1 commit to home-assistant-polymer") -- [Marc Egli (@frog32)](https://github.com/frog32 "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Marc Forth (@mf-social)](https://github.com/mf-social "27 total commits to the home-assistant organization, 26 commits to home-assistant.github.io, 1 commit to fabric-home-assistant") +- [Mal Curtis (@snikch)](https://github.com/snikch "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [Malte Franken (@exxamalte)](https://github.com/exxamalte "11 total commits to the home-assistant organization, 6 commits to home-assistant, 3 commits to home-assistant.io, 1 commit to developers.home-assistant, 1 commit to home-assistant-polymer") +- [Marc Egli (@frog32)](https://github.com/frog32 "12 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.io, 1 commit to hassio-addons-example") +- [Marc Forth (@mf-social)](https://github.com/mf-social "27 total commits to the home-assistant organization, 26 commits to home-assistant.io, 1 commit to fabric-home-assistant") - [Marc Khouri (@ubnt-marc-khouri)](https://github.com/ubnt-marc-khouri "4 total commits to the home-assistant organization, 2 commits to home-assistant-polymer, 1 commit to developers.home-assistant, 1 commit to hassio-build") - [Marc Pabst (@marcpabst)](https://github.com/marcpabst "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Marc Plano\-Lesay (@Kernald)](https://github.com/Kernald "10 total commits to the home-assistant organization, 10 commits to home-assistant.github.io") -- [Marcel030nl (@Marcel030nl)](https://github.com/Marcel030nl "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Marcelo Moreira de Mello (@tchellomello)](https://github.com/tchellomello "147 total commits to the home-assistant organization, 80 commits to home-assistant, 64 commits to home-assistant.github.io, 1 commit to home-assistant-assets, 1 commit to hassio-build, 1 commit to home-assistant-polymer") +- [Marc Plano\-Lesay (@Kernald)](https://github.com/Kernald "10 total commits to the home-assistant organization, 10 commits to home-assistant.io") +- [Marcel Hoppe (@hobbypunk90)](https://github.com/hobbypunk90 "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [Marcel030nl (@Marcel030nl)](https://github.com/Marcel030nl "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Marcelo Moreira de Mello (@tchellomello)](https://github.com/tchellomello "159 total commits to the home-assistant organization, 89 commits to home-assistant, 67 commits to home-assistant.io, 1 commit to home-assistant-assets, 1 commit to hassio-build, 1 commit to home-assistant-polymer") - [Marcin Domański (@kabturek)](https://github.com/kabturek "2 total commits to the home-assistant organization, 2 commits to appdaemon") - [Marcin Jaworski (@yawor)](https://github.com/yawor "12 total commits to the home-assistant organization, 12 commits to appdaemon") - [Marco (@marconett)](https://github.com/marconett "3 total commits to the home-assistant organization, 3 commits to appdaemon") -- [Marco Orovecchia (@Oro)](https://github.com/Oro "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Marco Orovecchia (@Oro)](https://github.com/Oro "9 total commits to the home-assistant organization, 6 commits to home-assistant, 3 commits to home-assistant.io") - [Marijn Giesen (@marijngiesen)](https://github.com/marijngiesen "5 total commits to the home-assistant organization, 5 commits to hadashboard") -- [Marius (@ciotlosm)](https://github.com/ciotlosm "15 total commits to the home-assistant organization, 9 commits to home-assistant-polymer, 6 commits to home-assistant") +- [Marius (@ciotlosm)](https://github.com/ciotlosm "39 total commits to the home-assistant organization, 14 commits to home-assistant-polymer, 12 commits to home-assistant.io, 8 commits to home-assistant, 3 commits to developers.home-assistant, 2 commits to ui-schema") +- [Mariusz Łuciów (@mariuszluciow)](https://github.com/mariuszluciow "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Mark Coombes (@marthoc)](https://github.com/marthoc "8 total commits to the home-assistant organization, 8 commits to home-assistant") - [Mark Grosen (@mgsb)](https://github.com/mgsb "1 total commits to the home-assistant organization, 1 commit to netdisco") -- [Mark Huson (@mehuman)](https://github.com/mehuman "11 total commits to the home-assistant organization, 11 commits to home-assistant.github.io") -- [Mark Perdue (@markperdue)](https://github.com/markperdue "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Mark Huson (@mehuman)](https://github.com/mehuman "11 total commits to the home-assistant organization, 11 commits to home-assistant.io") +- [Mark Perdue (@markperdue)](https://github.com/markperdue "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [mark9white (@mark9white)](https://github.com/mark9white "1 total commits to the home-assistant organization, 1 commit to hassio") - [markferry (@markferry)](https://github.com/markferry "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Markus (@iMarkus)](https://github.com/iMarkus "1 total commits to the home-assistant organization, 1 commit to hassio") - [Markus Becker (@markushx)](https://github.com/markushx "6 total commits to the home-assistant organization, 6 commits to libcoap") - [Markus Peter (@bimbar)](https://github.com/bimbar "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Markus Stenberg (@fingon)](https://github.com/fingon "6 total commits to the home-assistant organization, 6 commits to home-assistant") -- [Martin Berg (@mbrrg)](https://github.com/mbrrg "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Martin Eberhardt (@DarkFox)](https://github.com/DarkFox "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Martin Hjelmare (@MartinHjelmare)](https://github.com/MartinHjelmare "160 total commits to the home-assistant organization, 130 commits to home-assistant, 30 commits to home-assistant.github.io") -- [Martin Rowan (@shortbloke)](https://github.com/shortbloke "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Martin Weinelt (@mweinelt)](https://github.com/mweinelt "17 total commits to the home-assistant organization, 9 commits to home-assistant, 7 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") -- [Martokk (@martokk)](https://github.com/martokk "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Martin Berg (@mbrrg)](https://github.com/mbrrg "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") +- [Martin Eberhardt (@DarkFox)](https://github.com/DarkFox "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Martin Hjelmare (@MartinHjelmare)](https://github.com/MartinHjelmare "179 total commits to the home-assistant organization, 144 commits to home-assistant, 30 commits to home-assistant.io, 5 commits to developers.home-assistant") +- [Martin Rowan (@shortbloke)](https://github.com/shortbloke "6 total commits to the home-assistant organization, 3 commits to home-assistant.io, 3 commits to home-assistant") +- [Martin Weinelt (@mweinelt)](https://github.com/mweinelt "17 total commits to the home-assistant organization, 9 commits to home-assistant, 7 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [Martokk (@martokk)](https://github.com/martokk "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Mathew Peterson (@mathewpeterson)](https://github.com/mathewpeterson "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") -- [Matt N\. (@mnoorenberghe)](https://github.com/mnoorenberghe "54 total commits to the home-assistant organization, 25 commits to home-assistant-iOS, 17 commits to home-assistant.github.io, 9 commits to home-assistant, 2 commits to home-assistant-polymer, 1 commit to homebridge-homeassistant") +- [Matt N\. (@mnoorenberghe)](https://github.com/mnoorenberghe "54 total commits to the home-assistant organization, 25 commits to home-assistant-iOS, 17 commits to home-assistant.io, 9 commits to home-assistant, 2 commits to home-assistant-polymer, 1 commit to homebridge-homeassistant") - [Matt Rogers (@rogersmj)](https://github.com/rogersmj "20 total commits to the home-assistant organization, 20 commits to hadashboard") -- [Matt Schmitt (@schmittx)](https://github.com/schmittx "83 total commits to the home-assistant organization, 52 commits to homebridge-homeassistant, 17 commits to home-assistant, 11 commits to home-assistant.github.io, 3 commits to home-assistant-polymer") -- [Matt White (@mw-white)](https://github.com/mw-white "10 total commits to the home-assistant organization, 5 commits to home-assistant.github.io, 5 commits to home-assistant") -- [Matteo Lampugnani (@t30)](https://github.com/t30 "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [Matthew Bowen (@mgbowen)](https://github.com/mgbowen "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Matthew Garrett (@mjg59)](https://github.com/mjg59 "25 total commits to the home-assistant organization, 18 commits to home-assistant, 7 commits to home-assistant.github.io") -- [Matthew Rollings (@stealthcopter)](https://github.com/stealthcopter "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Matthew Treinish (@mtreinish)](https://github.com/mtreinish "21 total commits to the home-assistant organization, 14 commits to home-assistant, 7 commits to home-assistant.github.io") +- [Matt Schmitt (@schmittx)](https://github.com/schmittx "88 total commits to the home-assistant organization, 52 commits to homebridge-homeassistant, 19 commits to home-assistant, 12 commits to home-assistant.io, 3 commits to home-assistant-polymer, 2 commits to developers.home-assistant") +- [Matt Snyder (@oblogic7)](https://github.com/oblogic7 "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") +- [Matt White (@matt-FFFFFF)](https://github.com/matt-FFFFFF "1 total commits to the home-assistant organization, 1 commit to hassio-addons") +- [Matt White (@mw-white)](https://github.com/mw-white "10 total commits to the home-assistant organization, 5 commits to home-assistant.io, 5 commits to home-assistant") +- [Matteo Lampugnani (@t30)](https://github.com/t30 "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") +- [Matthew Donoughe (@mdonoughe)](https://github.com/mdonoughe "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Matthew Garrett (@mjg59)](https://github.com/mjg59 "30 total commits to the home-assistant organization, 22 commits to home-assistant, 7 commits to home-assistant.io, 1 commit to netdisco") +- [Matthew Rollings (@stealthcopter)](https://github.com/stealthcopter "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Matthew Treinish (@mtreinish)](https://github.com/mtreinish "24 total commits to the home-assistant organization, 15 commits to home-assistant, 9 commits to home-assistant.io") - [Matthias Dötsch (@brainexe)](https://github.com/brainexe "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Matthias Urlichs (@smurfix)](https://github.com/smurfix "3 total commits to the home-assistant organization, 3 commits to appdaemon") -- [Mattias Welponer (@mxworm)](https://github.com/mxworm "10 total commits to the home-assistant organization, 6 commits to home-assistant, 4 commits to home-assistant.github.io") -- [mattie47 (@mattie47)](https://github.com/mattie47 "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Mattias Welponer (@mxworm)](https://github.com/mxworm "22 total commits to the home-assistant organization, 13 commits to home-assistant, 8 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [mattie47 (@mattie47)](https://github.com/mattie47 "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Max Mudde (@makzdot)](https://github.com/makzdot "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") - [Max Prokhorov (@mcspr)](https://github.com/mcspr "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Max Rumpf (@Maxr1998)](https://github.com/Maxr1998 "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [maxclaey (@maxclaey)](https://github.com/maxclaey "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Max Rumpf (@Maxr1998)](https://github.com/Maxr1998 "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [maxclaey (@maxclaey)](https://github.com/maxclaey "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.io") - [maxlaverse (@maxlaverse)](https://github.com/maxlaverse "6 total commits to the home-assistant organization, 6 commits to home-assistant") - [mboeru (@mboeru)](https://github.com/mboeru "1 total commits to the home-assistant organization, 1 commit to home-assistant-iOS") -- [mcfrojd (@mcfrojd)](https://github.com/mcfrojd "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Menno Blom (@b10m)](https://github.com/b10m "4 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 1 commit to netdisco") -- [mertenats (@mertenats)](https://github.com/mertenats "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [mcfrojd (@mcfrojd)](https://github.com/mcfrojd "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Menno Blom (@b10m)](https://github.com/b10m "4 total commits to the home-assistant organization, 3 commits to home-assistant.io, 1 commit to netdisco") +- [mertenats (@mertenats)](https://github.com/mertenats "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [mgbowen (@mgbowen)](https://github.com/mgbowen "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Micha LaQua (@milaq)](https://github.com/milaq "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Michael (@hartmms)](https://github.com/hartmms "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Michael (@hartmms)](https://github.com/hartmms "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Michael Auchter (@auchter)](https://github.com/auchter "13 total commits to the home-assistant organization, 13 commits to home-assistant") -- [Michael Fester (@michaelfester)](https://github.com/michaelfester "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Michael Fester (@michaelfester)](https://github.com/michaelfester "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Michael Furtak (@mfurtak)](https://github.com/mfurtak "5 total commits to the home-assistant organization, 5 commits to issue-bot") - [Michael Gilbert (@Zyell)](https://github.com/Zyell "8 total commits to the home-assistant organization, 8 commits to home-assistant") - [Michael Kutý (@michaelkuty)](https://github.com/michaelkuty "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Michael Luggen (@l00mi)](https://github.com/l00mi "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Michael Requeny (@requenym)](https://github.com/requenym "14 total commits to the home-assistant organization, 14 commits to home-assistant.github.io") +- [Michael Luggen (@l00mi)](https://github.com/l00mi "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Michael Requeny (@requenym)](https://github.com/requenym "14 total commits to the home-assistant organization, 14 commits to home-assistant.io") - [Michael Shim (@shimeez)](https://github.com/shimeez "1 total commits to the home-assistant organization, 1 commit to fabric-home-assistant") -- [Michaël Arnauts (@michaelarnauts)](https://github.com/michaelarnauts "65 total commits to the home-assistant organization, 34 commits to home-assistant, 27 commits to home-assistant.github.io, 3 commits to home-assistant-polymer, 1 commit to netdisco") -- [Michel Settembrino (@Michel-Settembrino)](https://github.com/Michel-Settembrino "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [micw (@micw)](https://github.com/micw "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Michaël Arnauts (@michaelarnauts)](https://github.com/michaelarnauts "65 total commits to the home-assistant organization, 34 commits to home-assistant, 27 commits to home-assistant.io, 3 commits to home-assistant-polymer, 1 commit to netdisco") +- [Michel Settembrino (@Michel-Settembrino)](https://github.com/Michel-Settembrino "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [micw (@micw)](https://github.com/micw "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.io") +- [mihalski (@mihalski)](https://github.com/mihalski "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Mike (@mradziwo)](https://github.com/mradziwo "1 total commits to the home-assistant organization, 1 commit to appdaemon") - [Mike Christianson (@MikeChristianson)](https://github.com/MikeChristianson "6 total commits to the home-assistant organization, 6 commits to home-assistant") -- [Mike Megally (@cmsimike)](https://github.com/cmsimike "14 total commits to the home-assistant organization, 9 commits to home-assistant, 5 commits to home-assistant.github.io") +- [Mike Megally (@cmsimike)](https://github.com/cmsimike "14 total commits to the home-assistant organization, 9 commits to home-assistant, 5 commits to home-assistant.io") - [Mike Nestor (@mnestor)](https://github.com/mnestor "6 total commits to the home-assistant organization, 5 commits to home-assistant, 1 commit to home-assistant-polymer") -- [Mike O'Driscoll (@mikeodr)](https://github.com/mikeodr "8 total commits to the home-assistant organization, 5 commits to home-assistant.github.io, 3 commits to home-assistant") -- [Mikkel Høgh (@mikl)](https://github.com/mikl "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Milan V\. (@milanvo)](https://github.com/milanvo "18 total commits to the home-assistant organization, 10 commits to home-assistant, 7 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") -- [miniconfig (@miniconfig)](https://github.com/miniconfig "27 total commits to the home-assistant organization, 20 commits to home-assistant, 7 commits to home-assistant.github.io") +- [Mike O'Driscoll (@mikeodr)](https://github.com/mikeodr "8 total commits to the home-assistant organization, 5 commits to home-assistant.io, 3 commits to home-assistant") +- [Mikkel Høgh (@mikl)](https://github.com/mikl "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Milan V\. (@milanvo)](https://github.com/milanvo "18 total commits to the home-assistant organization, 10 commits to home-assistant, 7 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [miniconfig (@miniconfig)](https://github.com/miniconfig "27 total commits to the home-assistant organization, 20 commits to home-assistant, 7 commits to home-assistant.io") - [Minims (@Minims)](https://github.com/Minims "3 total commits to the home-assistant organization, 3 commits to homebridge-homeassistant") -- [Mister Wil (@MisterWil)](https://github.com/MisterWil "20 total commits to the home-assistant organization, 14 commits to home-assistant, 6 commits to home-assistant.github.io") -- [Mitesh Patel (@gurumitts)](https://github.com/gurumitts "9 total commits to the home-assistant organization, 5 commits to home-assistant, 4 commits to home-assistant.github.io") -- [Mitko Masarliev (@masarliev)](https://github.com/masarliev "12 total commits to the home-assistant organization, 8 commits to home-assistant, 4 commits to home-assistant.github.io") -- [mjj4791 (@mjj4791)](https://github.com/mjj4791 "23 total commits to the home-assistant organization, 15 commits to home-assistant.github.io, 8 commits to home-assistant") +- [Mister Wil (@MisterWil)](https://github.com/MisterWil "20 total commits to the home-assistant organization, 14 commits to home-assistant, 6 commits to home-assistant.io") +- [Mitesh Patel (@gurumitts)](https://github.com/gurumitts "9 total commits to the home-assistant organization, 5 commits to home-assistant, 4 commits to home-assistant.io") +- [Mitko Masarliev (@masarliev)](https://github.com/masarliev "12 total commits to the home-assistant organization, 8 commits to home-assistant, 4 commits to home-assistant.io") +- [MizterB (@MizterB)](https://github.com/MizterB "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [mjj4791 (@mjj4791)](https://github.com/mjj4791 "23 total commits to the home-assistant organization, 15 commits to home-assistant.io, 8 commits to home-assistant") - [mmmmmtasty (@mmmmmtasty)](https://github.com/mmmmmtasty "8 total commits to the home-assistant organization, 8 commits to appdaemon") - [mojotaker (@mojotaker)](https://github.com/mojotaker "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") -- [Molodax (@Molodax)](https://github.com/Molodax "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [moskovskiy82 (@moskovskiy82)](https://github.com/moskovskiy82 "6 total commits to the home-assistant organization, 6 commits to home-assistant.github.io") +- [Moksh Mridul (@mokshmridul)](https://github.com/mokshmridul "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Molodax (@Molodax)](https://github.com/Molodax "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") +- [moskovskiy82 (@moskovskiy82)](https://github.com/moskovskiy82 "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") - [motir (@motir)](https://github.com/motir "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [mountainsandcode (@mountainsandcode)](https://github.com/mountainsandcode "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [mueslo (@mueslo)](https://github.com/mueslo "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [mukundv (@mukundv)](https://github.com/mukundv "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [mountainsandcode (@mountainsandcode)](https://github.com/mountainsandcode "9 total commits to the home-assistant organization, 6 commits to home-assistant.io, 3 commits to home-assistant") +- [mueslo (@mueslo)](https://github.com/mueslo "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [mukundv (@mukundv)](https://github.com/mukundv "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Mārtiņš Grunskis (@grunskis)](https://github.com/grunskis "1 total commits to the home-assistant organization, 1 commit to netdisco") - [Nash Kaminski (@nkaminski)](https://github.com/nkaminski "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") +- [Nate Clark (@heythisisnate)](https://github.com/heythisisnate "9 total commits to the home-assistant organization, 6 commits to home-assistant, 3 commits to home-assistant.io") - [Nathan Flynn (@eperdeme)](https://github.com/eperdeme "1 total commits to the home-assistant organization, 1 commit to hassio-addons") -- [Nathan Henrie (@n8henrie)](https://github.com/n8henrie "21 total commits to the home-assistant organization, 10 commits to home-assistant, 7 commits to home-assistant.github.io, 2 commits to homebridge-homeassistant, 1 commit to appdaemon, 1 commit to home-assistant-polymer") -- [Neil Lathwood (@laf)](https://github.com/laf "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Nathan Henrie (@n8henrie)](https://github.com/n8henrie "22 total commits to the home-assistant organization, 10 commits to home-assistant, 8 commits to home-assistant.io, 2 commits to homebridge-homeassistant, 1 commit to appdaemon, 1 commit to home-assistant-polymer") +- [Nathan Knotts (@nknotts)](https://github.com/nknotts "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") +- [Neil Lathwood (@laf)](https://github.com/laf "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Nelis Willers (@NelisW)](https://github.com/NelisW "1 total commits to the home-assistant organization, 1 commit to fabric-home-assistant") -- [NeLLyMerC (@NeLLyMerC)](https://github.com/NeLLyMerC "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [neonbunny (@neonbunny)](https://github.com/neonbunny "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Nicholas Amadori (@namadori)](https://github.com/namadori "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Nicholas Griffin (@nicholasgriffintn)](https://github.com/nicholasgriffintn "6 total commits to the home-assistant organization, 6 commits to home-assistant.github.io") -- [Nick Touran (@partofthething)](https://github.com/partofthething "38 total commits to the home-assistant organization, 25 commits to home-assistant, 13 commits to home-assistant.github.io") +- [NeLLyMerC (@NeLLyMerC)](https://github.com/NeLLyMerC "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Nicholas Amadori (@namadori)](https://github.com/namadori "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Nicholas Griffin (@nicholasgriffintn)](https://github.com/nicholasgriffintn "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") +- [Nick Touran (@partofthething)](https://github.com/partofthething "38 total commits to the home-assistant organization, 25 commits to home-assistant, 13 commits to home-assistant.io") - [Nick Whyte (@nickw444)](https://github.com/nickw444 "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Nicko van Someren (@nickovs)](https://github.com/nickovs "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Nicolas Graziano (@ngraziano)](https://github.com/ngraziano "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Nicolas Martignoni (@martignoni)](https://github.com/martignoni "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [nielstron (@nielstron)](https://github.com/nielstron "2 total commits to the home-assistant organization, 2 commits to netdisco") +- [Niels Mündler (@nielstron)](https://github.com/nielstron "21 total commits to the home-assistant organization, 16 commits to home-assistant, 3 commits to home-assistant.io, 2 commits to netdisco") - [Nigel Rook (@NigelRook)](https://github.com/NigelRook "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Niklas (@niklaswa)](https://github.com/niklaswa "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Niklas Wagner (@Skaronator)](https://github.com/Skaronator "9 total commits to the home-assistant organization, 9 commits to home-assistant.github.io") -- [Nolan Gilley (@nkgilley)](https://github.com/nkgilley "123 total commits to the home-assistant organization, 95 commits to home-assistant, 28 commits to home-assistant.github.io") -- [nordlead2005 (@nordlead2005)](https://github.com/nordlead2005 "7 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 3 commits to home-assistant") +- [Niklas (@niklaswa)](https://github.com/niklaswa "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Niklas Wagner (@Skaronator)](https://github.com/Skaronator "9 total commits to the home-assistant organization, 9 commits to home-assistant.io") +- [Nolan Darilek (@ndarilek)](https://github.com/ndarilek "1 total commits to the home-assistant organization, 1 commit to hassio") +- [Nolan Gilley (@nkgilley)](https://github.com/nkgilley "123 total commits to the home-assistant organization, 95 commits to home-assistant, 28 commits to home-assistant.io") +- [nordlead2005 (@nordlead2005)](https://github.com/nordlead2005 "7 total commits to the home-assistant organization, 4 commits to home-assistant.io, 3 commits to home-assistant") - [NotoriousBDG (@notoriousbdg)](https://github.com/notoriousbdg "3 total commits to the home-assistant organization, 3 commits to hassio-addons") - [NovapaX (@NovapaX)](https://github.com/NovapaX "59 total commits to the home-assistant organization, 50 commits to home-assistant-polymer, 8 commits to home-assistant, 1 commit to home-assistant-assets") -- [ntalekt (@ntalekt)](https://github.com/ntalekt "6 total commits to the home-assistant organization, 6 commits to home-assistant.github.io") +- [ntalekt (@ntalekt)](https://github.com/ntalekt "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") - [Nuno Sousa (@nunofgs)](https://github.com/nunofgs "5 total commits to the home-assistant organization, 4 commits to home-assistant, 1 commit to homebridge-homeassistant") - [obgm (@obgm)](https://github.com/obgm "480 total commits to the home-assistant organization, 480 commits to libcoap") +- [Odianosen Ejale (@Odianosen25)](https://github.com/Odianosen25 "1 total commits to the home-assistant organization, 1 commit to appdaemon") - [Ole\-Kenneth (@olekenneth)](https://github.com/olekenneth "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") -- [Oleksii Serdiuk (@leppa)](https://github.com/leppa "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Oliv3rDog (@Oliv3rDog)](https://github.com/Oliv3rDog "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Oliver (@scarface-4711)](https://github.com/scarface-4711 "28 total commits to the home-assistant organization, 18 commits to home-assistant, 9 commits to home-assistant.github.io, 1 commit to netdisco") +- [Oleksii Serdiuk (@leppa)](https://github.com/leppa "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.io") +- [Oliv3rDog (@Oliv3rDog)](https://github.com/Oliv3rDog "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Oliver (@scarface-4711)](https://github.com/scarface-4711 "28 total commits to the home-assistant organization, 18 commits to home-assistant, 9 commits to home-assistant.io, 1 commit to netdisco") - [Oliver van Porten (@mcdeck)](https://github.com/mcdeck "10 total commits to the home-assistant organization, 10 commits to home-assistant") -- [Open Home Automation (@open-homeautomation)](https://github.com/open-homeautomation "41 total commits to the home-assistant organization, 29 commits to home-assistant, 12 commits to home-assistant.github.io") -- [Otto Winter (@OttoWinter)](https://github.com/OttoWinter "68 total commits to the home-assistant organization, 53 commits to home-assistant, 12 commits to home-assistant.github.io, 3 commits to home-assistant-polymer") +- [Oncleben31 (@oncleben31)](https://github.com/oncleben31 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Open Home Automation (@open-homeautomation)](https://github.com/open-homeautomation "41 total commits to the home-assistant organization, 29 commits to home-assistant, 12 commits to home-assistant.io") +- [Otto Winter (@OttoWinter)](https://github.com/OttoWinter "70 total commits to the home-assistant organization, 54 commits to home-assistant, 13 commits to home-assistant.io, 3 commits to home-assistant-polymer") - [oznu (@oznu)](https://github.com/oznu "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") -- [Parker Moore (@parkr)](https://github.com/parkr "60 total commits to the home-assistant organization, 60 commits to home-assistant.github.io") +- [Parker Moore (@parkr)](https://github.com/parkr "60 total commits to the home-assistant organization, 60 commits to home-assistant.io") - [pascal (@passie)](https://github.com/passie "4 total commits to the home-assistant organization, 3 commits to home-assistant, 1 commit to home-assistant-polymer") - [Pascal Bach (@bachp)](https://github.com/bachp "10 total commits to the home-assistant organization, 9 commits to home-assistant, 1 commit to netdisco") -- [Pascal Vizeli (@pvizeli)](https://github.com/pvizeli "3313 total commits to the home-assistant organization, 1210 commits to hassio, 517 commits to hassos, 463 commits to home-assistant, 418 commits to hassio-build, 353 commits to hassio-addons, 318 commits to home-assistant.github.io, 16 commits to hassio-addons-example, 11 commits to hassio-cli, 4 commits to developers.home-assistant, 1 commit to netdisco, 1 commit to home-assistant-polymer, 1 commit to home-assistant-js-websocket") +- [Pascal Vizeli (@pvizeli)](https://github.com/pvizeli "3696 total commits to the home-assistant organization, 1303 commits to hassio, 675 commits to hassos, 475 commits to home-assistant, 465 commits to hassio-build, 369 commits to hassio-addons, 328 commits to home-assistant.io, 29 commits to hassio-homeassistant, 17 commits to hassio-addons-example, 13 commits to developers.home-assistant, 12 commits to hassio-cli, 7 commits to hassio-base, 1 commit to netdisco, 1 commit to home-assistant-polymer, 1 commit to home-assistant-js-websocket") - [Pat Thoyts (@patthoyts)](https://github.com/patthoyts "2 total commits to the home-assistant organization, 2 commits to netdisco") -- [Patrick Aikens (@duckpuppy)](https://github.com/duckpuppy "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Patrick Easters (@patrickeasters)](https://github.com/patrickeasters "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Patrik (@ggravlingen)](https://github.com/ggravlingen "8 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Patrick Aikens (@duckpuppy)](https://github.com/duckpuppy "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Patrick Easters (@patrickeasters)](https://github.com/patrickeasters "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") - [Paul Annekov (@PaulAnnekov)](https://github.com/PaulAnnekov "4 total commits to the home-assistant organization, 4 commits to home-assistant") - [Paul Hendry (@pshendry)](https://github.com/pshendry "1 total commits to the home-assistant organization, 1 commit to warrant") -- [Paul Jimenez (@pjz)](https://github.com/pjz "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Paul Jimenez (@pjz)](https://github.com/pjz "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Paul Nicholls (@pauln)](https://github.com/pauln "2 total commits to the home-assistant organization, 2 commits to netdisco") - [Paul Sokolovsky (@pfalcon)](https://github.com/pfalcon "6 total commits to the home-assistant organization, 3 commits to netdisco, 3 commits to home-assistant") - [Pavel Ponomarev (@awsum)](https://github.com/awsum "2 total commits to the home-assistant organization, 2 commits to home-assistant-polymer") -- [PawelWMS (@PawelWMS)](https://github.com/PawelWMS "12 total commits to the home-assistant organization, 12 commits to libcoap") -- [Pedro Navarro (@pedronavf)](https://github.com/pedronavf "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Pedro Pombeiro (@PombeirP)](https://github.com/PombeirP "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Pawel Winogrodzki (@PawelWMS)](https://github.com/PawelWMS "12 total commits to the home-assistant organization, 12 commits to libcoap") +- [Pedro Navarro (@pedronavf)](https://github.com/pedronavf "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Pedro Pombeiro (@PombeirP)](https://github.com/PombeirP "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Per Osbäck (@perosb)](https://github.com/perosb "19 total commits to the home-assistant organization, 19 commits to home-assistant") -- [Per Sandström (@persandstrom)](https://github.com/persandstrom "124 total commits to the home-assistant organization, 98 commits to home-assistant, 14 commits to home-assistant.github.io, 12 commits to home-assistant-polymer") +- [Per Sandström (@persandstrom)](https://github.com/persandstrom "124 total commits to the home-assistant organization, 98 commits to home-assistant, 14 commits to home-assistant.io, 12 commits to home-assistant-polymer") - [Pete Peterson (@petey)](https://github.com/petey "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [PeteBa (@PeteBa)](https://github.com/PeteBa "9 total commits to the home-assistant organization, 5 commits to home-assistant, 4 commits to home-assistant-polymer") -- [Peter Epley (@epleypa)](https://github.com/epleypa "6 total commits to the home-assistant organization, 6 commits to home-assistant.github.io") -- [Petr Vraník (@konikvranik)](https://github.com/konikvranik "11 total commits to the home-assistant organization, 6 commits to home-assistant, 5 commits to home-assistant.github.io") +- [Peter Epley (@epleypa)](https://github.com/epleypa "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") +- [Peter Nijssen (@peternijssen)](https://github.com/peternijssen "7 total commits to the home-assistant organization, 4 commits to home-assistant.io, 3 commits to home-assistant") +- [Petr Vraník (@konikvranik)](https://github.com/konikvranik "11 total commits to the home-assistant organization, 6 commits to home-assistant, 5 commits to home-assistant.io") - [pezinek (@pezinek)](https://github.com/pezinek "8 total commits to the home-assistant organization, 8 commits to home-assistant") -- [Phil (@godloth)](https://github.com/godloth "10 total commits to the home-assistant organization, 10 commits to home-assistant.github.io") -- [Phil Cole (@filcole)](https://github.com/filcole "9 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 3 commits to home-assistant") +- [Phil (@godloth)](https://github.com/godloth "10 total commits to the home-assistant organization, 10 commits to home-assistant.io") +- [Phil Cole (@filcole)](https://github.com/filcole "9 total commits to the home-assistant organization, 6 commits to home-assistant.io, 3 commits to home-assistant") - [Phil Elson (@pelson)](https://github.com/pelson "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Phil Frost (@bitglue)](https://github.com/bitglue "8 total commits to the home-assistant organization, 8 commits to home-assistant") -- [Phil Hawthorne (@philhawthorne)](https://github.com/philhawthorne "24 total commits to the home-assistant organization, 18 commits to home-assistant.github.io, 6 commits to home-assistant") -- [Phil Kates (@philk)](https://github.com/philk "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Philip Hofstetter (@pilif)](https://github.com/pilif "6 total commits to the home-assistant organization, 6 commits to home-assistant.github.io") +- [Phil Hawthorne (@philhawthorne)](https://github.com/philhawthorne "24 total commits to the home-assistant organization, 18 commits to home-assistant.io, 6 commits to home-assistant") +- [Phil Kates (@philk)](https://github.com/philk "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.io") +- [Philip Hofstetter (@pilif)](https://github.com/pilif "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") - [Philip Howard (@Gadgetoid)](https://github.com/Gadgetoid "1 total commits to the home-assistant organization, 1 commit to pi-gen") - [Philip Kleimeyer (@philklei)](https://github.com/philklei "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Philip Lundrigan (@philipbl)](https://github.com/philipbl "65 total commits to the home-assistant organization, 56 commits to home-assistant, 9 commits to home-assistant.github.io") -- [Philip Rosenberg\-Watt (@PhilRW)](https://github.com/PhilRW "15 total commits to the home-assistant organization, 11 commits to home-assistant, 4 commits to home-assistant.github.io") -- [Philipp Hellmich (@runningman84)](https://github.com/runningman84 "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Philipp Schmitt (@pschmitt)](https://github.com/pschmitt "39 total commits to the home-assistant organization, 26 commits to home-assistant, 11 commits to home-assistant.github.io, 1 commit to hassio-build, 1 commit to appdaemon") -- [Phill Price (@phillprice)](https://github.com/phillprice "11 total commits to the home-assistant organization, 11 commits to home-assistant.github.io") -- [PhracturedBlue (@PhracturedBlue)](https://github.com/PhracturedBlue "33 total commits to the home-assistant organization, 20 commits to home-assistant, 12 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") -- [PhyberApex (@PhyberApex)](https://github.com/PhyberApex "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Pierre Ståhl (@postlund)](https://github.com/postlund "50 total commits to the home-assistant organization, 33 commits to home-assistant, 11 commits to home-assistant.github.io, 4 commits to netdisco, 2 commits to home-assistant-polymer") +- [Philip Lundrigan (@philipbl)](https://github.com/philipbl "65 total commits to the home-assistant organization, 56 commits to home-assistant, 9 commits to home-assistant.io") +- [Philip Rosenberg\-Watt (@PhilRW)](https://github.com/PhilRW "19 total commits to the home-assistant organization, 12 commits to home-assistant, 7 commits to home-assistant.io") +- [Philipp Hellmich (@runningman84)](https://github.com/runningman84 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Philipp Schmitt (@pschmitt)](https://github.com/pschmitt "40 total commits to the home-assistant organization, 27 commits to home-assistant, 11 commits to home-assistant.io, 1 commit to hassio-build, 1 commit to appdaemon") +- [Phill Price (@phillprice)](https://github.com/phillprice "11 total commits to the home-assistant organization, 11 commits to home-assistant.io") +- [PhracturedBlue (@PhracturedBlue)](https://github.com/PhracturedBlue "34 total commits to the home-assistant organization, 21 commits to home-assistant, 12 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [PhyberApex (@PhyberApex)](https://github.com/PhyberApex "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Pierre Ståhl (@postlund)](https://github.com/postlund "50 total commits to the home-assistant organization, 33 commits to home-assistant, 11 commits to home-assistant.io, 4 commits to netdisco, 2 commits to home-assistant-polymer") - [pkonnekermetametrics (@pkonnekermetametrics)](https://github.com/pkonnekermetametrics "5 total commits to the home-assistant organization, 5 commits to warrant") -- [PuckStar (@PuckStar)](https://github.com/PuckStar "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [R Huish (@Genestealer)](https://github.com/Genestealer "23 total commits to the home-assistant organization, 23 commits to home-assistant.github.io") +- [PuckStar (@PuckStar)](https://github.com/PuckStar "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") +- [quthla (@quthla)](https://github.com/quthla "13 total commits to the home-assistant organization, 5 commits to home-assistant-polymer, 4 commits to home-assistant-iOS, 4 commits to home-assistant") +- [R Huish (@Genestealer)](https://github.com/Genestealer "23 total commits to the home-assistant organization, 23 commits to home-assistant.io") +- [rafale77 (@rafale77)](https://github.com/rafale77 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Raiford (@raiford)](https://github.com/raiford "1 total commits to the home-assistant organization, 1 commit to hassio-addons") -- [rbflurry (@rbflurry)](https://github.com/rbflurry "16 total commits to the home-assistant organization, 13 commits to home-assistant.github.io, 3 commits to home-assistant") +- [rbflurry (@rbflurry)](https://github.com/rbflurry "17 total commits to the home-assistant organization, 14 commits to home-assistant.io, 3 commits to home-assistant") - [Reed Riley (@reedriley)](https://github.com/reedriley "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Rendili (@Rendili)](https://github.com/Rendili "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Rene Nulsch (@ReneNulschDE)](https://github.com/ReneNulschDE "21 total commits to the home-assistant organization, 14 commits to home-assistant, 7 commits to home-assistant.github.io") +- [Rene Nulsch (@ReneNulschDE)](https://github.com/ReneNulschDE "21 total commits to the home-assistant organization, 14 commits to home-assistant, 7 commits to home-assistant.io") - [Rene Tode (@ReneTode)](https://github.com/ReneTode "38 total commits to the home-assistant organization, 38 commits to appdaemon") - [Reza Moallemi (@moallemi)](https://github.com/moallemi "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [rhooper (@rhooper)](https://github.com/rhooper "27 total commits to the home-assistant organization, 25 commits to home-assistant, 2 commits to hadashboard") - [Riccardo Canta (@commento)](https://github.com/commento "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Richard Arends (@Mosibi)](https://github.com/Mosibi "8 total commits to the home-assistant organization, 8 commits to home-assistant") -- [Richard Cox (@Khabi)](https://github.com/Khabi "15 total commits to the home-assistant organization, 9 commits to home-assistant, 6 commits to home-assistant.github.io") -- [Richard Leurs (@R1chardTM)](https://github.com/R1chardTM "13 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 6 commits to home-assistant, 1 commit to home-assistant-polymer") +- [Richard Cox (@Khabi)](https://github.com/Khabi "15 total commits to the home-assistant organization, 9 commits to home-assistant, 6 commits to home-assistant.io") - [Richard Lucas (@lucasweb78)](https://github.com/lucasweb78 "9 total commits to the home-assistant organization, 9 commits to home-assistant") - [Richard Niemand (@rniemand)](https://github.com/rniemand "1 total commits to the home-assistant organization, 1 commit to example-custom-config") - [Rick (@rcuddy)](https://github.com/rcuddy "1 total commits to the home-assistant organization, 1 commit to pi-gen") +- [Rick Rubino (@rrubin0)](https://github.com/rrubin0 "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [rkabadi (@rkabadi)](https://github.com/rkabadi "17 total commits to the home-assistant organization, 17 commits to home-assistant") - [Rob Capellini (@capellini)](https://github.com/capellini "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Rob Cranfill (@RobCranfill)](https://github.com/RobCranfill "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Rob Slifka (@rslifka)](https://github.com/rslifka "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Robbie Trencheny (@robbiet480)](https://github.com/robbiet480 "1317 total commits to the home-assistant organization, 646 commits to home-assistant-iOS, 259 commits to home-assistant, 249 commits to home-assistant.github.io, 92 commits to homebridge-homeassistant, 15 commits to home-assistant-polymer, 9 commits to hubot-home-assistant, 8 commits to Analytics-Receiver, 6 commits to netdisco, 3 commits to home-assistant-js-websocket, 3 commits to home-assistant-js, 3 commits to scenegen, 3 commits to hassbot, 3 commits to hadashboard, 3 commits to appdaemon, 3 commits to organization, 2 commits to fabric-home-assistant, 2 commits to LabelBot, 2 commits to home-assistant-notebooks, 2 commits to lambda-home-assistant-github, 2 commits to micropython-home-assistant, 2 commits to home-assistant-assets") -- [Robert (@metbril)](https://github.com/metbril "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Rob Cranfill (@RobCranfill)](https://github.com/RobCranfill "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Rob Slifka (@rslifka)](https://github.com/rslifka "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Robbie Trencheny (@robbiet480)](https://github.com/robbiet480 "1411 total commits to the home-assistant organization, 735 commits to home-assistant-iOS, 259 commits to home-assistant, 249 commits to home-assistant.io, 92 commits to homebridge-homeassistant, 15 commits to home-assistant-polymer, 14 commits to hubot-home-assistant, 8 commits to Analytics-Receiver, 6 commits to netdisco, 3 commits to home-assistant-js, 3 commits to scenegen, 3 commits to appdaemon, 3 commits to hassbot, 3 commits to organization, 3 commits to hadashboard, 3 commits to home-assistant-js-websocket, 2 commits to LabelBot, 2 commits to lambda-home-assistant-github, 2 commits to fabric-home-assistant, 2 commits to micropython-home-assistant, 2 commits to home-assistant-assets, 2 commits to home-assistant-notebooks") +- [Robert (@metbril)](https://github.com/metbril "8 total commits to the home-assistant organization, 8 commits to home-assistant.io") - [Robert Accettura (@raccettura)](https://github.com/raccettura "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Robert Schütz (@dotlambda)](https://github.com/dotlambda "2 total commits to the home-assistant organization, 1 commit to netdisco, 1 commit to appdaemon") -- [Robert Svensson (@Kane610)](https://github.com/Kane610 "45 total commits to the home-assistant organization, 28 commits to home-assistant, 15 commits to home-assistant.github.io, 1 commit to netdisco, 1 commit to home-assistant-polymer") -- [Robin (@robmarkcole)](https://github.com/robmarkcole "47 total commits to the home-assistant organization, 30 commits to home-assistant.github.io, 16 commits to home-assistant, 1 commit to home-assistant-assets") +- [Robert Svensson (@Kane610)](https://github.com/Kane610 "64 total commits to the home-assistant organization, 43 commits to home-assistant, 19 commits to home-assistant.io, 1 commit to netdisco, 1 commit to home-assistant-polymer") +- [Robin (@robmarkcole)](https://github.com/robmarkcole "57 total commits to the home-assistant organization, 35 commits to home-assistant.io, 19 commits to home-assistant, 2 commits to home-assistant-assets, 1 commit to hassos") - [Robin Laurén (@llauren)](https://github.com/llauren "1 total commits to the home-assistant organization, 1 commit to appdaemon") -- [Roddie Hasan (@eiddor)](https://github.com/eiddor "6 total commits to the home-assistant organization, 6 commits to home-assistant.github.io") +- [Roddie Hasan (@eiddor)](https://github.com/eiddor "6 total commits to the home-assistant organization, 6 commits to home-assistant.io") - [Roi Dayan (@roidayan)](https://github.com/roidayan "6 total commits to the home-assistant organization, 6 commits to home-assistant") - [roiff (@roiff)](https://github.com/roiff "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") -- [Ron Klinkien (@cyberjunky)](https://github.com/cyberjunky "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Ron Klinkien (@cyberjunky)](https://github.com/cyberjunky "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Ron Miller (@brainyron)](https://github.com/brainyron "1 total commits to the home-assistant organization, 1 commit to hassio-addons") - [roqeer (@roqeer)](https://github.com/roqeer "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Ross Schulman (@rschulman)](https://github.com/rschulman "1 total commits to the home-assistant organization, 1 commit to pi-gen") -- [rpitera (@rpitera)](https://github.com/rpitera "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") +- [rpitera (@rpitera)](https://github.com/rpitera "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") - [Rubens Panfili (@rpanfili)](https://github.com/rpanfili "1 total commits to the home-assistant organization, 1 commit to hassio-addons") - [rubund (@rubund)](https://github.com/rubund "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Ruslan Kiyanchuk (@zoresvit)](https://github.com/zoresvit "1 total commits to the home-assistant organization, 1 commit to pi-gen") +- [ruohan\.chen (@crhan)](https://github.com/crhan "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [Ruslan Sayfutdinov (@KapJI)](https://github.com/KapJI "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") - [Russ K (@rkubes)](https://github.com/rkubes "2 total commits to the home-assistant organization, 2 commits to pi-gen") - [Russell Cloran (@rcloran)](https://github.com/rcloran "36 total commits to the home-assistant organization, 32 commits to home-assistant, 4 commits to homebridge-homeassistant") -- [Ryan Bahm (@rdbahm)](https://github.com/rdbahm "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Ryan Daigle (@rwdaigle)](https://github.com/rwdaigle "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Ryan Bahm (@rdbahm)](https://github.com/rdbahm "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Ryan Bray (@rbray89)](https://github.com/rbray89 "13 total commits to the home-assistant organization, 12 commits to hassos, 1 commit to hassio-build") +- [Ryan Daigle (@rwdaigle)](https://github.com/rwdaigle "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Ryan Jarvis (@Cabalist)](https://github.com/Cabalist "1 total commits to the home-assistant organization, 1 commit to hassbian-scripts") -- [Ryan Kraus (@rmkraus)](https://github.com/rmkraus "193 total commits to the home-assistant organization, 163 commits to home-assistant, 15 commits to home-assistant.github.io, 14 commits to home-assistant-polymer, 1 commit to home-assistant-notebooks") -- [Ryan McLean (@ryanm101)](https://github.com/ryanm101 "96 total commits to the home-assistant organization, 74 commits to hassio-cli, 16 commits to home-assistant, 6 commits to home-assistant.github.io") +- [Ryan Kraus (@rmkraus)](https://github.com/rmkraus "193 total commits to the home-assistant organization, 163 commits to home-assistant, 15 commits to home-assistant.io, 14 commits to home-assistant-polymer, 1 commit to home-assistant-notebooks") +- [Ryan McLean (@ryanm101)](https://github.com/ryanm101 "97 total commits to the home-assistant organization, 75 commits to hassio-cli, 16 commits to home-assistant, 6 commits to home-assistant.io") - [Ryan Turner (@turnrye)](https://github.com/turnrye "6 total commits to the home-assistant organization, 6 commits to home-assistant") - [Sabesto (@Sabesto)](https://github.com/Sabesto "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Sacha Telgenhof (@stelgenhof)](https://github.com/stelgenhof "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Sacha Telgenhof (@stelgenhof)](https://github.com/stelgenhof "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Sam Holmes (@sam3d)](https://github.com/sam3d "4 total commits to the home-assistant organization, 4 commits to pi-gen") - [sam-io (@sam-io)](https://github.com/sam-io "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [sander76 (@sander76)](https://github.com/sander76 "42 total commits to the home-assistant organization, 38 commits to home-assistant, 4 commits to home-assistant.github.io") +- [sander76 (@sander76)](https://github.com/sander76 "42 total commits to the home-assistant organization, 38 commits to home-assistant, 4 commits to home-assistant.io") +- [sbYm (@GongT)](https://github.com/GongT "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Scott (@lostage)](https://github.com/lostage "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") - [Scott Bradshaw (@swbradshaw)](https://github.com/swbradshaw "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Scott Griffin (@scottocs11)](https://github.com/scottocs11 "7 total commits to the home-assistant organization, 7 commits to home-assistant.github.io") -- [Scott O'Neil (@americanwookie)](https://github.com/americanwookie "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Scott Reston (@ih8gates)](https://github.com/ih8gates "9 total commits to the home-assistant organization, 8 commits to home-assistant.github.io, 1 commit to home-assistant-polymer") -- [Sean Dague (@sdague)](https://github.com/sdague "76 total commits to the home-assistant organization, 53 commits to home-assistant, 14 commits to home-assistant.github.io, 5 commits to home-assistant-polymer, 3 commits to netdisco, 1 commit to home-assistant-js") -- [Sean Gollschewsky (@gollo)](https://github.com/gollo "17 total commits to the home-assistant organization, 10 commits to home-assistant, 4 commits to home-assistant.github.io, 3 commits to hassio-build") +- [Scott Griffin (@scottocs11)](https://github.com/scottocs11 "7 total commits to the home-assistant organization, 7 commits to home-assistant.io") +- [Scott O'Neil (@americanwookie)](https://github.com/americanwookie "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") +- [Scott Reston (@ih8gates)](https://github.com/ih8gates "10 total commits to the home-assistant organization, 9 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [Sean Dague (@sdague)](https://github.com/sdague "77 total commits to the home-assistant organization, 54 commits to home-assistant, 14 commits to home-assistant.io, 5 commits to home-assistant-polymer, 3 commits to netdisco, 1 commit to home-assistant-js") +- [Sean Gollschewsky (@gollo)](https://github.com/gollo "17 total commits to the home-assistant organization, 10 commits to home-assistant, 4 commits to home-assistant.io, 3 commits to hassio-build") - [Sean Wilson (@swilson)](https://github.com/swilson "5 total commits to the home-assistant organization, 4 commits to home-assistant, 1 commit to home-assistant-polymer") -- [Sebastian (@sebk-666)](https://github.com/sebk-666 "6 total commits to the home-assistant organization, 5 commits to home-assistant.github.io, 1 commit to netdisco") +- [Sebastian (@sebk-666)](https://github.com/sebk-666 "6 total commits to the home-assistant organization, 5 commits to home-assistant.io, 1 commit to netdisco") - [Sebastian (@sgso)](https://github.com/sgso "3 total commits to the home-assistant organization, 3 commits to libcoap") -- [Sebastian Muszynski (@syssi)](https://github.com/syssi "125 total commits to the home-assistant organization, 76 commits to home-assistant, 44 commits to home-assistant.github.io, 3 commits to netdisco, 2 commits to home-assistant-polymer") +- [Sebastian Muszynski (@syssi)](https://github.com/syssi "136 total commits to the home-assistant organization, 86 commits to home-assistant, 45 commits to home-assistant.io, 3 commits to netdisco, 2 commits to home-assistant-polymer") - [Sebastian von Minckwitz (@teodoc)](https://github.com/teodoc "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Semir Patel (@analogue)](https://github.com/analogue "2 total commits to the home-assistant organization, 2 commits to appdaemon") - [Sergey Isachenko (@zabuldon)](https://github.com/zabuldon "9 total commits to the home-assistant organization, 9 commits to home-assistant") - [Sergey Vishnikin (@armicron)](https://github.com/armicron "33 total commits to the home-assistant organization, 33 commits to warrant") - [Sergio Viudes (@sjvc)](https://github.com/sjvc "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [sfam (@sfam)](https://github.com/sfam "65 total commits to the home-assistant organization, 58 commits to home-assistant, 5 commits to home-assistant.github.io, 1 commit to netdisco, 1 commit to home-assistant-polymer") +- [sfam (@sfam)](https://github.com/sfam "65 total commits to the home-assistant organization, 58 commits to home-assistant, 5 commits to home-assistant.io, 1 commit to netdisco, 1 commit to home-assistant-polymer") - [sharukins (@sharukins)](https://github.com/sharukins "3 total commits to the home-assistant organization, 3 commits to hassio-build") - [siebert (@siebert)](https://github.com/siebert "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Simon (@echox)](https://github.com/echox "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Simon Szustkowski (@simonszu)](https://github.com/simonszu "7 total commits to the home-assistant organization, 4 commits to home-assistant.github.io, 3 commits to home-assistant") -- [Sjors Spoorendonk (@sjorsjes)](https://github.com/sjorsjes "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Simon Holzmayer (@sholzmayer)](https://github.com/sholzmayer "2 total commits to the home-assistant organization, 1 commit to hassio, 1 commit to developers.home-assistant") +- [Simon Szustkowski (@simonszu)](https://github.com/simonszu "7 total commits to the home-assistant organization, 4 commits to home-assistant.io, 3 commits to home-assistant") +- [sjabby (@sjabby)](https://github.com/sjabby "29 total commits to the home-assistant organization, 28 commits to home-assistant.io, 1 commit to hassbian-scripts") +- [Sjors Spoorendonk (@sjorsjes)](https://github.com/sjorsjes "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [sjoshi10 (@sjoshi10)](https://github.com/sjoshi10 "1 total commits to the home-assistant organization, 1 commit to warrant") - [snizzleorg (@snizzleorg)](https://github.com/snizzleorg "5 total commits to the home-assistant organization, 5 commits to hadashboard") -- [St\. John Johnson (@stjohnjohnson)](https://github.com/stjohnjohnson "9 total commits to the home-assistant organization, 5 commits to home-assistant, 4 commits to home-assistant.github.io") -- [starkillerOG (@starkillerOG)](https://github.com/starkillerOG "1 total commits to the home-assistant organization, 1 commit to developers.home-assistant") -- [Stefan Jonasson (@stefan-jonasson)](https://github.com/stefan-jonasson "12 total commits to the home-assistant organization, 8 commits to home-assistant, 4 commits to home-assistant.github.io") +- [squidwardy (@squidwardy)](https://github.com/squidwardy "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") +- [Sriram Vaidyanathan (@vaidyasr)](https://github.com/vaidyasr "6 total commits to the home-assistant organization, 3 commits to home-assistant.io, 3 commits to home-assistant") +- [St\. John Johnson (@stjohnjohnson)](https://github.com/stjohnjohnson "9 total commits to the home-assistant organization, 5 commits to home-assistant, 4 commits to home-assistant.io") +- [starkillerOG (@starkillerOG)](https://github.com/starkillerOG "12 total commits to the home-assistant organization, 6 commits to home-assistant, 4 commits to home-assistant.io, 1 commit to developers.home-assistant, 1 commit to home-assistant-polymer") +- [Stefan Jonasson (@stefan-jonasson)](https://github.com/stefan-jonasson "12 total commits to the home-assistant organization, 8 commits to home-assistant, 4 commits to home-assistant.io") - [Stefano Scipioni (@scipioni)](https://github.com/scipioni "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Steltek (@Steltek)](https://github.com/Steltek "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [stephanerosi (@stephanerosi)](https://github.com/stephanerosi "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.github.io") +- [stephanerosi (@stephanerosi)](https://github.com/stephanerosi "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.io") - [Stephen Edgar (@ntwb)](https://github.com/ntwb "1 total commits to the home-assistant organization, 1 commit to fabric-home-assistant") -- [Stephen Yeargin (@stephenyeargin)](https://github.com/stephenyeargin "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") +- [Stephen Tomkinson (@neonbunny)](https://github.com/neonbunny "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Stephen Vanterpool (@blackgold9)](https://github.com/blackgold9 "38 total commits to the home-assistant organization, 37 commits to home-assistant-iOS, 1 commit to developers.home-assistant") +- [Stephen Yeargin (@stephenyeargin)](https://github.com/stephenyeargin "25 total commits to the home-assistant organization, 24 commits to hubot-home-assistant, 1 commit to home-assistant-polymer") - [Steve Easley (@SteveEasley)](https://github.com/SteveEasley "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Steven Looman (@StevenLooman)](https://github.com/StevenLooman "1 total commits to the home-assistant organization, 1 commit to netdisco") -- [Stu Gott (@stu-gott)](https://github.com/stu-gott "9 total commits to the home-assistant organization, 5 commits to home-assistant.github.io, 4 commits to home-assistant") +- [Steven Looman (@StevenLooman)](https://github.com/StevenLooman "9 total commits to the home-assistant organization, 7 commits to home-assistant, 2 commits to netdisco") +- [Stu Gott (@stu-gott)](https://github.com/stu-gott "9 total commits to the home-assistant organization, 5 commits to home-assistant.io, 4 commits to home-assistant") - [Stuart Williams (@stuwil)](https://github.com/stuwil "1 total commits to the home-assistant organization, 1 commit to netdisco") +- [Suresh Kalavala (@skalavala)](https://github.com/skalavala "32 total commits to the home-assistant organization, 32 commits to home-assistant.io") +- [Sven\-Hendrik Haase (@svenstaro)](https://github.com/svenstaro "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [swanwila (@swanwila)](https://github.com/swanwila "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [System Tester (@systemtester)](https://github.com/systemtester "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Sytone (@sytone)](https://github.com/sytone "7 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 1 commit to hassio-build") -- [Sören Oldag (@soldag)](https://github.com/soldag "15 total commits to the home-assistant organization, 8 commits to home-assistant.github.io, 7 commits to home-assistant") +- [System Tester (@systemtester)](https://github.com/systemtester "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Sytone (@sytone)](https://github.com/sytone "8 total commits to the home-assistant organization, 6 commits to home-assistant.io, 1 commit to developers.home-assistant, 1 commit to hassio-build") +- [Sören Oldag (@soldag)](https://github.com/soldag "15 total commits to the home-assistant organization, 8 commits to home-assistant.io, 7 commits to home-assistant") - [Tabakhase (@tabakhase)](https://github.com/tabakhase "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [tadly (@tadly)](https://github.com/tadly "4 total commits to the home-assistant organization, 4 commits to home-assistant") - [tango-foxtrot (@tango-foxtrot)](https://github.com/tango-foxtrot "1 total commits to the home-assistant organization, 1 commit to netdisco") -- [Taylor Peet (@RePeet13)](https://github.com/RePeet13 "9 total commits to the home-assistant organization, 9 commits to home-assistant.github.io") -- [Teagan Glenn (@Teagan42)](https://github.com/Teagan42 "59 total commits to the home-assistant organization, 49 commits to home-assistant, 9 commits to home-assistant.github.io, 1 commit to home-assistant-js") +- [Taylor Peet (@RePeet13)](https://github.com/RePeet13 "9 total commits to the home-assistant organization, 9 commits to home-assistant.io") +- [Teagan Glenn (@Teagan42)](https://github.com/Teagan42 "59 total commits to the home-assistant organization, 49 commits to home-assistant, 9 commits to home-assistant.io, 1 commit to home-assistant-js") - [Ted Drain (@TD22057)](https://github.com/TD22057 "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [tedstriker (@tedstriker)](https://github.com/tedstriker "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [tedstriker (@tedstriker)](https://github.com/tedstriker "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Teemu Mikkonen (@T3m3z)](https://github.com/T3m3z "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Teemu R\. (@rytilahti)](https://github.com/rytilahti "54 total commits to the home-assistant organization, 41 commits to home-assistant, 9 commits to home-assistant.github.io, 4 commits to netdisco") +- [Teemu R\. (@rytilahti)](https://github.com/rytilahti "59 total commits to the home-assistant organization, 46 commits to home-assistant, 9 commits to home-assistant.io, 4 commits to netdisco") - [Teguh Sobirin (@tjstyle)](https://github.com/tjstyle "2 total commits to the home-assistant organization, 2 commits to pi-gen") - [Tentoe (@Tentoe)](https://github.com/Tentoe "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Theb-1 (@Theb-1)](https://github.com/Theb-1 "5 total commits to the home-assistant organization, 5 commits to home-assistant") - [thecynic (@thecynic)](https://github.com/thecynic "4 total commits to the home-assistant organization, 4 commits to home-assistant") - [TheFrogDaddy (@TheFrogDaddy)](https://github.com/TheFrogDaddy "1 total commits to the home-assistant organization, 1 commit to appdaemon") - [thelittlefireman (@thelittlefireman)](https://github.com/thelittlefireman "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [themanieldaniel (@themanieldaniel)](https://github.com/themanieldaniel "8 total commits to the home-assistant organization, 8 commits to home-assistant.github.io") +- [themanieldaniel (@themanieldaniel)](https://github.com/themanieldaniel "13 total commits to the home-assistant organization, 13 commits to home-assistant.io") - [Theodor Lindquist (@theolind)](https://github.com/theolind "25 total commits to the home-assistant organization, 25 commits to home-assistant") - [Thiago Oliveira (@chilicheech)](https://github.com/chilicheech "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Thibault Cohen (@titilambert)](https://github.com/titilambert "50 total commits to the home-assistant organization, 37 commits to home-assistant, 13 commits to home-assistant.github.io") -- [Thibault Maekelbergh (@thibmaek)](https://github.com/thibmaek "4 total commits to the home-assistant organization, 3 commits to home-assistant.github.io, 1 commit to hassio-addons") -- [Thijs de Jong (@bakedraccoon)](https://github.com/bakedraccoon "21 total commits to the home-assistant organization, 16 commits to home-assistant, 5 commits to home-assistant.github.io") -- [ThinkPadNL (@ThinkPadNL)](https://github.com/ThinkPadNL "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Thom Troy (@ttroy50)](https://github.com/ttroy50 "13 total commits to the home-assistant organization, 7 commits to home-assistant.github.io, 6 commits to home-assistant") +- [Thibault Cohen (@titilambert)](https://github.com/titilambert "53 total commits to the home-assistant organization, 39 commits to home-assistant, 13 commits to home-assistant.io, 1 commit to home-assistant-polymer") +- [Thibault Maekelbergh (@thibmaek)](https://github.com/thibmaek "4 total commits to the home-assistant organization, 3 commits to home-assistant.io, 1 commit to hassio-addons") +- [ThinkPadNL (@ThinkPadNL)](https://github.com/ThinkPadNL "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Thom Troy (@ttroy50)](https://github.com/ttroy50 "15 total commits to the home-assistant organization, 8 commits to home-assistant.io, 7 commits to home-assistant") +- [Thomas Delaet (@thomasdelaet)](https://github.com/thomasdelaet "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [Thomas Petazzoni (@tpetazzoni)](https://github.com/tpetazzoni "1 total commits to the home-assistant organization, 1 commit to libcoap") - [Thomas Phillips (@thomas-phillips-nz)](https://github.com/thomas-phillips-nz "2 total commits to the home-assistant organization, 2 commits to pi-gen") - [Thomas Purchas (@thomaspurchas)](https://github.com/thomaspurchas "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") - [Thomas Pötsch (@thp-comnets)](https://github.com/thp-comnets "7 total commits to the home-assistant organization, 7 commits to libcoap") -- [thrawnarn (@thrawnarn)](https://github.com/thrawnarn "9 total commits to the home-assistant organization, 5 commits to home-assistant, 3 commits to home-assistant.github.io, 1 commit to netdisco") -- [ThUnD3r\|Gr33n (@thundergreen)](https://github.com/thundergreen "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [thrawnarn (@thrawnarn)](https://github.com/thrawnarn "10 total commits to the home-assistant organization, 5 commits to home-assistant, 4 commits to home-assistant.io, 1 commit to netdisco") +- [ThUnD3r\|Gr33n (@thundergreen)](https://github.com/thundergreen "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [tijuca (@tijuca)](https://github.com/tijuca "106 total commits to the home-assistant organization, 106 commits to libcoap") - [Tim Wilbrink (@TWilb)](https://github.com/TWilb "15 total commits to the home-assistant organization, 15 commits to home-assistant-iOS") - [Timo (@timotk)](https://github.com/timotk "1 total commits to the home-assistant organization, 1 commit to netdisco") -- [timstanley1985 (@timstanley1985)](https://github.com/timstanley1985 "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [timstanley1985 (@timstanley1985)](https://github.com/timstanley1985 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [TJ Rana (@tjrana)](https://github.com/tjrana "1 total commits to the home-assistant organization, 1 commit to pi-gen") - [tleegaard (@tleegaard)](https://github.com/tleegaard "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") +- [Toast (@swetoast)](https://github.com/swetoast "2 total commits to the home-assistant organization, 2 commits to hassbian-scripts") +- [Tobias Hoff (@ToSa27)](https://github.com/ToSa27 "1 total commits to the home-assistant organization, 1 commit to hassio-addons") - [Tobie Booth (@tobiebooth)](https://github.com/tobiebooth "4 total commits to the home-assistant organization, 3 commits to home-assistant, 1 commit to home-assistant-polymer") - [Toby Gray (@tobygray)](https://github.com/tobygray "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Tod Schmidt (@tschmidty69)](https://github.com/tschmidty69 "33 total commits to the home-assistant organization, 21 commits to home-assistant, 9 commits to home-assistant.github.io, 2 commits to hassio-addons, 1 commit to hassio") +- [Tod Schmidt (@tschmidty69)](https://github.com/tschmidty69 "37 total commits to the home-assistant organization, 21 commits to home-assistant, 10 commits to home-assistant.io, 5 commits to hassio-addons, 1 commit to hassio") - [toddeye (@toddeye)](https://github.com/toddeye "20 total commits to the home-assistant organization, 20 commits to home-assistant") -- [Tom (@Qu3uk)](https://github.com/Qu3uk "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Tom (@Qu3uk)](https://github.com/Qu3uk "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [Tom Dickman (@tdickman)](https://github.com/tdickman "3 total commits to the home-assistant organization, 3 commits to home-assistant") -- [Tom Duijf (@tomduijf)](https://github.com/tomduijf "70 total commits to the home-assistant organization, 53 commits to home-assistant, 9 commits to home-assistant.github.io, 6 commits to home-assistant-polymer, 2 commits to netdisco") -- [Tom Harris (@teharris1)](https://github.com/teharris1 "10 total commits to the home-assistant organization, 7 commits to home-assistant, 3 commits to home-assistant.github.io") -- [Tom Hoover (@tomhoover)](https://github.com/tomhoover "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Tom Matheussen (@Tommatheussen)](https://github.com/Tommatheussen "13 total commits to the home-assistant organization, 6 commits to home-assistant, 4 commits to home-assistant-polymer, 3 commits to home-assistant.github.io") +- [Tom Duijf (@tomduijf)](https://github.com/tomduijf "70 total commits to the home-assistant organization, 53 commits to home-assistant, 9 commits to home-assistant.io, 6 commits to home-assistant-polymer, 2 commits to netdisco") +- [Tom Harris (@teharris1)](https://github.com/teharris1 "22 total commits to the home-assistant organization, 15 commits to home-assistant, 7 commits to home-assistant.io") +- [Tom Hoover (@tomhoover)](https://github.com/tomhoover "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Tom Matheussen (@Tommatheussen)](https://github.com/Tommatheussen "13 total commits to the home-assistant organization, 6 commits to home-assistant, 4 commits to home-assistant-polymer, 3 commits to home-assistant.io") - [Tom Usher (@tomusher)](https://github.com/tomusher "1 total commits to the home-assistant organization, 1 commit to netdisco") - [Tomi Salmi (@tomppasalmi)](https://github.com/tomppasalmi "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [Tomi Tuhkanen (@ttu)](https://github.com/ttu "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [TopdRob (@TopdRob)](https://github.com/TopdRob "7 total commits to the home-assistant organization, 7 commits to home-assistant") - [Torkild Retvedt (@torkildr)](https://github.com/torkildr "2 total commits to the home-assistant organization, 2 commits to appdaemon") - [Toshik (@Toshik)](https://github.com/Toshik "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") -- [Touliloup (@RiRomain)](https://github.com/RiRomain "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [tradiuz (@tradiuz)](https://github.com/tradiuz "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [travislreno (@travislreno)](https://github.com/travislreno "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Touliloup (@RiRomain)](https://github.com/RiRomain "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [tradiuz (@tradiuz)](https://github.com/tradiuz "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [travislreno (@travislreno)](https://github.com/travislreno "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [trbs (@trbs)](https://github.com/trbs "1 total commits to the home-assistant organization, 1 commit to netdisco") -- [Trevor (@tboyce021)](https://github.com/tboyce021 "15 total commits to the home-assistant organization, 10 commits to home-assistant, 5 commits to home-assistant.github.io") -- [Trey Hunner (@treyhunner)](https://github.com/treyhunner "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Trevor (@tboyce021)](https://github.com/tboyce021 "15 total commits to the home-assistant organization, 10 commits to home-assistant, 5 commits to home-assistant.io") +- [Trey Hunner (@treyhunner)](https://github.com/treyhunner "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [trollkarlen (@trollkarlen)](https://github.com/trollkarlen "5 total commits to the home-assistant organization, 5 commits to home-assistant") -- [Tsvi Mostovicz (@tsvi)](https://github.com/tsvi "9 total commits to the home-assistant organization, 5 commits to home-assistant.github.io, 4 commits to home-assistant") -- [Tyler Page (@iamtpage)](https://github.com/iamtpage "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") +- [Tsvi Mostovicz (@tsvi)](https://github.com/tsvi "9 total commits to the home-assistant organization, 5 commits to home-assistant.io, 4 commits to home-assistant") +- [Tyler Page (@iamtpage)](https://github.com/iamtpage "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") - [Tõnis Tobre (@tobre6)](https://github.com/tobre6 "1 total commits to the home-assistant organization, 1 commit to homebridge-homeassistant") - [uchagani (@uchagani)](https://github.com/uchagani "8 total commits to the home-assistant organization, 7 commits to home-assistant, 1 commit to home-assistant-polymer") -- [Uli (@uehler)](https://github.com/uehler "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") +- [Uli (@uehler)](https://github.com/uehler "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") - [UnrealKazu (@UnrealKazu)](https://github.com/UnrealKazu "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [upsert (@upsert)](https://github.com/upsert "1 total commits to the home-assistant organization, 1 commit to netdisco") - [User5981 (@User5981)](https://github.com/User5981 "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Valentin Alexeev (@valentinalexeev)](https://github.com/valentinalexeev "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Valentin Alexeev (@valentinalexeev)](https://github.com/valentinalexeev "11 total commits to the home-assistant organization, 8 commits to home-assistant, 3 commits to home-assistant.io") +- [Vasiley (@Vasiley)](https://github.com/Vasiley "9 total commits to the home-assistant organization, 9 commits to home-assistant.io") - [Victor Cerutti (@victorcerutti)](https://github.com/victorcerutti "3 total commits to the home-assistant organization, 3 commits to home-assistant-polymer") - [Viet Dzung (@dzungpv)](https://github.com/dzungpv "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [Vignesh Venkat (@vickyg3)](https://github.com/vickyg3 "9 total commits to the home-assistant organization, 5 commits to home-assistant, 4 commits to home-assistant.github.io") -- [Ville Skyttä (@scop)](https://github.com/scop "47 total commits to the home-assistant organization, 26 commits to home-assistant, 10 commits to home-assistant.github.io, 4 commits to netdisco, 3 commits to hassio-addons, 2 commits to hassio-build, 2 commits to home-assistant-polymer") +- [Vignesh Venkat (@vickyg3)](https://github.com/vickyg3 "11 total commits to the home-assistant organization, 7 commits to home-assistant, 4 commits to home-assistant.io") +- [Ville Skyttä (@scop)](https://github.com/scop "91 total commits to the home-assistant organization, 59 commits to home-assistant, 11 commits to home-assistant.io, 9 commits to netdisco, 4 commits to hassio-addons, 3 commits to hassio-cli, 2 commits to hassio-build, 2 commits to home-assistant-polymer, 1 commit to hassio") +- [Vincent Van Den Berghe (@vandenberghev)](https://github.com/vandenberghev "3 total commits to the home-assistant organization, 3 commits to home-assistant") - [viswa-swami (@viswa-swami)](https://github.com/viswa-swami "9 total commits to the home-assistant organization, 9 commits to home-assistant") - [Vlad Korniev (@vkorn)](https://github.com/vkorn "1 total commits to the home-assistant organization, 1 commit to hassio-build") - [vllungu (@vllungu)](https://github.com/vllungu "3 total commits to the home-assistant organization, 3 commits to libcoap") -- [vrs01 (@vrs01)](https://github.com/vrs01 "20 total commits to the home-assistant organization, 14 commits to home-assistant.github.io, 6 commits to appdaemon") +- [vrs01 (@vrs01)](https://github.com/vrs01 "20 total commits to the home-assistant organization, 14 commits to home-assistant.io, 6 commits to appdaemon") - [Wagner Sartori Junior (@trunet)](https://github.com/trunet "1 total commits to the home-assistant organization, 1 commit to netdisco") - [Wesley Young (@wesdyoung)](https://github.com/wesdyoung "1 total commits to the home-assistant organization, 1 commit to warrant") -- [Wilco Land (@Wilco89)](https://github.com/Wilco89 "3 total commits to the home-assistant organization, 3 commits to home-assistant.github.io") -- [Will Heid (@bassclarinetl2)](https://github.com/bassclarinetl2 "20 total commits to the home-assistant organization, 19 commits to home-assistant.github.io, 1 commit to fabric-home-assistant") +- [Wilco Land (@Wilco89)](https://github.com/Wilco89 "3 total commits to the home-assistant organization, 3 commits to home-assistant.io") +- [Will Heid (@bassclarinetl2)](https://github.com/bassclarinetl2 "20 total commits to the home-assistant organization, 19 commits to home-assistant.io, 1 commit to fabric-home-assistant") - [Will W\. (@tiktok7)](https://github.com/tiktok7 "4 total commits to the home-assistant organization, 4 commits to home-assistant") -- [Willems Davy (@joyrider3774)](https://github.com/joyrider3774 "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Willems Davy (@joyrider3774)](https://github.com/joyrider3774 "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") - [William Johansson (@radhus)](https://github.com/radhus "1 total commits to the home-assistant organization, 1 commit to hassio") -- [William Scanlon (@w1ll1am23)](https://github.com/w1ll1am23 "113 total commits to the home-assistant organization, 78 commits to home-assistant, 33 commits to home-assistant.github.io, 2 commits to netdisco") +- [William Scanlon (@w1ll1am23)](https://github.com/w1ll1am23 "119 total commits to the home-assistant organization, 81 commits to home-assistant, 36 commits to home-assistant.io, 2 commits to netdisco") - [williamlehman (@williamlehman)](https://github.com/williamlehman "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") -- [wind-rider (@wind-rider)](https://github.com/wind-rider "5 total commits to the home-assistant organization, 5 commits to home-assistant") -- [wokar (@wokar)](https://github.com/wokar "12 total commits to the home-assistant organization, 8 commits to home-assistant, 4 commits to home-assistant.github.io") -- [Wolf\-Bastian Pöttner (@BastianPoe)](https://github.com/BastianPoe "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.github.io") +- [Wim Haanstra (@depl0y)](https://github.com/depl0y "3 total commits to the home-assistant organization, 3 commits to home-assistant") +- [wokar (@wokar)](https://github.com/wokar "12 total commits to the home-assistant organization, 8 commits to home-assistant, 4 commits to home-assistant.io") +- [Wolf\-Bastian Pöttner (@BastianPoe)](https://github.com/BastianPoe "7 total commits to the home-assistant organization, 4 commits to home-assistant, 3 commits to home-assistant.io") - [Wolfgang Malgadey (@wmalgadey)](https://github.com/wmalgadey "5 total commits to the home-assistant organization, 5 commits to home-assistant") -- [XECDesign (@XECDesign)](https://github.com/XECDesign "138 total commits to the home-assistant organization, 138 commits to pi-gen") +- [XECDesign (@XECDesign)](https://github.com/XECDesign "145 total commits to the home-assistant organization, 145 commits to pi-gen") - [Xorso (@Xorso)](https://github.com/Xorso "22 total commits to the home-assistant organization, 21 commits to home-assistant, 1 commit to hassio-addons") -- [Yannick POLLART (@ypollart)](https://github.com/ypollart "8 total commits to the home-assistant organization, 4 commits to home-assistant, 4 commits to home-assistant.github.io") -- [Yasin Soliman (@yasinS)](https://github.com/yasinS "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") +- [Yannick POLLART (@ypollart)](https://github.com/ypollart "8 total commits to the home-assistant organization, 4 commits to home-assistant.io, 4 commits to home-assistant") +- [yasinS (@yasinS)](https://github.com/yasinS "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Yevgeniy (@sgttrs)](https://github.com/sgttrs "1 total commits to the home-assistant organization, 1 commit to home-assistant-polymer") - [yingzong (@yingzong)](https://github.com/yingzong "1 total commits to the home-assistant organization, 1 commit to warrant") -- [Zen Tormey (@xehn)](https://github.com/xehn "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Zhao Lu (@zlu)](https://github.com/zlu "4 total commits to the home-assistant organization, 4 commits to home-assistant.github.io") -- [Zio Tibia (@ziotibia81)](https://github.com/ziotibia81 "12 total commits to the home-assistant organization, 7 commits to home-assistant.github.io, 5 commits to home-assistant") -- [Zorks (@Zorks)](https://github.com/Zorks "5 total commits to the home-assistant organization, 5 commits to home-assistant.github.io") -- [Åskar Andersson (@olskar)](https://github.com/olskar "10 total commits to the home-assistant organization, 6 commits to home-assistant.github.io, 3 commits to home-assistant, 1 commit to hassbian-scripts") +- [Zen Tormey (@xehn)](https://github.com/xehn "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Zhao Lu (@zlu)](https://github.com/zlu "4 total commits to the home-assistant organization, 4 commits to home-assistant.io") +- [Zio Tibia (@ziotibia81)](https://github.com/ziotibia81 "12 total commits to the home-assistant organization, 7 commits to home-assistant.io, 5 commits to home-assistant") +- [Zorks (@Zorks)](https://github.com/Zorks "5 total commits to the home-assistant organization, 5 commits to home-assistant.io") +- [Åskar Andersson (@olskar)](https://github.com/olskar "10 total commits to the home-assistant organization, 6 commits to home-assistant.io, 3 commits to home-assistant, 1 commit to hassbian-scripts") This page is irregularly updated using the [`credits_generator` tool](https://github.com/home-assistant/home-assistant.github.io/tree/next/credits_generator). If you think that you are missing, please let us know. -This page was last updated Sunday, June 3rd 2018, 8:50:11 pm UTC. +This page was last updated Tuesday, August 28th 2018, 7:39:11 am UTC. From d5af4f8d9d58681f927ec20691ff04c550d6cef2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 29 Aug 2018 09:40:51 +0200 Subject: [PATCH 028/164] Add redirect url for app --- source/_docs/ecosystem/ios.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_docs/ecosystem/ios.markdown b/source/_docs/ecosystem/ios.markdown index 027fe503230..ade6bede755 100644 --- a/source/_docs/ecosystem/ios.markdown +++ b/source/_docs/ecosystem/ios.markdown @@ -10,6 +10,8 @@ footer: true redirect_from: /ecosystem/ios/ --- + + The Home Assistant for iOS app offers a companion app for iOS which is deeply integrated into both Home Assistant and iOS. Its basic features include: * Advanced push notifications From 615304022dfd808bcf19cef00a5b15e663ff77e9 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 29 Aug 2018 09:46:56 +0200 Subject: [PATCH 029/164] Add redirect uri for ios --- source/_docs/ecosystem/ios.markdown | 2 -- source/ios/index.markdown | 13 +++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 source/ios/index.markdown diff --git a/source/_docs/ecosystem/ios.markdown b/source/_docs/ecosystem/ios.markdown index ade6bede755..027fe503230 100644 --- a/source/_docs/ecosystem/ios.markdown +++ b/source/_docs/ecosystem/ios.markdown @@ -10,8 +10,6 @@ footer: true redirect_from: /ecosystem/ios/ --- - - The Home Assistant for iOS app offers a companion app for iOS which is deeply integrated into both Home Assistant and iOS. Its basic features include: * Advanced push notifications diff --git a/source/ios/index.markdown b/source/ios/index.markdown new file mode 100644 index 00000000000..bd87dbb77eb --- /dev/null +++ b/source/ios/index.markdown @@ -0,0 +1,13 @@ +--- +layout: page +title: "Home Assistant iOS" +description: "Landing page for Home Assistant iOS app." +release_date: 2016-10-24 15:00:00 -0700 +sidebar: true +comments: false +sharing: true +footer: true +--- + + + From 7a258cf3a8ef5369e438d02ac3747a3a19213b8a Mon Sep 17 00:00:00 2001 From: Marcel Hoppe Date: Wed, 29 Aug 2018 10:57:15 +0200 Subject: [PATCH 030/164] Update hangouts.markdown (#6105) * Update hangouts.markdown Add an important hint for captchas and a best practice for using a second google account as bot. * typo --- source/_components/hangouts.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/hangouts.markdown b/source/_components/hangouts.markdown index 66340a0e49f..5400f81ecd0 100644 --- a/source/_components/hangouts.markdown +++ b/source/_components/hangouts.markdown @@ -22,8 +22,12 @@ Fill the form: * Your **Google Mail Address** and **Password** * If needed, you will be asked for a 2-factor authorization token +**BEST PRACTICE:** You can't write messages to yourself or get notifications in a group, if "you" write the message. The best way is to create a own google account for your hangouts bot. + **IMPORTANT:** If you secured your account with 2 factor authorization: Only verification by app or SMS are supported. There is no support for verification by prompt on your phone. +**IMPORTANT 2:** If you are sure your email and password is correct, but the component says the login is invalid. Wait a few hours and try it again, it might be, that google asks for a captcha which we can't support. Google official don't support bots at hangouts, that's why we have to work around this. + The authentication token will be generated and stored internally. ```yaml From 99f9466fba728c0a8bd004e5425e605692a2f41c Mon Sep 17 00:00:00 2001 From: Jason Hu Date: Wed, 29 Aug 2018 02:58:39 -0700 Subject: [PATCH 031/164] Fix a link (#6106) --- source/_docs/authentication/providers.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown index a2949c2f557..aa1508255d7 100644 --- a/source/_docs/authentication/providers.markdown +++ b/source/_docs/authentication/providers.markdown @@ -56,7 +56,7 @@ homeassistant: With the trusted networks auth provider you can whitelist an IP range for which no authentication will be required. The user will be prompted to pick a user to log in as.

-The [multi-factor autentication module](multi-factor-auth) will not participate in login process by using this auth provider. +The [multi-factor autentication module](../multi-factor-auth) will not participate in login process by using this auth provider.

```yaml From faf70d334940c91a93940185f8fec2e3b59501ba Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 29 Aug 2018 12:56:35 +0200 Subject: [PATCH 032/164] Fix typo --- source/_posts/2018-08-29-release-77.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index fdaf74551a6..36e35235bf9 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -23,7 +23,7 @@ Once logged in, you will have access to the following new features: - Configure multifactor authentication (TOTP) - Manage other users (limited to account created during onboarding) -Although it's possible to configure authentication, we stronlgy recommend to stick with the default authentication configuration. If you had auth providers configured in a previous Home Assistant release, we recommend to remove the configuration and start using the default. +Although it's possible to configure authentication, we strongly recommend to stick with the default authentication configuration. If you had auth providers configured in a previous Home Assistant release, we recommend to remove the configuration and start using the default. It will take some time before all of the Home Assistant ecosystem has been migrated over to the new auth system. Home Assistant will print a warning whenever an application connects to Home Assistant with the legacy authentication. This will help users notify the application developers to transition to use the new [OAuth2](https://developers.home-assistant.io/docs/en/auth_api.html) authentication. For non-interactive scripts or other applications that are unable to update, we are planning to introduce a migration path for components to adopt url specific auth tokens and also introduce long lived access tokens to replace API passwords. A list of impacted components can be found [here](https://github.com/home-assistant/home-assistant/issues/15376#issuecomment-415890552). From 23ab489c79647dec5725393f4a9d49e348eb3d13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isabella=20Gross=20Alstr=C3=B6m?= Date: Wed, 29 Aug 2018 20:18:51 +0200 Subject: [PATCH 033/164] Corrected spelling error (#6108) --- source/_docs/authentication.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown index e32349a9693..bb575db1b7e 100644 --- a/source/_docs/authentication.markdown +++ b/source/_docs/authentication.markdown @@ -12,7 +12,7 @@ footer: true Access to Home Assistant is secured by our authentication system. Each member of your household will get their own user account to log in and access Home Assistant. -Home Assistant contains two different user types: the owner user account and normal users. The owner user account is created when you start Home Assitant for the first time. This account has some special privileges compared to the other users of the system: +Home Assistant contains two different user types: the owner user account and normal users. The owner user account is created when you start Home Assistant for the first time. This account has some special privileges compared to the other users of the system: - Manage users - Configure integrations and other settings (soon) From 8fe7e21a9c2e2b087e41b2ab936a434fb555a5b1 Mon Sep 17 00:00:00 2001 From: TimVa Date: Wed, 29 Aug 2018 20:19:16 +0200 Subject: [PATCH 034/164] Update knx.markdown (#6109) fixed typo --- source/_components/knx.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown index 7acfae76761..89e9a0c4129 100644 --- a/source/_components/knx.markdown +++ b/source/_components/knx.markdown @@ -105,7 +105,7 @@ KNX component is able to expose time or sensor values to KNX bus. The component ```yaml # Example configuration.yaml entry knx: - expose:: + expose: - type: 'temperature' entity_id: 'sensor.owm_temperature' address: '0/0/2' From b7447c01194c1db13f27f532781cf1f02b5cd4cf Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 29 Aug 2018 23:25:00 +0200 Subject: [PATCH 035/164] Release 77.1 --- _config.yml | 4 ++-- source/_posts/2018-08-29-release-77.markdown | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 60823e3e2d0..6aaba3a71e1 100644 --- a/_config.yml +++ b/_config.yml @@ -142,13 +142,13 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 77 -current_patch_version: 0 +current_patch_version: 1 date_released: 2018-08-29 # 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: "#" +patch_version_notes: "#release-0771---august-29" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index 36e35235bf9..f0c708d0b32 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -48,6 +48,19 @@ You didn't think we would forget about Lovelace, did you? This release include a - Add support for NOAA tide information (new PR) ([@jcconnell] - [#15947]) ([sensor.noaa_tides docs]) (new-platform) - Hangouts ([@hobbypunk90] - [#16049]) ([hangouts docs]) ([notify docs]) (new-platform) +## {% linkable_title Release 0.77.1 - August 29 %} + +- Fix trusted networks login error ([@awarecan]) +- Fix data_key override by parent class ([@syssi] - [#16278]) ([binary_sensor.xiaomi_aqara docs]) +- Fix error when vacuum is idling ([@cnrd] - [#16282]) ([vacuum.xiaomi_miio docs]) + +[#16278]: https://github.com/home-assistant/home-assistant/pull/16278 +[#16282]: https://github.com/home-assistant/home-assistant/pull/16282 +[@cnrd]: https://github.com/cnrd +[@syssi]: https://github.com/syssi +[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/ +[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/ + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. From 1ce0d2df6a5623490c8d1fbc8786ab59fc715d60 Mon Sep 17 00:00:00 2001 From: MartinP Date: Thu, 30 Aug 2018 17:03:41 +1000 Subject: [PATCH 036/164] Update fail2ban.markdown (#6104) * Update fail2ban.markdown Updated using more consistent paths for the filter and jail configuration. Added additional checks to help confirm everything working as expected. Added steps to unblock an IP address. Updated jail conf file includes email alerts. Removed the syslog section, this step is not required for fail2ban thus optional and only required if you want HA logs to be sent to syslog, should be covered by another page. * Update fail2ban.markdown * Update fail2ban.markdown * Update fail2ban.markdown * Update fail2ban.markdown * Update fail2ban.markdown --- source/_cookbook/fail2ban.markdown | 169 +++++++++++++++++++---------- 1 file changed, 109 insertions(+), 60 deletions(-) diff --git a/source/_cookbook/fail2ban.markdown b/source/_cookbook/fail2ban.markdown index 505fad6272d..a7e5d64b573 100644 --- a/source/_cookbook/fail2ban.markdown +++ b/source/_cookbook/fail2ban.markdown @@ -2,7 +2,7 @@ layout: page title: "fail2ban" description: "Setting up fail2ban to read Home Assistant's log files to improve security." -date: 2017-05-24 10:05 +date: 2018-08-29 15:30 AEST sidebar: true comments: false sharing: true @@ -10,12 +10,29 @@ footer: true ha_category: Infrastructure --- -This is a quick guide on how to setup fail2ban for Home Assistant. This was originally in the [forum](https://community.home-assistant.io/t/is-there-a-log-file-for-invalid-logins-blocking-hackers/2892) but I created this here for people. +This is a quick guide on how to setup fail2ban for Home Assistant. Contains extracts from [Is there a log file for invalid logins? \(Blocking hackers\)](https://community.home-assistant.io/t/is-there-a-log-file-for-invalid-logins-blocking-hackers/2892). -First install `fail2ban`. On Debian/Ubuntu this would be `apt-get install fail2ban`. On other distros you can google it. +**Installing fail2ban** -Then make sure logging is enabled in your `configuration.yaml` file for your Home Assistant instance: +Debian/Ubuntu: +```bash +sudo apt-get install fail2ban +``` +CentOS/RHEL: +```bash +sudo yum install epel-release +sudo yum install -y fail2ban +``` +Fedora: +```bash +sudo dnf install -y fail2ban +``` +For other package managers use the appropriate commands. + +**Enable Home Assistant Logging** + +First, enable http.ban logging in `configuration.yaml` file for your Home Assistant instance: ```yaml logger: default: critical @@ -23,82 +40,114 @@ logger: homeassistant.components.http.ban: warning ``` -Next we will be creating these three files : - -- `/etc/fail2ban/fail2ban.local` -- `/etc/fail2ban/filter.d/hass.local` -- `/etc/fail2ban/jail.local` - -Contents of `/etc/fail2ban/fail2ban.local`: - -```text -[Definition] -logtarget = SYSLOG +Restart Home Assistant to activate the changes: +```bash +sudo systemctl restart home-assistant ``` -Contents of `/etc/fail2ban/filter.d/hass.local`: +Tail the Home Assistant log then log out of the Home Assistant web interface and attempt logging in with an incorrect password, look for a line like `Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx`: +```bash +tail -f /home/homeassistant/.homeassistant/home-assistant.log | grep WARNING +2018-08-29 14:28:15 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx +``` -```text +**Configure fail2ban** + +Next we will create a filter and jail file for fail2ban: +- `/etc/fail2ban/filter.d/ha.conf` +- `/etc/fail2ban/jail.d/ha.conf` + +Contents of `/etc/fail2ban/filter.d/ha.conf`: +```ini [INCLUDES] before = common.conf [Definition] failregex = ^%(__prefix_line)s.*Login attempt or request with invalid authentication from .*$ - ignoreregex = ``` -Contents of `/etc/fail2ban/jail.local` (Note that you'll need to change the `logpath` to match your logfile which will be different from the path listed.): +Contents of `/etc/fail2ban/jail.d/ha.conf` (Note that you'll need to change the `logpath` to match your logfile which will be different from the path listed.): +```ini +[DEFAULT] +# Email config +sender = email@address.com +destemail = email@address.com -```text -[hass-iptables] +# Action "%(action_mwl)s" will ban the IP and send an email notification including whois data and log entries. +action = %(action_mwl)s + +[ha] enabled = true -filter = hass -action = iptables-allports[name=HASS] +filter = ha logpath = /home/homeassistant/.homeassistant/home-assistant.log -maxretry = 5 + +# 3600 seconds = 1 hour +bantime = 3600 +bantime = 30 # during testing it is useful to have a short ban interval, comment out this line later + +# Maximum amount of login attempts before IP is blocked +maxretry = 3 ``` -Finally restart fail2ban : `sudo systemctl restart fail2ban` - -Check your log to make sure it read in your settings : `tail -100 /var/log/syslog|grep fail` - -If all is well you should see this from your syslog: - +Restart fail2ban: ```bash -May 24 20:58:01 homeauto fail2ban.server[14997]: INFO Stopping all jails -May 24 20:58:02 homeauto fail2ban.jail[14997]: INFO Jail 'sshd' stopped -May 24 20:58:02 homeauto fail2ban-client[15206]: Shutdown successful -May 24 20:58:02 homeauto fail2ban.server[14997]: INFO Exiting Fail2ban -May 24 20:58:02 homeauto fail2ban-client[15213]: 2017-05-24 20:58:02,342 fail2ban.server [15215]: INFO Starting Fail2ban v0.9.6 -May 24 20:58:02 homeauto fail2ban-client[15213]: 2017-05-24 20:58:02,343 fail2ban.server [15215]: INFO Starting in daemon mode -May 24 20:58:02 homeauto fail2ban.server[15217]: INFO Changed logging target to SYSLOG (/dev/log) for Fail2ban v0.9.6 -May 24 20:58:02 homeauto fail2ban.database[15217]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3' -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Creating new jail 'sshd' -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Jail 'sshd' uses pyinotify {} -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Initiated 'pyinotify' backend -May 24 20:58:02 homeauto fail2ban.actions[15217]: INFO Set banTime = 600 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set findtime = 600 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set maxRetry = 5 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Added logfile = /var/log/auth.log -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set jail log file encoding to UTF-8 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set maxlines = 10 -May 24 20:58:02 homeauto fail2ban.server[15217]: INFO Jail sshd is not a JournalFilter instance -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Creating new jail 'hass-iptables' -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Jail 'hass-iptables' uses pyinotify {} -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Initiated 'pyinotify' backend -May 24 20:58:02 homeauto fail2ban.actions[15217]: INFO Set banTime = 600 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set findtime = 600 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set maxRetry = 5 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Added logfile = /opt/hass-prod-cfg/home-assistant.log -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Set jail log file encoding to UTF-8 -May 24 20:58:02 homeauto fail2ban.filter[15217]: INFO Date pattern set to `'^%y-%m-%d %H:%M:%S'`: `^Year2-Month-Day 24hour:Minute:Second` -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Jail 'sshd' started -May 24 20:58:02 homeauto fail2ban.jail[15217]: INFO Jail 'hass-iptables' started +sudo systemctl restart fail2ban ``` -That's it! +Confirm fail2ban is running: +```bash +sudo systemctl status fail2ban +``` +Check that the ha jail is active: +```bash +sudo fail2ban-client status +Status +|- Number of jail: 1 +`- Jail list: ha +``` + +**Testing fail2ban** + +Tail the fail2ban log file then log out of the Home Assistant web interface and attempt to log in again with an incorrect password. +```bash +sudo tail -f -n 20 /var/log/fail2ban.log +2018-08-29 13:25:37,907 fail2ban.server [10208]: INFO Starting Fail2ban v0.10.3.fix1 +2018-08-29 13:25:37,916 fail2ban.database [10208]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3' +2018-08-29 13:25:37,918 fail2ban.jail [10208]: INFO Creating new jail 'ha' +2018-08-29 13:25:37,922 fail2ban.jail [10208]: INFO Jail 'ha' uses poller {} +2018-08-29 13:25:37,922 fail2ban.jail [10208]: INFO Initiated 'polling' backend +2018-08-29 13:25:37,932 fail2ban.filter [10208]: INFO Added logfile: '/home/homeassistant/.homeassistant/home-assistant.log' (pos = 5873, hash = 02ec3aefc005465a6cd8db91eff2d5e57c45757e) +2018-08-29 13:25:37,932 fail2ban.filter [10208]: INFO encoding: UTF-8 +2018-08-29 13:25:37,933 fail2ban.filter [10208]: INFO maxRetry: 3 +2018-08-29 13:25:37,934 fail2ban.filter [10208]: INFO findtime: 600 +2018-08-29 13:25:37,934 fail2ban.actions [10208]: INFO banTime: 30 +2018-08-29 13:25:37,938 fail2ban.jail [10208]: INFO Jail 'ha' started +2018-08-29 13:27:49,125 fail2ban.filter [10208]: INFO [ha] Found xxx.xxx.xxx.xxx - 2018-08-29 13:27:48 +2018-08-29 13:27:51,330 fail2ban.filter [10208]: INFO [ha] Found xxx.xxx.xxx.xxx - 2018-08-29 13:27:51 +2018-08-29 13:27:52,533 fail2ban.filter [10208]: INFO [ha] Found xxx.xxx.xxx.xxx - 2018-08-29 13:27:52 +2018-08-29 13:27:52,678 fail2ban.actions [10208]: NOTICE [ha] Ban xxx.xxx.xxx.xxx +2018-08-29 13:28:23,941 fail2ban.actions [10208]: NOTICE [ha] Unban xxx.xxx.xxx.xxx +``` + +Now that fail2ban is working it can be enabled for startup at boot time, also raise the bantime from 30 seconds to what ever you would like, I used 8 hours which is 28800 seconds: +```bash +sudo sed -i 's/bantime = 30/bantime = 28800/g' /etc/fail2ban/jail.d/ha.conf +sudo systemctl enable fail2ban +sudo systemctl restart fail2ban +``` + +A final note, if you need to unban an IP it can be done with fail2ban-client: +```bash +sudo fail2ban-client set JAILNAME unbanip IPADDRESS +``` +eg: +```bash +sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx +``` + +Fail2ban should now be configured and running, if an IP address is banned you will recieve an email with whois details about the IP address that attempted to connect, if not you will need configure postfix or another MTA (Mail Transport Agent). If you want to read more about fail2ban, some links are below: - [fail2ban Split config](http://www.fail2ban.org/wiki/index.php/FEATURE_Split_config) From 5108fcc19d3c93f4bb6e4756d4d2c65c92a82744 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 30 Aug 2018 10:00:35 +0200 Subject: [PATCH 037/164] Fix style issues (#6114) --- source/_cookbook/fail2ban.markdown | 67 +++++++++++++++++++----------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/source/_cookbook/fail2ban.markdown b/source/_cookbook/fail2ban.markdown index a7e5d64b573..d5c5275a1c7 100644 --- a/source/_cookbook/fail2ban.markdown +++ b/source/_cookbook/fail2ban.markdown @@ -10,29 +10,34 @@ footer: true ha_category: Infrastructure --- -This is a quick guide on how to setup fail2ban for Home Assistant. Contains extracts from [Is there a log file for invalid logins? \(Blocking hackers\)](https://community.home-assistant.io/t/is-there-a-log-file-for-invalid-logins-blocking-hackers/2892). +This is a quick guide on how to set up `fail2ban` for Home Assistant. Contains extracts from [Is there a log file for invalid logins? \(Blocking hackers\)](https://community.home-assistant.io/t/is-there-a-log-file-for-invalid-logins-blocking-hackers/2892). -**Installing fail2ban** +## {% linkable_title Installing fail2ban %} Debian/Ubuntu: + ```bash -sudo apt-get install fail2ban +$ sudo apt-get install fail2ban ``` + CentOS/RHEL: + ```bash -sudo yum install epel-release -sudo yum install -y fail2ban +$ sudo yum install epel-release +$ sudo yum install -y fail2ban ``` Fedora: + ```bash -sudo dnf install -y fail2ban +$ sudo dnf install -y fail2ban ``` For other package managers use the appropriate commands. -**Enable Home Assistant Logging** +## {% linkable_title Enable Home Assistant Logging %} + +First, enable `http.ban` logging in `configuration.yaml` file for your Home Assistant instance: -First, enable http.ban logging in `configuration.yaml` file for your Home Assistant instance: ```yaml logger: default: critical @@ -41,23 +46,27 @@ logger: ``` Restart Home Assistant to activate the changes: + ```bash -sudo systemctl restart home-assistant +$ sudo systemctl restart home-assistant ``` Tail the Home Assistant log then log out of the Home Assistant web interface and attempt logging in with an incorrect password, look for a line like `Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx`: + ```bash -tail -f /home/homeassistant/.homeassistant/home-assistant.log | grep WARNING +$ tail -f /home/homeassistant/.homeassistant/home-assistant.log | grep WARNING 2018-08-29 14:28:15 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from xxx.xxx.xxx.xxx ``` -**Configure fail2ban** +## {% linkable_title Configure fail2ban %} + +Next we will create a filter and jail file for `fail2ban`: -Next we will create a filter and jail file for fail2ban: - `/etc/fail2ban/filter.d/ha.conf` - `/etc/fail2ban/jail.d/ha.conf` Contents of `/etc/fail2ban/filter.d/ha.conf`: + ```ini [INCLUDES] before = common.conf @@ -67,7 +76,8 @@ failregex = ^%(__prefix_line)s.*Login attempt or request with invalid authentica ignoreregex = ``` -Contents of `/etc/fail2ban/jail.d/ha.conf` (Note that you'll need to change the `logpath` to match your logfile which will be different from the path listed.): +Contents of `/etc/fail2ban/jail.d/ha.conf`. Note that you'll need to change the `logpath` to match your logfile which will be different from the path listed.: + ```ini [DEFAULT] # Email config @@ -90,17 +100,20 @@ bantime = 30 # during testing it is useful to have a short ban interval, comment maxretry = 3 ``` -Restart fail2ban: +Restart `fail2ban`: + ```bash sudo systemctl restart fail2ban ``` -Confirm fail2ban is running: +Confirm `fail2ban` is running: + ```bash sudo systemctl status fail2ban ``` Check that the ha jail is active: + ```bash sudo fail2ban-client status Status @@ -108,7 +121,7 @@ Status `- Jail list: ha ``` -**Testing fail2ban** +## {% linkable_title Testing fail2ban %} Tail the fail2ban log file then log out of the Home Assistant web interface and attempt to log in again with an incorrect password. ```bash @@ -131,24 +144,28 @@ sudo tail -f -n 20 /var/log/fail2ban.log 2018-08-29 13:28:23,941 fail2ban.actions [10208]: NOTICE [ha] Unban xxx.xxx.xxx.xxx ``` -Now that fail2ban is working it can be enabled for startup at boot time, also raise the bantime from 30 seconds to what ever you would like, I used 8 hours which is 28800 seconds: +Now that fail2ban is working it can be enabled for startup at boot time, also raise the bantime from 30 seconds to what ever you would like. 8 hours is 28800 seconds. + ```bash -sudo sed -i 's/bantime = 30/bantime = 28800/g' /etc/fail2ban/jail.d/ha.conf -sudo systemctl enable fail2ban -sudo systemctl restart fail2ban +$ sudo sed -i 's/bantime = 30/bantime = 28800/g' /etc/fail2ban/jail.d/ha.conf +$ sudo systemctl enable fail2ban +$ sudo systemctl restart fail2ban ``` -A final note, if you need to unban an IP it can be done with fail2ban-client: +A final note, if you need to unban an IP it can be done with `fail2ban-client`: + ```bash -sudo fail2ban-client set JAILNAME unbanip IPADDRESS +$ sudo fail2ban-client set JAILNAME unbanip IPADDRESS ``` eg: + ```bash -sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx +$ sudo fail2ban-client set ha unbanip xxx.xxx.xxx.xxx ``` -Fail2ban should now be configured and running, if an IP address is banned you will recieve an email with whois details about the IP address that attempted to connect, if not you will need configure postfix or another MTA (Mail Transport Agent). +Fail2ban should now be configured and running, if an IP address is banned you will recieve an email with WHOIS details about the IP address that attempted to connect, if not you will need configure Postfix or another MTA (Mail Transport Agent). + +If you want to read more about `fail2ban`, some links are below: -If you want to read more about fail2ban, some links are below: - [fail2ban Split config](http://www.fail2ban.org/wiki/index.php/FEATURE_Split_config) - [How To Protect SSH with Fail2Ban on Ubuntu 14.04](https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-ubuntu-14-04) From 55be4864a7355c97eec2ee0cda6dc9e23b8b1da5 Mon Sep 17 00:00:00 2001 From: Daniel Shokouhi Date: Thu, 30 Aug 2018 01:01:09 -0700 Subject: [PATCH 038/164] Small correction from home to base (#6112) --- source/_components/vacuum.neato.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.neato.markdown b/source/_components/vacuum.neato.markdown index 48a31aa24c9..51cf2cc1d81 100644 --- a/source/_components/vacuum.neato.markdown +++ b/source/_components/vacuum.neato.markdown @@ -24,5 +24,5 @@ Currently supported features are: - `start` - `pause` - `stop` -- `return_to_home` +- `return_to_base` - `locate` From 5839ed2002e0ac6d4f6c69c65db08ffe38eb01df Mon Sep 17 00:00:00 2001 From: mh-daedalus <32991541+mh-daedalus@users.noreply.github.com> Date: Thu, 30 Aug 2018 18:02:10 +1000 Subject: [PATCH 039/164] Update incorrect service return call (#6111) The vacuum service return_to_home should be return_to_base as listed in the services tool. Users using return_to_home will result in the service failing. --- source/_components/vacuum.xiaomi_miio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index c2fdfde0253..3adcbc43c45 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -20,7 +20,7 @@ Currently supported features are: - `start` - `pause` - `stop` -- `return_to_home` +- `return_to_base` - `locate` - `clean_spot` - `set_fan_speed` From 0fef498baf5f5ff5e26396a6ee0dbf69838cd25f Mon Sep 17 00:00:00 2001 From: Rudi Middel Date: Thu, 30 Aug 2018 15:22:15 +0200 Subject: [PATCH 040/164] Activation of the notifications (#6115) Changed the place where notifications can be activated (update since 0.77) --- source/_components/notify.html5.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/notify.html5.markdown b/source/_components/notify.html5.markdown index 36dd74067e6..57e6ce10e38 100644 --- a/source/_components/notify.html5.markdown +++ b/source/_components/notify.html5.markdown @@ -72,7 +72,7 @@ The `html5` platform can only function if all of the following requirements are Assuming you have already added the platform to your configuration: 1. Open Home Assistant in Chrome or Firefox. -2. Assuming you have met all the [requirements](#requirements) above, you should see a new slider for Push Notifications through the sidebar Configuration > General. +2. Assuming you have met all the [requirements](#requirements) above, you should see a new slider for Push Notifications through the profile page Profile > Push notifications. 3. Slide it to the on position. 4. Within a few seconds you should be prompted to allow notifications from Home Assistant. 5. Assuming you accept, that's all there is to it! From d20ed0c81e2b87eec956e631949c1f478fb476a1 Mon Sep 17 00:00:00 2001 From: Malte Franken Date: Thu, 30 Aug 2018 23:26:51 +1000 Subject: [PATCH 041/164] introduction to new geo location component with demo platform (#6094) --- source/_components/demo.markdown | 1 + source/_components/geo_location.markdown | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 source/_components/geo_location.markdown diff --git a/source/_components/demo.markdown b/source/_components/demo.markdown index f1c25737208..5f25f13646c 100644 --- a/source/_components/demo.markdown +++ b/source/_components/demo.markdown @@ -22,6 +22,7 @@ Available demo platforms: - [Climate](/components/climate/) (`climate`) - [Cover](/components/cover/) (`cover`) - [Fan](/components/fan/) (`fan`) +- [Geo Location](/components/geo_location/) (`geo_location`) - [Image Processing](/components/image_processing/) (`image_processing`) - [Light](/components/light/) (`light`) - [Lock](/components/lock/) (`lock`) diff --git a/source/_components/geo_location.markdown b/source/_components/geo_location.markdown new file mode 100644 index 00000000000..2990c019514 --- /dev/null +++ b/source/_components/geo_location.markdown @@ -0,0 +1,16 @@ +--- +layout: page +title: "Geo Location" +description: "Instructions on how to integrate geo location aware platforms into Home Assistant." +date: 2018-08-27 08:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Other +ha_release: "0.78" +--- + +Geo Location aware entities are typically related to events in the real world in the vicinity of Home Assistant's location, like for example weather events, bush fires or earthquakes. + +Entities can have associated geo location coordinates (latitude and longitude) so that they are displayed on the map. The distance from the entity's coordinates to Home Assistant's location can be used for filtering. From 135a11cb2a1067d206b01603e99d314fb36ae230 Mon Sep 17 00:00:00 2001 From: Daniel Reimer Date: Fri, 31 Aug 2018 07:40:47 +0200 Subject: [PATCH 042/164] Update sensor.fritzbox_callmonitor.markdown (#6122) data: is wrong here. -> data_template: --- source/_components/sensor.fritzbox_callmonitor.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.fritzbox_callmonitor.markdown b/source/_components/sensor.fritzbox_callmonitor.markdown index 6e50df044b1..013a8af18ec 100644 --- a/source/_components/sensor.fritzbox_callmonitor.markdown +++ b/source/_components/sensor.fritzbox_callmonitor.markdown @@ -84,7 +84,7 @@ automation: entity_id: sensor.phone action: - service: notify.notify - data: + data_template: title: "Phone" message: >- {% if is_state("sensor.phone", "idle") %} From 4813bf8039f655f8188b453161f2efe3b70ff5da Mon Sep 17 00:00:00 2001 From: Charles Garwood Date: Fri, 31 Aug 2018 01:47:14 -0400 Subject: [PATCH 043/164] Remove info on creating an api_password (#6120) --- source/_docs/configuration/basic.markdown | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown index 2c085217a6c..f862052b3cf 100644 --- a/source/_docs/configuration/basic.markdown +++ b/source/_docs/configuration/basic.markdown @@ -36,20 +36,4 @@ Configuration variables: - **customize** (*Optional*): [Customize](/docs/configuration/customizing-devices/) entities. - **customize_domain** (*Optional*): [Customize](/docs/configuration/customizing-devices/) all entities in a domain. - **customize_glob** (*Optional*): [Customize](/docs/configuration/customizing-devices/) entities matching a pattern. -- **whitelist_external_dirs** (*Optional*): List of folders that can be used as sources for sending files. - -### {% linkable_title Password protecting the web interface %} - -First, you'll want to add a password for the Home Assistant web interface. Use your favorite text editor to open `configuration.yaml` and edit the `http` section: - -```yaml -http: - api_password: YOUR_PASSWORD -``` - -

-If you decide to expose your Home Assistant instance to the internet and forget to set a password, your installation could be accessed by everybody. -

- -See the [HTTP component documentation](/components/http/) for more options, such as the use of HTTPS encryption. - +- **whitelist_external_dirs** (*Optional*): List of folders that can be used as sources for sending files. \ No newline at end of file From c9e8f61edeb5d4f1bf7d57bef9ae372782759e2b Mon Sep 17 00:00:00 2001 From: Matt Caminiti Date: Fri, 31 Aug 2018 00:48:00 -0500 Subject: [PATCH 044/164] Create configuration_yaml_by_mcaminiti.markdown (#6119) --- .../configuration_yaml_by_mcaminiti.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 source/_cookbook/configuration_yaml_by_mcaminiti.markdown diff --git a/source/_cookbook/configuration_yaml_by_mcaminiti.markdown b/source/_cookbook/configuration_yaml_by_mcaminiti.markdown new file mode 100644 index 00000000000..007a785d36c --- /dev/null +++ b/source/_cookbook/configuration_yaml_by_mcaminiti.markdown @@ -0,0 +1,12 @@ +--- +layout: page +title: "Configuration.yaml by mcaminiti" +description: "" +date: 2018-08-30 09:51 +0700 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Example configuration.yaml +ha_external_link: https://github.com/mcaminiti/homeassistant +--- From 4fafc660f5c33c8747bcaca009a43b20b6fe399f Mon Sep 17 00:00:00 2001 From: Jerad Meisner Date: Thu, 30 Aug 2018 22:48:53 -0700 Subject: [PATCH 045/164] Add default_zoom to map card docs. (#6113) --- source/_lovelace/map.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_lovelace/map.markdown b/source/_lovelace/map.markdown index 503d4ee0bb7..6f8f81b1a0a 100644 --- a/source/_lovelace/map.markdown +++ b/source/_lovelace/map.markdown @@ -40,17 +40,29 @@ aspect_ratio: description: "The map's height:width ratio." type: string default: "100%" +default_zoom: + required: false + description: The default zoom level of the map. + type: integer + default: 14 (or whatever zoom level is required to fit all visible markers) {% endconfiguration %}

Only entities that have latitude and longitude attributes will be displayed on the map.

+

+ The `default_zoom` value will be ignored if it is set higher than the current zoom level + after fitting all visible entity markers in the map window. In other words, this can only + be used to zoom the map _out_ by default. +

+ ## {% linkable_title Examples %} ```yaml - type: map aspect_ratio: 100% + default_zoom: 8 entities: - device_tracker.demo_paulus - zone.home From f1dbbbe0a019837fefcad5d520bfa622e5f26e99 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 31 Aug 2018 13:40:17 +0200 Subject: [PATCH 046/164] Version bump to 0.77.2 --- _config.yml | 6 +++--- source/_posts/2018-08-29-release-77.markdown | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index 6aaba3a71e1..e56a21fade4 100644 --- a/_config.yml +++ b/_config.yml @@ -142,13 +142,13 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 77 -current_patch_version: 1 -date_released: 2018-08-29 +current_patch_version: 2 +date_released: 2018-08-31 # 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-0771---august-29" +patch_version_notes: "#release-0772---august-31" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index f0c708d0b32..84b3c8906d6 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -61,6 +61,26 @@ You didn't think we would forget about Lovelace, did you? This release include a [binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/ [vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/ +## {% linkable_title Release 0.77.2 - August 31 %} + +- Correct wemo static device discovery issue. ([@lamiskin] - [#16292]) ([wemo docs]) +- Fix LIFX effects ([@amelchio] - [#16309]) ([light.lifx docs]) +- avoid error in debug log mode and rss entry without title ([@exxamalte] - [#16316]) ([feedreader docs]) +- Fix charts for climate devices ([@jeradM]) +- Fix header in Lovelace Glance cards ([@balloob]) +- Fix Profile page on Safari ([@balloob]) +- Fix redirect to login page on offline server ([@balloob]) + +[#16292]: https://github.com/home-assistant/home-assistant/pull/16292 +[#16309]: https://github.com/home-assistant/home-assistant/pull/16309 +[#16316]: https://github.com/home-assistant/home-assistant/pull/16316 +[@amelchio]: https://github.com/amelchio +[@exxamalte]: https://github.com/exxamalte +[@lamiskin]: https://github.com/lamiskin +[feedreader docs]: /components/feedreader/ +[light.lifx docs]: /components/light.lifx/ +[wemo docs]: /components/wemo/ + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. From 5959f92e90472ee4febc7f3f1a3f3554cf28dc29 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Fri, 31 Aug 2018 21:17:31 +0100 Subject: [PATCH 047/164] Adding troubleshooting section (#6124) We've had a *lot* of questions about how to wipe and start again, so adding a section on that --- source/_docs/authentication.markdown | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/_docs/authentication.markdown b/source/_docs/authentication.markdown index bb575db1b7e..7bae172053b 100644 --- a/source/_docs/authentication.markdown +++ b/source/_docs/authentication.markdown @@ -37,3 +37,15 @@ Once you're logged in, you can access the profile page by clicking on the badge As a user, you can setup multi-factor authentication with time-based one-time passwords. This is an extra challenge that you have to solve after you finish your login. You will be able to set up these challenges from the profile page once you're logged in. Screenshot of setting up multi-factor authentication + +## {% linkable_title Troubleshooting %} + +### {% linkable_title Lost owner password %} + +While you should hopefully be storing your passwords in a password manager, if you lose the password associated with the owner account the only way to resolve this is to delete *all* the authentication data. You do this by shutting down Home Assistant and deleting the following files from the `.storage/` folder in your [configuration folder](https://www.home-assistant.io/docs/configuration/): + +* `auth` +* `auth_provider.homeassistant` +* `onboarding` + +When you start Home Assistant next you'll be required to set up authentication again. From e062675eb9b8f574578591f8200cfed93e68ec39 Mon Sep 17 00:00:00 2001 From: Brian J King Date: Fri, 31 Aug 2018 20:23:57 -0500 Subject: [PATCH 048/164] Standardization & clarity changes for Google Hangouts component (#6129) * Standardize capitalization of Google Hangouts *(not Google hangouts or google hangouts)* * Standardize use of authentication when referring to 2 factor authentication, not *authorization* * Miscellaneous other changes for formatting and clarity. --- source/_components/hangouts.markdown | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/_components/hangouts.markdown b/source/_components/hangouts.markdown index 5400f81ecd0..8bc8948b600 100644 --- a/source/_components/hangouts.markdown +++ b/source/_components/hangouts.markdown @@ -12,21 +12,21 @@ ha_category: Hub ha_release: 0.77 --- -This component allows you to send messages to [Google Hangouts](http://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. +This component allows you to send messages to [Google Hangouts](https://hangouts.google.com) conversations, as well as to react to messages in conversations. Reacting to commands is accomplished by firing an event when one of the configured commands is triggered. ## {% linkable_title Setup the component via the frontend %} Menu: *Configuration* -> *Integrations* -Fill the form: -* Your **Google Mail Address** and **Password** -* If needed, you will be asked for a 2-factor authorization token +Configure the integration: +* Enter your **Google Mail Address** and **Password** +* If you secured your account with 2-factor authentication you will be asked for a 2-factor authentication token. -**BEST PRACTICE:** You can't write messages to yourself or get notifications in a group, if "you" write the message. The best way is to create a own google account for your hangouts bot. +**BEST PRACTICE:** You can't write messages to yourself or get notifications in a group, if "you" write the message. The best way is to create a new Google Hangouts account for this integration. -**IMPORTANT:** If you secured your account with 2 factor authorization: Only verification by app or SMS are supported. There is no support for verification by prompt on your phone. +**IMPORTANT:** If you secured your account with 2-factor authentication: Only verification by app or SMS are supported. There is no support for verification by prompt on your phone. -**IMPORTANT 2:** If you are sure your email and password is correct, but the component says the login is invalid. Wait a few hours and try it again, it might be, that google asks for a captcha which we can't support. Google official don't support bots at hangouts, that's why we have to work around this. +**IMPORTANT 2:** If you are sure your email and password is correct, but the component says the login is invalid. Wait a few hours and try it again, it might be, that google asks for a captcha which we can't support. Google does not provide official support for using bots with Google Hangouts, that's why we have to work around this. The authentication token will be generated and stored internally. From bf00119cfa076c86506ffb16fa8fe4532fc7424d Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Sat, 1 Sep 2018 09:34:02 +0200 Subject: [PATCH 049/164] deCONZ - documentation for new refresh device service --- source/_components/deconz.markdown | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index ae079650aef..4ca7b31935c 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -29,7 +29,7 @@ See [deCONZ wiki](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/ Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file. -If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry. +If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Settings** -> **Gateway** -> **Advanced** -> **Authenticate app** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry. You can add the following to your configuration.yaml file if you are not using the `discovery:` component: @@ -79,11 +79,11 @@ logger: ## {% linkable_title Device services %} -Available services: `configure`. +Available services: `configure` and `deconz.refresh_devices`. #### {% linkable_title Service `deconz.configure` %} -Set attribute of device in Deconz using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/). +Set attribute of device in deCONZ using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/). | Service data attribute | Optional | Description | |-----------|----------|-------------| @@ -99,9 +99,13 @@ Field and entity are exclusive, i.e you can only use one in a request. { "field": "/config", "data": {"permitjoin": 60} } +#### {% linkable_title Service `deconz.refresh_devices` %} + +Refresh with devices added to deCONZ after Home Assistants latest restart. + ## {% linkable_title Remote control devices %} -Remote controls (ZHASwitch category) will be not be exposed as a regular entity, but as events named 'deconz_event' with a payload of 'id' and 'event'. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level. +Remote controls (ZHASwitch category) will be not be exposed as regular entities, but as events named `deconz_event` with a payload of `id` and `event`. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level. Typical values for switches, the event codes are 4 numbers where the first and last number are of interest here. From 4ae009940d44dacc0bf70fb5b40dd26317491477 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Sat, 1 Sep 2018 09:37:29 +0200 Subject: [PATCH 050/164] Update deconz.markdown --- source/_components/deconz.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index 4ca7b31935c..5d17fde193f 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -88,7 +88,7 @@ Set attribute of device in deCONZ using [Rest API](http://dresden-elektronik.git | Service data attribute | Optional | Description | |-----------|----------|-------------| | `field` | No | String representing a specific device in deCONZ. | -| `entity` | No | String representing a specific HASS entity of a device in deCONZ. | +| `entity` | No | String representing a specific Home Assistant entity of a device in deCONZ. | | `data` | No | Data is a JSON object with what data you want to alter. | Field and entity are exclusive, i.e you can only use one in a request. @@ -103,6 +103,8 @@ Field and entity are exclusive, i.e you can only use one in a request. Refresh with devices added to deCONZ after Home Assistants latest restart. +Note: deCONZ automatically signals Home Assistant when new sensors are added, but other devices must at this point in time (deCONZ v2.05.35) be added manually using this service or a restart of Home Assistant. + ## {% linkable_title Remote control devices %} Remote controls (ZHASwitch category) will be not be exposed as regular entities, but as events named `deconz_event` with a payload of `id` and `event`. Id will be the device name from deCONZ and Event will be the momentary state of the switch. However, a sensor entity will be created that shows the battery level of the switch as reported by deCONZ, named sensor.device_name_battery_level. From 8d9c2e9261a788a9f813a64b2f8de601ee2159b7 Mon Sep 17 00:00:00 2001 From: Marco Sousa Date: Sat, 1 Sep 2018 10:47:57 +0200 Subject: [PATCH 051/164] new changelog in lovelance (#6126) --- source/lovelace/changelog.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index e32dbaf0bcf..39bc13598b8 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -2,12 +2,14 @@ layout: page title: "Lovelace Changelog" description: "Changelog of the Lovelace UI." -date: 2018-07-01 10:28 +00:00 +date: 2018-08-31 13:06 +02:00 sidebar: true comments: false sharing: true footer: true --- +## {% linkable_title Changes in 0.77.0 %} +- 📣 New notification drawer ❤️ ## {% linkable_title Changes in 0.75.0 %} From 8beb463c82f39c11060f4f6df5df9d3f8fed3bf6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:04:55 +0200 Subject: [PATCH 052/164] Minor fix --- source/_components/binary_sensor.random.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.random.markdown b/source/_components/binary_sensor.random.markdown index b1208681a8a..ac08186a313 100644 --- a/source/_components/binary_sensor.random.markdown +++ b/source/_components/binary_sensor.random.markdown @@ -18,7 +18,7 @@ The `random` binary sensor platform is creating random states (`True`, 1, `on` o ## {% linkable_title Configuration %} -To enable the random binary sensor, add the following lines to your `configuration.yaml`: +To enable the random binary sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry From 903483c2d4e963ca76022f1b777dedd3cc313942 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:06:13 +0200 Subject: [PATCH 053/164] Add title --- source/_components/sensor.dht.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.dht.markdown b/source/_components/sensor.dht.markdown index 1898ab35d4f..65a16633bda 100644 --- a/source/_components/sensor.dht.markdown +++ b/source/_components/sensor.dht.markdown @@ -14,7 +14,9 @@ ha_iot_class: "Local Polling" --- -The `dht` sensor platform allows you to get the current temperature and humidity from a DHT11, DHT22, or AM2302 device. +The `dht` sensor platform allows you to get the current temperature and humidity from a DHT11, DHT22 or AM2302 device. + +## {% linkable_title Configuration %} To use your DHTxx sensor in your installation, add the following to your `configuration.yaml` file: From 44cf07117e053876a6bc2b124eb89b8347bd427d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:07:34 +0200 Subject: [PATCH 054/164] Add title --- source/_components/sensor.bme680.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.bme680.markdown b/source/_components/sensor.bme680.markdown index 05d42769c1b..d2496dd8a33 100644 --- a/source/_components/sensor.bme680.markdown +++ b/source/_components/sensor.bme680.markdown @@ -14,12 +14,14 @@ ha_iot_class: "Local Push" --- -The `bme680` sensor platform allows you to read temperature, humidity, pressure and gas resistance values of a [Bosch BME680 Environmental sensor](https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf) connected via an [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. In addition, it includes a basic air quality calculation that uses gas resistance and humidity measurements to calculate a percentage based air quality measurement. +The `bme680` sensor platform allows you to read temperature, humidity, pressure and gas resistance values of a [Bosch BME680 Environmental sensor](https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf) connected via an [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. In addition, it includes a basic air quality calculation that uses gas resistance and humidity measurements to calculate a percentage based air quality measurement. Tested devices: - [Raspberry Pi](https://www.raspberrypi.org/) +## {% linkable_title Configuration %} + To use your BME680 sensor in your installation, add the following to your `configuration.yaml` file: ```yaml From c45ead8a010afb85840f71a29b55dd10bac5ea2d Mon Sep 17 00:00:00 2001 From: plyblu Date: Sat, 1 Sep 2018 04:07:57 -0500 Subject: [PATCH 055/164] Update multi-factor-auth.markdown (#6128) * Update multi-factor-auth.markdown improve spelling and grammar * Minor changes --- .../authentication/multi-factor-auth.markdown | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/source/_docs/authentication/multi-factor-auth.markdown b/source/_docs/authentication/multi-factor-auth.markdown index fd229645c24..90d51fe8f78 100644 --- a/source/_docs/authentication/multi-factor-auth.markdown +++ b/source/_docs/authentication/multi-factor-auth.markdown @@ -16,9 +16,9 @@ This is an advanced feature. If misconfigured, you will not be able to access Ho Besides the authentication providers, it's also possible to configure multi-factor authentication modules. These authentication modules will require the user to solve a second challenge besides just logging in. The idea is that you ask the user for something they know, their username/password, and something they have, like a time-based authentication token from their phone. -Multi-factor authentication module can be used mixed-match with authentication providers. After normal authentication provider validation, the login flow will ask user for addional challenge if there are multi-factor authentication modules enabled for this user. If more than one mutli-factor authentication module enabled, user can select one of them during the login. +The multi-factor authentication module can be used mixed-matched with authentication providers. After the normal authentication provider validation, the login flow will ask the user for additional challenge(s) if there are multi-factor authentication modules enabled for this user. If more than one mutli-factor authentication module is enabled, the user can select one of them during the login. -Multi-factor authentication module has to be enabled for user before it can be used in the login process, user can go to profile page enable it by himself. +The multi-factor authentication module has to be enabled for the user before it can be used in the login process. The user can go to the profile page enable it by himself. ## {% linkable_title Configuring mutli-factor authentication modules %} @@ -26,7 +26,7 @@ Multi-factor authentication module has to be enabled for user before it can be u By configuring your own instead of using the default configuration, you take full responsibility for the authentication of the system.

-Multi-factor authentication modules are configured in your `configuration.yaml` under the `homeassistant:` block: +Multi-factor authentication modules are configured in your `configuration.yaml` file under the `homeassistant:` block: ```yaml homeassistant: @@ -36,27 +36,26 @@ homeassistant: ## {% linkable_title Available mutli-factor authentication modules %} -Below is a list of currently available auth providers. +Below is a list of the currently available auth providers. ### {% linkable_title Time-based One-Time Password mutli-factor authentication module %} [Time-based One-Time Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm) is widely adopted in modern authencation system, it combines a secret key with the current timestamp using a cryptographic hash function to generate a one-time password. Whoever possessed the secret key will get same one-time password in certain time period. By verifying that password, Home Assistant knows the user have the right secrt key. -When try to set up TOTP module, a QR code will show up, user can scan it by an authenticator app, or set it up manauly using the code showed in UI. After setup, user need to input a six digit number generate in the autendicator app to verify the setup is good. If the verificaiton keep falling, you need to check whether the clock on Home Asistant is accurate. +When trying to set up TOTP module, a QR code will show up. The user can scan it by an authenticator app, or set it up manually using the code showed in the UI. After setup, the user needs to input a six digit number generated in the autendicator app to verify the setup is good. If the verification keeps failing, you need to check whether the clock on Home Assistant is accurate. -There are several authenctior apps on the market, we recommend either [Google Authenticator](https://support.google.com/accounts/answer/1066447) or [Authy](https://authy.com/) +There are several authenticator apps on the market, we recommend either [Google Authenticator](https://support.google.com/accounts/answer/1066447) or [Authy](https://authy.com/).

-Please treat the secret key like a password, never exposure it to others. +Please treat the secret key like a password, never expose it to others.

+By default, one TOTP multi-factor named "Authenticator app" will be auto loaded if no `auth_mfa_modules` configuration section defined in the `configuration.yaml` file. -By default one TOTP multi-factor named "Authenticator app" will be auto loaded if no `auth_mfa_modules` config section defined in `configuration.yaml`. - -Example of configuration +Example of configuration: ```yaml homeassistant: auth_mfa_modules: - type: totp -``` \ No newline at end of file +``` From 9d7a1dfbb1a67619a130cc63b5f095e313756033 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Sat, 1 Sep 2018 11:08:09 +0200 Subject: [PATCH 056/164] Appdaemon example for deCONZ to control Sonos (#6133) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * deCONZ - Appdaemon example control Sonos Appdaemon example on how to control a Sonos system using an Ikea Trådfri remote * Minor changes --- source/_components/deconz.markdown | 62 +++++++++++++++++++++++++++--- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index ae079650aef..0026d0b7f86 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -118,9 +118,9 @@ For the IKEA Tradfri remote, 1 is the middle button, 2 is up, 3 is down, 4 is le ## {% linkable_title Examples %} -### {% linkable_title Step up and step down input number with wireless dimmer %} +### {% linkable_title YAML %} -#### YAML +#### {% linkable_title Step up and step down input number with wireless dimmer %} {% raw %} ```yaml @@ -171,15 +171,17 @@ automation: ``` {% endraw %} -#### Appdaemon +### {% linkable_title Appdaemon %} + +#### {% linkable_title Appdaemon remote template %} {% raw %} ```yaml -remote_control_living_room: +remote_control: module: remote_control class: RemoteControl event: deconz_event - id: dimmer_switch_3 + id: dimmer_switch_1 ``` ```python @@ -204,3 +206,53 @@ class RemoteControl(hass.Hass): self.log('Button off') ``` {% endraw %} + +#### {% linkable_title Appdaemon remote template %} + +Community app from Teachingbirds. This app uses an Ikea Tradfri remote to control Sonos speakers with play/pause, volume up and down, next and previous track. + +{% raw %} +```yaml +sonos_remote_control: + module: sonos_remote + class: SonosRemote + event: deconz_event + id: sonos_remote + sonos: media_player.sonos +``` +{% endraw %} + +{% raw %} +```python +import appdaemon.plugins.hass.hassapi as hass + +class SonosRemote(hass.Hass): + + def initialize(self): + self.sonos = self.args['sonos'] + if 'event' in self.args: + self.listen_event(self.handle_event, self.args['event']) + + def handle_event(self, event_name, data, kwargs): + if data['id'] == self.args['id']: + if data['event'] == 1002: + self.log('Button toggle') + self.call_service("media_player/media_play_pause", entity_id = self.sonos) + + elif data['event'] == 2002: + self.log('Button volume up') + self.call_service("media_player/volume_up", entity_id = self.sonos) + + elif data['event'] == 3002: + self.log('Button volume down') + self.call_service("media_player/volume_down", entity_id = self.sonos) + + elif data['event'] == 4002: + self.log('Button previous') + self.call_service("media_player/media_previous_track", entity_id = self.sonos) + + elif data['event'] == 5002: + self.log('Button next') + self.call_service("media_player/media_next_track", entity_id = self.sonos) +``` +{% endraw %} From 82e8d05a8e8cb73c36d9ffec49845144885d2879 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:10:30 +0200 Subject: [PATCH 057/164] Add titles --- source/_components/sensor.noaa_tides.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/sensor.noaa_tides.markdown b/source/_components/sensor.noaa_tides.markdown index fca7249529b..2ae7a6875fc 100644 --- a/source/_components/sensor.noaa_tides.markdown +++ b/source/_components/sensor.noaa_tides.markdown @@ -14,8 +14,12 @@ logo: noaa.png The `noaa_tides` sensor platform uses details from [NOAA Tides and Currents](https://tidesandcurrents.noaa.gov/api/) to provide information about the prediction for the tides for any location in the United States. +## {% linkable_title Setup %} + This sensor requires the use of a NOAA station ID. Search [NOAA Tide Predictions](https://tidesandcurrents.noaa.gov/tide_predictions.html) to find a location. Use the ID from the search results in your configuration. Alternatively, you can determine a station ID from a URL. For example, `8721164` in the following URL: `https://tidesandcurrents.noaa.gov/noaatidepredictions.html?id=8721164` +## {% linkable_title Configuration %} + To use this sensor, add the following to your `configuration.yaml` file: ```yaml From 61297bd4080ce60ae4d7fe5471a2c57a8aea3b50 Mon Sep 17 00:00:00 2001 From: ajobbins <5669088+ajobbins@users.noreply.github.com> Date: Sat, 1 Sep 2018 19:14:24 +1000 Subject: [PATCH 058/164] Update sensor.google_travel_time.markdown (#6125) * Update sensor.google_travel_time.markdown Google have removed the previous daily free API limit, instead requiring a billing account to be set up. Including details on limits and quotas and how to set them. * Update sensor.google_travel_time.markdown Updates as requested in feedback. Thanks * Minor changes * Again --- .../sensor.google_travel_time.markdown | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/source/_components/sensor.google_travel_time.markdown b/source/_components/sensor.google_travel_time.markdown index 4fb24f39d07..92046fd4a62 100644 --- a/source/_components/sensor.google_travel_time.markdown +++ b/source/_components/sensor.google_travel_time.markdown @@ -13,11 +13,19 @@ ha_iot_class: "Cloud Polling" ha_release: 0.19 --- -Sensor to provide travel time from the [Google Distance Matrix API](https://developers.google.com/maps/documentation/distance-matrix/). +The `google_travel_time` sensor provides travel time from the [Google Distance Matrix API](https://developers.google.com/maps/documentation/distance-matrix/). + +## {% linkable_title Setup %} You need to register for an API key by following the instructions [here](https://github.com/googlemaps/google-maps-services-python#api-keys). You only need to turn on the Distance Matrix API. -A free API Key allows 2500 requests per day. The sensor will update the travel time every 5 minutes. +[Google now require billing](https://mapsplatform.googleblog.com/2018/05/introducing-google-maps-platform.html) to be enabled (and a valid credit card loaded) to access Google Maps APIs. The Distance Matrix API is billed at US$10 per 1000 requests, however a US$200 per month credit is applied (20,000 requests). By default, the sensor will update the travel time every 5 minutes, making approximately 288 calls per day. Note that at this rate, more than 2 sensors will likely exceed the free credit amount. If you need to run more than 2 sensors, consider changing the [scan interval](/docs/configuration/platform_options/#scan-interval) to something longer than 5 minutes to stay within the free credit limit. + +A quota can be set against the API to avoid exceeding the free credit amount. Set the 'Elements per day' to a limit of 645 or less. Details on how to configure a quota can be found [here](https://developers.google.com/maps/documentation/distance-matrix/usage-and-billing#set-caps) + +## {% linkable_title Configuration %} + +To enable the sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example entry for configuration.yaml @@ -40,9 +48,9 @@ Configuration variables: - **arrival_time** (*Optional*): See notes above for `departure_time`. `arrival_time` can not be `now`, only a Unix timestamp or time string. You can not provide both `departure_time` and `arrival_time`. If you do provide both, `arrival_time` will be removed from the request. - **units** (*Optional*): Set the unit for the sensor in metric or imperial, otherwise the default unit the same as the unit set in `unit_system:`. -##### {% linkable_title Dynamic Configuration %} +## {% linkable_title Dynamic Configuration %} -Tracking can be setup to track entities of type device_tracker, zone, and sensor. If an entity is placed in the origin or destination then every 5 minutes when the component updates it will use the latest location of that entity. +Tracking can be setup to track entities of type `device_tracker`, `zone` and `sensor`. If an entity is placed in the origin or destination then every 5 minutes when the platform updates it will use the latest location of that entity. ```yaml # Example entry for configuration.yaml @@ -67,10 +75,9 @@ sensor: destination: zone.home options: units: imperial # 'metric' for Metric, 'imperial' for Imperial - ``` -#### {% linkable_title Entity Tracking %} +## {% linkable_title Entity Tracking %} - **device_tracker** - If state is a zone then the zone location will be used From 4c7144c0edac395393086d385e10c1f01b7badab Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 1 Sep 2018 11:19:42 +0200 Subject: [PATCH 059/164] Add link --- source/_components/deconz.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/deconz.markdown b/source/_components/deconz.markdown index 0026d0b7f86..211e683fe15 100644 --- a/source/_components/deconz.markdown +++ b/source/_components/deconz.markdown @@ -31,7 +31,7 @@ Home Assistant will automatically discover deCONZ presence on your network, if ` If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry. -You can add the following to your configuration.yaml file if you are not using the `discovery:` component: +You can add the following to your `configuration.yaml` file if you are not using the `discovery:` component: ```yaml # Example configuration.yaml entry @@ -209,7 +209,7 @@ class RemoteControl(hass.Hass): #### {% linkable_title Appdaemon remote template %} -Community app from Teachingbirds. This app uses an Ikea Tradfri remote to control Sonos speakers with play/pause, volume up and down, next and previous track. +Community app from [Teachingbirds](https://community.home-assistant.io/u/teachingbirds/summary). This app uses an Ikea Tradfri remote to control Sonos speakers with play/pause, volume up and down, next and previous track. {% raw %} ```yaml From 506d408771746447b7882f9c7131f5d005ebb053 Mon Sep 17 00:00:00 2001 From: Phill Price Date: Sat, 1 Sep 2018 16:38:51 +0100 Subject: [PATCH 060/164] Standardised entity name throughout page from count0 and my_custom_counter to all be my_custom_counter in examples. --- source/_components/counter.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/counter.markdown b/source/_components/counter.markdown index f181d4755a7..123ebee79d9 100644 --- a/source/_components/counter.markdown +++ b/source/_components/counter.markdown @@ -44,7 +44,7 @@ Increments the counter with 1 or the given value for the steps. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | no | Name of the entity to take action, e.g., `counter.count0`. | +| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. | #### {% linkable_title Service `counter.decrement` %} @@ -52,7 +52,7 @@ Decrements the counter with 1 or the given value for the steps. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | no | Name of the entity to take action, e.g., `counter.count0`. | +| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. | #### {% linkable_title Service `counter.reset` %} @@ -60,7 +60,7 @@ With this service the counter is reset to its initial value. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | no | Name of the entity to take action, e.g., `counter.count0`. | +| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. | ### {% linkable_title Use the service %} @@ -69,7 +69,7 @@ Select serv
 
 ```json
 {
-  "entity_id": "counter.count0"
+  "entity_id": "counter.my_custom_counter"
 }
 ```
 

From 968783c45ce5acb852b60c364391b49a625bcf22 Mon Sep 17 00:00:00 2001
From: Tom Harris <tharris@harrisnj.net>
Date: Sat, 1 Sep 2018 14:47:39 -0400
Subject: [PATCH 061/164] Add Cover platform to Insteon component (#6090)

* Add Cover platform to Insteon Component

* Fix reference to insteon component

* Update .gitignore

Remove VS pro file

* Update cover.insteon.markdown

Change version to 0.78
---
 source/_components/cover.insteon.markdown | 22 ++++++++++++++++++++++
 source/_components/insteon_local.markdown |  4 ++--
 source/_components/insteon_plm.markdown   |  5 ++---
 3 files changed, 26 insertions(+), 5 deletions(-)
 create mode 100644 source/_components/cover.insteon.markdown

diff --git a/source/_components/cover.insteon.markdown b/source/_components/cover.insteon.markdown
new file mode 100644
index 00000000000..568e671a6ca
--- /dev/null
+++ b/source/_components/cover.insteon.markdown
@@ -0,0 +1,22 @@
+---
+layout: page
+title: "Insteon Cover"
+description: "Instructions on how to setup the Insteon cover locally within Home Assistant."
+date: 2018-08-20 16:00
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: insteon.png
+ha_category: Cover
+ha_iot_class: "Local Push"
+ha_version: 0.78
+---
+
+The `insteon` cover platform lets you control your [Open/Close Micro Module]
+through an INSTEON Modem (PLM and Hub) device connected directly to your system
+on a USB, serial port or TCPIP connection.  To add support, set up the primary
+[insteon] component.
+
+[insteon]: /components/insteon/
+[Open/Close Micro Module]: https://www.insteon.com/open-close-micro-module/
diff --git a/source/_components/insteon_local.markdown b/source/_components/insteon_local.markdown
index 513e640778c..c79b46b2e4e 100644
--- a/source/_components/insteon_local.markdown
+++ b/source/_components/insteon_local.markdown
@@ -13,6 +13,6 @@ ha_iot_class: "Local Polling"
 ha_version: 0.36
 ---
 
-The `insteon_local` component is depreciated and has been replaced by the [Insteon] component.
+The `insteon_local` component is depreciated and has been replaced by the [insteon] component.
 
-[Insteon] /component/insteon
+[insteon]: /component/insteon
diff --git a/source/_components/insteon_plm.markdown b/source/_components/insteon_plm.markdown
index b438d90e4fd..bed0e71ccb6 100644
--- a/source/_components/insteon_plm.markdown
+++ b/source/_components/insteon_plm.markdown
@@ -13,7 +13,6 @@ ha_iot_class: "Local Push"
 ha_version: 0.39
 ---
 
-The `insteon_plm` component is depreciated and has been replaced by the [Insteon] component.
-
-[Insteon] /component/insteon
+The `insteon_plm` component is depreciated and has been replaced by the [insteon] component.
 
+[insteon]: /component/insteon

From b65b5c734199bd5709a336be218ea80c88c0014d Mon Sep 17 00:00:00 2001
From: DubhAd <DubhAd@users.noreply.github.com>
Date: Sat, 1 Sep 2018 22:05:16 +0100
Subject: [PATCH 062/164] Added details about console access (#6140)

Since there Date: Sat, 1 Sep 2018 22:06:12 +0100 Subject: [PATCH 063/164] Explicitly list available train attributes (#6139) * Explicitly list the available train attributes * A bit more detail on train attributes --- source/_components/sensor.uk_transport.markdown | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.uk_transport.markdown b/source/_components/sensor.uk_transport.markdown index ccf0c1a5a77..17bebc15dad 100644 --- a/source/_components/sensor.uk_transport.markdown +++ b/source/_components/sensor.uk_transport.markdown @@ -46,7 +46,21 @@ Configuration variables: - **origin** (*Required*): Specify the three character long origin station code. - **destination** (*Required*): Specify the three character long destination station code. -A large amount of information about upcoming departures is available within the attributes of the sensor. The example above creates a sensor with ID `sensor.next_train_to_wat` with the attribute `next_trains` which is a list of the next 25 departing trains. The status of the next departing train is accessed using the [template sensor](/components/sensor.template/) below, as are the train origin, estimated and scheduled departure times, and the departure platform. +A large amount of information about upcoming departures is available within the attributes of the sensor. The example above creates a sensor with ID `sensor.next_train_to_wat` with the attribute `next_trains` which is a list of the next 25 departing trains. + +These attributes are available for each departing train: + +- `origin_name` +- `destination_name` +- `status` +- `scheduled`: (API attribute is `aimed_departure_time`) +- `estimated`: (API attribute is `expected_departure_time`) +- `platform` +- `operator_name` + +Refer to the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##request_uk_train_station_station_code_live_json) for definitions. + +Attributes can be accessed using the [template sensor](/components/sensor.template/) as per this example: ```yaml # Example configuration.yaml entry for a template sensor to access the attributes of the next departing train. From a89e5cd754b188407266adf83fee5952f843f6ec Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 1 Sep 2018 22:15:07 +0100 Subject: [PATCH 064/164] Images for the user profile menu (#6136) For updating the frontend docs --- source/images/frontend/user-language.png | Bin 0 -> 3563 bytes source/images/frontend/user-theme.png | Bin 0 -> 4032 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/frontend/user-language.png create mode 100644 source/images/frontend/user-theme.png diff --git a/source/images/frontend/user-language.png b/source/images/frontend/user-language.png new file mode 100644 index 0000000000000000000000000000000000000000..258c6f5ac788c5eb0e94b4f1f950368a0ed81fd1 GIT binary patch literal 3563 zcmbtX`#;nF7k^Vq^F<$RiOMB?(v+fH%3bP%<-Q?v$#MycF3ix3StHgubS#0I zovnC(eKaZf(-Vm1FaX@!hXVa&B64KlPf56$@Ha9rvWK8ybJP?+;Qy6~@~MB$vQ&;1 zutNreTp1pB8=FbS{o^h9w^NLkAKB(!Xp=c|VWc6~5ZgTdHS2qW(LX;sgaWvI@8@TS zOW5o#FWl0n^(g*K@U2_rEOa*)QXIyy}g}K=?|yaVGP?Q+uqC(+(X`1R~wx=efm}wI>aqw$xq#$G}}d4 zRWiZ#%=6ZU)@7hH`?Ny$wZ{k4XCLfUdMC1uTo~d7i+s}yXnjQwUsTV>wFh^XaE5}U zMJq1;Dxo2f-p~M(FaGJ)IK9q^*}XorGZH4zTMUJv+Iw|NJ(ZlvehrMuJZ z)hjhh9VC8mixZ)Fn6KHojaCTP2kS zLSsDTmp4D=o$Pybho38AUE&=wd zZ*N7eT|7cK?o4bb^b1;F9A)(ON+pTF+jXB~-E2`hY!Fs76S6zD*#-ssZd*6#S7TUO zT|Gdy$@<3K0DF)k#}(vpNGbScv5zl$*JoWT&t0FK^Z9AWH;7DRjY|mTQgFwpuJ{y)9F3>Xu=w^+mEmXS`pX zKLb>_O&yvnE$W~@Z|i3Vhvt`Fx!=9lLv~J%ELT;B!)7;YfStlVPW|&WbAcNA4?i^Yb>$WJ=$_RekR2ih`f_`b5{P-A7@A$OK5#6A4G)o*f zPAQP*<~`sJg<(jw`kkzxh0WL*)thzc+;IUD;o&iRDFc~4U%g_7{mv;8Xcpyle2GFuUKD&?5Q)cl<*g97C_Q)J=M>@Mz9RKQgtOvq8J z;B`fT1$|?Q&5&baVP`=4+m+U42O| zh+az#K$Wrx>iQc>Mt z8&$f1i)3vE7{^>}_nwH0O5#DvQrLpExm8^k9Q#Y>o3Yv&avz>|-amf}&C1z%W2-C7 zpB`VO7PGHl0!i$$pZvf5>QFEY9&2H{rBBOkKyTNtv;XD-oI?|Lm@a<;!hz^m^ww!y%>B%TL_@NLkJ{zR&(eC&t}~#!2V= z^V0B%mV9iAWR6iJGtVfpy`iCD_QPJ~u;D{}BqX5fnjNIR-)%NhQ!i|^ zzM4uZ?Y>qU%sS(-^*1g}O2VCy6R>|0JhHiW1%D*|x2BawSrET_N#)(#g~5R9GF=m#Ijni? zhTZ;DgiAkT_*LqgC`4Bh^?-Tr?LDLZf_VdZ9IRQlGHSb`wo++_14_#OsFe|9xcxJn z7p)=bmYky3ldyS8Z`GS86)?I9s3;`l_&#ijmK0^cC_iB-iFeA#Hd_a(^i)GbW0p}h z&+MeTR<#T<{Tk27z{keMy6CQF``@7~aK@WLgN(LtAj=9;)MsdAom6g9V$e1s z-d3Y>IkMy7oyCVL-q1twna)KH$;rs9YExwfcC0bZEbXKl(MhVMKQp_L9?yR~EfgRj zAzwge&yE^E63geW_(?OKW8=oa0iy3Ao-Us0#k*ttW!q(RgUVJrh+FN@Wa)jo{+@7= zx+4VklT}{c0yaM-%X3(A= z+kMH|$w@9IHd+)zUk$fc4S%G*l-UOdouwif?Fm%h;mA?5V_yi)9FMiQ@etG6`8!0I zhlvM;-&X!`Rmf7A#6?`mxF0Pt;_9K3@!t|9rx&=;eef-RZMFEzVj zeZiM;Bi1L<_J>Zks?Kzm=HHh_UnMTS#sYykdR!R6R=ScG2C)^)ZqW0CsDL7)OJ#oEnEW~hRX>0mE*kS zeDijs;Q3z8!L`HvMnbFabe*CqmNp!8ChcMgBO)4xCH}4h2aKlS*tUrm^+y_bLM_jo`xZ z=DZp1q|Wwb&oHjMAeb}gkM3p!yMZb$ww>#=UJo&ev1qx2RRh9yW9piS+I7#;oa74_ z^P*ll%v`D>Ys}+U#hbMGZ$pUwJ5dj*rLE1n8+7Xb8C=l*Leukyc*QSJ3r(V72e7_k KcbRd?JMQ1NO2qvD literal 0 HcmV?d00001 diff --git a/source/images/frontend/user-theme.png b/source/images/frontend/user-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..28dd6248f92b09aff6e03681b8f45bf271e3e42e GIT binary patch literal 4032 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 Date: Sat, 1 Sep 2018 22:15:37 +0100 Subject: [PATCH 065/164] Updated wording and images (#6137) This is to reflect the changes to the UI that got overlooked in the doc updates ;) Image updates in [this PR](https://github.com/home-assistant/home-assistant.io/pull/6136/) --- source/_components/frontend.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/frontend.markdown b/source/_components/frontend.markdown index eb8d14b42b2..9f6ab7ee33b 100644 --- a/source/_components/frontend.markdown +++ b/source/_components/frontend.markdown @@ -112,10 +112,10 @@ automation: ### {% linkable_title Manual Theme Selection %} -When themes are enabled in the `configuration.yaml` file, a new option will show up in the Configuration panel under **General** called "Set a theme." You can then choose any installed theme from the dropdown list and it will be applied immediately. +When themes are enabled in the `configuration.yaml` file, a new option will show up in the user profile menu (before 0.77 it was in the Configuration panel under **General** called "Set a theme"). You can then choose any installed theme from the dropdown list and it will be applied immediately.

- + Set a theme

@@ -137,9 +137,9 @@ Those will be loaded via `` on a ### {% linkable_title Manual Language Selection %} -The browser language is automatically detected. To use a different language, go to **General** in the Configuration panel and select one from "Choose a Language". It will be applied immediately. +The browser language is automatically detected. To use a different language, go to the user profile menu (before 0.77 it was found in **General** in the Configuration panel) and select one. It will be applied immediately.

- + Choose a Language

From 6f413c66dcefc42a91f168e46073ff24a5e6c341 Mon Sep 17 00:00:00 2001 From: Maciej Bieniek Date: Sat, 1 Sep 2018 23:37:24 +0200 Subject: [PATCH 066/164] Add unique_id (#6121) --- source/_components/light.mqtt.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/light.mqtt.markdown b/source/_components/light.mqtt.markdown index e92f859fb7c..b7ca1ff13a5 100644 --- a/source/_components/light.mqtt.markdown +++ b/source/_components/light.mqtt.markdown @@ -35,6 +35,10 @@ name: required: false type: string default: MQTT Light +unique_id: + description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception. + required: false + type: string command_topic: description: The MQTT topic to publish commands to change the switch state. required: true From 2b822cb9f602a83e7c602722100dc0a3c99196b2 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 1 Sep 2018 22:38:44 +0100 Subject: [PATCH 067/164] Removed automation: line (#6116) One of the examples has two `automation:` lines, which clearly doesn't work. Removed after somebody had issues with it --- source/_components/input_number.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_components/input_number.markdown b/source/_components/input_number.markdown index 9f7f65ed956..299543428d4 100644 --- a/source/_components/input_number.markdown +++ b/source/_components/input_number.markdown @@ -179,9 +179,8 @@ automation: entity_id: input_number.target_temp value: "{{ trigger.payload }}" -# This automation script runs when the target temperature slider is moved. +# This second automation script runs when the target temperature slider is moved. # It publishes its value to the same MQTT topic it is also subscribed to. -automation: - alias: Temp slider moved trigger: platform: state From d815772de4b5e2044cfc3f113019840cf0beb03a Mon Sep 17 00:00:00 2001 From: Brian J King Date: Sat, 1 Sep 2018 16:52:38 -0500 Subject: [PATCH 068/164] General updates for formatting & structure (#6102) * General updates for formatting & structure * Minor change --- source/_cookbook/track_battery_level.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_cookbook/track_battery_level.markdown b/source/_cookbook/track_battery_level.markdown index 696742b1c74..902e2e4aaa2 100644 --- a/source/_cookbook/track_battery_level.markdown +++ b/source/_cookbook/track_battery_level.markdown @@ -12,7 +12,7 @@ ha_category: Automation Examples ### {% linkable_title iOS Devices %} -If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level. +If you have a device running iOS (iPhone, iPad, etc), The [iCloud](/components/device_tracker.icloud/) component is gathering various details about your device including the battery level. To display it in the Frontend use a [template sensor](/components/sensor.template/). You can also use the `battery` [sensor device class](/components/sensor/#device-class) to dynamically change the icon with the battery level. {% raw %} ```yaml From 4611a4349d6d9e34485e8f915210a06cecad566a Mon Sep 17 00:00:00 2001 From: Censored3 Date: Sat, 1 Sep 2018 23:54:46 +0200 Subject: [PATCH 069/164] Update addon/git_pull for PR home-assistant/hassio-addons#386 (#6073) --- source/_addons/git_pull.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_addons/git_pull.markdown b/source/_addons/git_pull.markdown index 8cb2c3a852b..9bfc6f8cca2 100644 --- a/source/_addons/git_pull.markdown +++ b/source/_addons/git_pull.markdown @@ -18,6 +18,7 @@ Load and update configuration files for Home Assistant from a [Git](https://git- "git_branch": "master", "git_command": "pull", "git_remote": "origin", + "git_prune": "false", "repeat": { "active": false, "interval": 300 @@ -38,8 +39,9 @@ Load and update configuration files for Home Assistant from a [Git](https://git- ``` - **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add `.git` to your GitHub repository URL (see example configuration) -- **git_branch** (*Required*): Branch name of the Git repo, leave this as 'master' if you are unsure. +- **git_branch** (*Required*): Branch name of the Git repo. If left empty, the currently checked out branch will be updated. Leave this as 'master' if you are unsure. - **git_remote** (*Required*): Name of the tracked repository. Leave this as `origin` if you are unsure. +- **git_prune** (*Required*): If set to true, the add-on will cleanup branches that are deleted on the remote repository, but still have cached entries on the local machine. Leave this as `false` if you are unsure. - **git_command** (*Required*): Must be either `pull` or `reset`. Leave this as `pull` if you are unsure. * **pull**: Incorporates changes from a remote repository into the current branch. Will preserve any local changes to tracked files. From 377fa82b8e9d5434f445319395580dcbbb0be9bb Mon Sep 17 00:00:00 2001 From: Jesse Rizzo <32472573+jesserizzo@users.noreply.github.com> Date: Sat, 1 Sep 2018 17:08:49 -0500 Subject: [PATCH 070/164] IP address is no longer required for Enphase Envoy component (#6088) * IP address is no longer required * Change keys in monitored conditions from '7_days' to 'seven_days' * Minor changes --- .../_components/sensor.enphase_envoy.markdown | 39 ++++++++++++------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/source/_components/sensor.enphase_envoy.markdown b/source/_components/sensor.enphase_envoy.markdown index fb04d906ed4..ec6d8002162 100644 --- a/source/_components/sensor.enphase_envoy.markdown +++ b/source/_components/sensor.enphase_envoy.markdown @@ -23,33 +23,44 @@ To enable this sensor, add the following lines to your `configuration.yaml` file # Example configuration.yaml entry sensor: - platform: enphase_envoy - ip_address: ENVOY_LOCAL_IP_ADDRESS +``` + +```yaml +# Example configuration.yaml entry +sensor: + - platform: enphase_envoy + ip_address: LOCAL_IP_FOR_ENVOY + monitored_conditions: + - production + - consumption + - lifetime_production + - lifetime_consumption ``` {% configuration %} ip_address: - description: The local IP Address of your Envoy - required: true + description: The local IP Address of your Envoy. Leave blank to search for it, but this may not always be reliable. + required: false type: string monitored_conditions: - description: The list of conditions to monitor + description: The list of conditions to monitor. required: false type: list keys: production: - description: The power in W being produced by the solar panels + description: The power in W being produced by the solar panels. daily_production: - description: The energy in Wh produced that day - 7_days_production: - description: The energy in Wh produced the last 7 days + description: The energy in Wh produced that day. + seven_days_production: + description: The energy in Wh produced the last 7 days. lifetime_production: - description: The energy in Wh produced in the lifetime of the Envoy + description: The energy in Wh produced in the lifetime of the Envoy. consumption: - description: The power in W being consumed in the whole house + description: The power in W being consumed in the whole house. daily_consumption: - description: The energy in Wh consumed that day - 7_days_consumption: - description: The energy in Wh consumed the last 7 days + description: The energy in Wh consumed that day. + seven_days_consumption: + description: The energy in Wh consumed the last 7 days. lifetime_consumption: - description: The energy in Wh consumed in the lifetime of the Envoy + description: The energy in Wh consumed in the lifetime of the Envoy. {% endconfiguration %} From 1b6a78baca6187145b8750e5ee82a5af15914f67 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 00:38:58 +0200 Subject: [PATCH 071/164] Tschmidty69 patch 2 (#6141) * Added session_id and slotname_raw values. * Added session_id and slotname_raw values (#6078) * Added session_id and slotname_raw values * Minor changes --- source/_components/snips.markdown | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/source/_components/snips.markdown b/source/_components/snips.markdown index f69b7f0b138..afe3d1f7e0a 100644 --- a/source/_components/snips.markdown +++ b/source/_components/snips.markdown @@ -38,17 +38,17 @@ $ sudo apt-get update $ sudo apt-get install -y snips-platform-voice ``` -Note: if the keyserver pgp.mit.edu is down try to use another one in the 4th line , like pgp.surfnet.nl: +Note that if the keyserver pgp.mit.edu is down then try to use another one in the 4th line, like pgp.surfnet.nl: ```bash -sudo apt-key adv --keyserver pgp.surfnet.nl --recv-keys D4F50CDCA10A2849 +$ sudo apt-key adv --keyserver pgp.surfnet.nl --recv-keys D4F50CDCA10A2849 ``` ### {% linkable_title Creating an assistant %} Head over to the [Snips Console](https://console.snips.ai) to create your assistant. Launch the training and download by clicking on the "Download Assistant" button. -The next step is to get the assistant to work on your device. Unzip and copy the assistant folder that you downloaded from the web console to the path. Assuming your downloaded assistant folder is on your desktop, just run: +The next step is to get the assistant to work on your device. Unzip and copy the `assistant` folder that you downloaded from the web console to the path. Assuming your downloaded `assistant` folder is on your desktop, just run: ```bash $ scp -r ~/Desktop/assistant pi@:/home/pi/. @@ -68,7 +68,7 @@ Then, move the assistant to the right folder: (pi) $ sudo mv /home/pi/assistant /usr/share/snips/assistant ``` -Note: if you already have an assistant installed and wish to replace it, start by removing the previous one, and then move the new one in its place: +Note that if you already have an assistant installed and wish to replace it then start by removing the previous one and then move the new one in its place: ```bash (pi) $ sudo rm -r /usr/share/snips/assistant @@ -161,22 +161,28 @@ In the `data_template` block, we have access to special variables, corresponding ### {% linkable_title Special slots %} -Two special values for slots are populated with the siteId the intent originated from and the probability value for the intent. +Several special values for slots are populated with the `siteId `the intent originated from and the probability value for the intent, the `sessionId` generate by the dialogue manager, and `slote_name` raw which will contain the raw, uninterpreted text of the slot value. -In the above example, the slots are plain strings. However, snips has a duration builtin value used for setting timers and this will be parsed to a seconds value. +In the above example, the slots are plain strings. However, Snips has a duration builtin value used for setting timers and this will be parsed to a seconds value. + +In this example if we had an intent triggered with 'Set a timer for five minutes', `duration:` would equal 300 and `duration_raw:` would be set to 'five minutes'. The duration can be easily used to trigger Home Assistant events and the `duration_raw:` could be used to send a human readable response or alert. + +In this example if we had an intent triggered with 'Set a timer for five minutes', duration would equal 300 and duration_raw would be set to 'five minutes'. The duration can be easily used to trigger HA events, and the duration_raw could be used to send a human readable response or alert. {% raw %} ```yaml SetTimer: speech: type: plain - text: weather + text: 'Set a timer' action: service: script.set_timer data_template: name: "{{ timer_name }}" duration: "{{ timer_duration }}" siteId: "{{ site_id }}" + sessionId: "{{ session_id }}" + duration_raw: "{{ raw_value }}" probability: "{{ probability }}" ``` {% endraw %} @@ -185,7 +191,7 @@ SetTimer: ### {% linkable_title Sending TTS Notifications %} -You can send TTS notifications to Snips using the snips.say and snips.say_action services. Say_action starts a session and waits for user response, "Would you like me to close the garage door?", "Yes, close the garage door". +You can send TTS notifications to Snips using the `snips.say` and `snips.say_action` services. `say_action` starts a session and waits for user response, "Would you like me to close the garage door?", "Yes, close the garage door". #### {% linkable_title Service `snips.say` %} @@ -240,9 +246,7 @@ intent_script: ##### {% linkable_title Intiating a query %} -Here is a more complex example. The automation is triggered if the garage door is open for more than 10 minutes. -Snips will then ask you if you want to close it and if you respond with something like "Close the garage door" it -will do so. Unfortunately there is no builtin support for yes and no responses. +Here is a more complex example. The automation is triggered if the garage door is open for more than 10 minutes. Snips will then ask you if you want to close it and if you respond with something like "Close the garage door" it will do so. Unfortunately there is no builtin support for yes and no responses. ```yaml automation: From d578cd54f28f3806e3097ce0ca94e8d4f8b70870 Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 09:44:15 +0200 Subject: [PATCH 072/164] Update sensor.tibber.markdown (#6145) Corrected category to Energy to match other similar type sensors --- source/_components/sensor.tibber.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.tibber.markdown b/source/_components/sensor.tibber.markdown index 81d11c7ac2b..3e71d8fc2a5 100644 --- a/source/_components/sensor.tibber.markdown +++ b/source/_components/sensor.tibber.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: tibber.png -ha_category: Sensor +ha_category: Energy ha_release: 0.55 ha_iot_class: "Cloud Polling" --- From 8a04b73d40eb9ecfd7c97ed4f6f689975bda77fc Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 09:45:00 +0200 Subject: [PATCH 073/164] Update sensor.systemmonitor.markdown (#6144) --- source/_components/sensor.systemmonitor.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.systemmonitor.markdown b/source/_components/sensor.systemmonitor.markdown index 855dca71c04..8f4ee938fea 100644 --- a/source/_components/sensor.systemmonitor.markdown +++ b/source/_components/sensor.systemmonitor.markdown @@ -80,7 +80,7 @@ sensor: arg: 'Local Area Connection' ``` -If you need to use some other interface, open a command line prompt and type `ipconfig` to list all interface names. For example a wireless connection output from `ifconfig` might look like: +If you need to use some other interface, open a command line prompt and type `ipconfig` to list all interface names. For example a wireless connection output from `ipconfig` might look like: ```bash Wireless LAN adapter Wireless Network Connection: From ebe8eb7852b9bcc86cb2c02f6da43017da14c1ca Mon Sep 17 00:00:00 2001 From: plyblu Date: Sun, 2 Sep 2018 02:46:45 -0500 Subject: [PATCH 074/164] Update mailgun.markdown (#6143) Fix inconsistency where "domain" is required but "sandbox" can also be used to specify the domain. It appears that the package https://github.com/pschmitt/pymailgunner in def guess_domain allows multiple domains and "sandbox" can be used to choose a sandbox domain over a normal domain. As far as I can tell, this feature isn't used by the Mailgun component. There are also updates to the Mailgun Notify doc. --- source/_components/mailgun.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/mailgun.markdown b/source/_components/mailgun.markdown index 2f13d2c0625..e1ecaefc72a 100644 --- a/source/_components/mailgun.markdown +++ b/source/_components/mailgun.markdown @@ -12,7 +12,7 @@ ha_category: Notifications ha_release: 0.38 --- -The component supports push messages and generates events based on inbound data. To use, add a Route set to Store and Notify with a URL of the following form: `https:///api/mailgun?api_password=` +The component supports push messages and generates events based on inbound data. To generate inbound events, add a Route set to Store and Notify with a URL of the following form: `https:///api/mailgun?api_password=` To send messages, use the [Mailgun notify platform][notify]. @@ -24,11 +24,11 @@ To send messages, use the [Mailgun notify platform][notify]. # Example configuration.yaml entry mailgun: domain: mg.example.com - api_key: token-XXXXXXXXX + api_key: XXXXXXXXXXXXX ``` Configuration variables: - **domain** (*Required*): This is the domain name to be used when sending out mail. Defaults to the first custom domain you have set up. - **api_key** (*Required*): This is the API token that has been generated in your Mailgun account. -- **sandbox** (*Optional*): Whether to use the sandboxed domain for outgoing mail. The `domain` item takes precedence over this. Defaults to `False`. +- **sandbox** (*Deprecated*): Whether to use the sandboxed domain for outgoing mail. Since the `domain` item is required, it should be set to the sandbox domain name, so this isn't needed. Defaults to `False`. From ffee9ec2af190ecc5175ff2e1871ac4c880d480c Mon Sep 17 00:00:00 2001 From: John Arild Berentsen Date: Sun, 2 Sep 2018 09:53:51 +0200 Subject: [PATCH 075/164] Clarification Clarification of the config option --- source/_docs/z-wave/installation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index 586f319a68a..a118d2c97ce 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -103,7 +103,7 @@ device_config / device_config_domain / device_config_glob: type: integer default: 2 invert_openclose_buttons: - description: Inverts function of the open and close buttons for the cover domain. + description: Inverts function of the open and close buttons for the cover domain. This will not invert the positon and state reporting. required: false type: boolean default: False From 5eec4dfb806d9004f06e82ca81fb0bdc32c57ed4 Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 10:29:02 +0200 Subject: [PATCH 076/164] Update sensor.rainbird.markdown updated to correct category --- source/_components/sensor.rainbird.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.rainbird.markdown b/source/_components/sensor.rainbird.markdown index 750c2874979..e7f26af34c4 100644 --- a/source/_components/sensor.rainbird.markdown +++ b/source/_components/sensor.rainbird.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rainbird.png -ha_category: Hub +ha_category: Sensor ha_release: 0.61 ha_iot_class: "Local Polling" --- From 2d242bd78642073992468ac626416e01d0f907d1 Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 10:29:35 +0200 Subject: [PATCH 077/164] Update switch.rainbird.markdown updated to correct category --- source/_components/switch.rainbird.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/switch.rainbird.markdown b/source/_components/switch.rainbird.markdown index 673c4d19287..5b15bd486fe 100644 --- a/source/_components/switch.rainbird.markdown +++ b/source/_components/switch.rainbird.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rainbird.png -ha_category: Hub +ha_category: Switch ha_release: 0.57 ha_iot_class: "Local Polling" --- From b3c6fe44bc6e28f24f5c7dd5fb43149c5eace9dc Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 10:30:46 +0200 Subject: [PATCH 078/164] Update sensor.ted5000.markdown updated to correct category --- source/_components/sensor.ted5000.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.ted5000.markdown b/source/_components/sensor.ted5000.markdown index 20e94ba3e8d..1dd451255c7 100644 --- a/source/_components/sensor.ted5000.markdown +++ b/source/_components/sensor.ted5000.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ted.png -ha_category: Sensor +ha_category: Energy ha_release: "0.30" ha_iot_class: "Local Polling" --- From 997ae0612c6ae1849f5191b1dc1a89b9901814fd Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 10:33:42 +0200 Subject: [PATCH 079/164] Update switch.homekit_controller.markdown updated to correct category --- source/_components/switch.homekit_controller.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/switch.homekit_controller.markdown b/source/_components/switch.homekit_controller.markdown index 43bf3be57b1..d4b50659595 100644 --- a/source/_components/switch.homekit_controller.markdown +++ b/source/_components/switch.homekit_controller.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: apple-homekit.png -ha_category: Light +ha_category: Switch ha_iot_class: "Local Polling" ha_release: 0.68 --- From ba46f2e850f4dedf63911095012ce044761cc0bb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 15:51:29 +0200 Subject: [PATCH 080/164] Update APCUPSd docs (#6159) --- source/_components/apcupsd.markdown | 18 ++++++-- .../binary_sensor.apcupsd.markdown | 12 +++-- source/_components/sensor.apcupsd.markdown | 44 ++----------------- 3 files changed, 27 insertions(+), 47 deletions(-) diff --git a/source/_components/apcupsd.markdown b/source/_components/apcupsd.markdown index fd25d00d0d5..ff6f732484e 100644 --- a/source/_components/apcupsd.markdown +++ b/source/_components/apcupsd.markdown @@ -14,6 +14,8 @@ ha_release: 0.13 [APCUPSd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) is enabled on the APC device. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml @@ -21,8 +23,16 @@ To enable this sensor, add the following lines to your `configuration.yaml`: apcupsd: ``` -Configuration variables: - -- **host** (*Optional*): The hostname/IP address on which the APCUPSd NIS is being served. Defaults to `localhost`. -- **port** (*Optional*): The port on which the APCUPSd NIS is listening. Defaults to `3551`. +{% configuration %} +host: + description: The hostname/IP address on which the APCUPSd NIS is being served. + required: false + type: string + default: localhost +port: + description: The port on which the APCUPSd NIS is listening. + required: false + type: int + default: 3551 +{% endconfiguration %} diff --git a/source/_components/binary_sensor.apcupsd.markdown b/source/_components/binary_sensor.apcupsd.markdown index 6c599b75b15..30a124785a2 100644 --- a/source/_components/binary_sensor.apcupsd.markdown +++ b/source/_components/binary_sensor.apcupsd.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Local Polling" In addition to the [APCUPSd Sensor](/components/sensor.apcupsd/) devices, you may also create a device which is simply "on" when the UPS status is online and "off" at all other times. +## {% linkable_title Configuration %} + To enable this sensor, you first have to set up [apcupsd](/components/apcupsd/), and add the following lines to your `configuration.yaml` file: ```yaml @@ -23,6 +25,10 @@ binary_sensor: - platform: apcupsd ``` -Configuration variables: - -- **name** (*Optional*): Name to use in the front end. +{% configuration %} +name: + description: Name to use in the frontend. + required: false + type: string + default: UPS Online Status +{% endconfiguration %} diff --git a/source/_components/sensor.apcupsd.markdown b/source/_components/sensor.apcupsd.markdown index 54db50e7520..bfaf33769b6 100644 --- a/source/_components/sensor.apcupsd.markdown +++ b/source/_components/sensor.apcupsd.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Local Polling" The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](http://linux.die.net/man/8/apcaccess) command. +## {% linkable_title Configuration %} + To use this sensor platform, you first have to set up [apcupsd](/components/apcupsd/), and add the following to your `configuration.yaml` file: ```yaml @@ -24,14 +26,6 @@ sensor: resources: - bcharge - linev - - loadpct - - nominv - - nompower - - numxfers - - outputv - - status - - timeleft - - tonbatt ``` Configuration variables: @@ -64,37 +58,7 @@ MAXTIME : 0 Seconds MAXLINEV : 249.6 Volts MINLINEV : 244.4 Volts OUTPUTV : 218.4 Volts -SENSE : High -DWAKE : 0 Seconds -DSHUTD : 180 Seconds -DLOWBATT : 2 Minutes -LOTRANS : 196.0 Volts -HITRANS : 253.0 Volts -RETPCT : 15.0 Percent -ITEMP : 30.6 C -ALARMDEL : Low Battery -BATTV : 27.6 Volts -LINEFREQ : 50.0 Hz -LASTXFER : High line voltage -NUMXFERS : 0 -TONBATT : 0 Seconds -CUMONBATT: 0 Seconds -XOFFBATT : N/A -SELFTEST : NO -STESTI : 336 -STATFLAG : 0x0500000A -DIPSW : 0x00 -REG1 : 0x00 -REG2 : 0x00 -REG3 : 0x00 -MANDATE : 07/13/99 -SERIALNO : GS9888761008 -BATTDATE : 13/11/15 -NOMOUTV : 230 Volts -NOMBATTV : 24.0 Volts -EXTBATTS : 0 -FIRMWARE : 70.11.I -END APC : 2016-02-09 17:13:46 +0000 +[...] ``` Use the (case insensitive) values from the left hand column: @@ -105,5 +69,5 @@ sensor: resources: - linev - loadpct - - itemp + - timeleft ``` From 4e2d299b287822980a61f3de44bb1f8828753028 Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 15:58:34 +0200 Subject: [PATCH 081/164] Update binary_sensor.rachio.markdown (#6157) updated to correct category --- source/_components/binary_sensor.rachio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.rachio.markdown b/source/_components/binary_sensor.rachio.markdown index 568e9e0c558..c46bf398794 100644 --- a/source/_components/binary_sensor.rachio.markdown +++ b/source/_components/binary_sensor.rachio.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rachio.png -ha_category: Hub +ha_category: Sensor ha_iot_class: "Cloud Push" ha_release: 0.73 --- From 1f9a34d67f413335610dff4df65cdd81fcbe2c1f Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 15:59:00 +0200 Subject: [PATCH 082/164] Update sensor.trafikverket_weatherstation.markdown (#6155) updated to correct category --- source/_components/sensor.trafikverket_weatherstation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.trafikverket_weatherstation.markdown b/source/_components/sensor.trafikverket_weatherstation.markdown index 272c4e09941..2fcd0e28465 100644 --- a/source/_components/sensor.trafikverket_weatherstation.markdown +++ b/source/_components/sensor.trafikverket_weatherstation.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: trafikverket.png -ha_category: Sensor +ha_category: Weather ha_release: 0.66.0 --- From b7a8b221d4d94ab2bfbcc03a47b46eb67a6be749 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 16:09:03 +0200 Subject: [PATCH 083/164] Fix formatting --- source/_components/switch.tesla.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/switch.tesla.markdown b/source/_components/switch.tesla.markdown index 2ded4d7d100..9e11d6cfde3 100644 --- a/source/_components/switch.tesla.markdown +++ b/source/_components/switch.tesla.markdown @@ -8,13 +8,13 @@ comments: false sharing: true footer: true logo: tesla.png -ha_category: Switch +ha_category: Car ha_iot_class: "Cloud Push" ha_release: 0.54 --- -The `Tesla` platform allows you to control your [Tesla](https://www.tesla.com/) charger (enable/disable charging, max range switch) from within Home Assistant. +The `tesla` platform allows you to control your [Tesla](https://www.tesla.com/) charger (enable/disable charging, max range switch) from within Home Assistant. -The switch platform will be automatically configured if Tesla component is configured. +The `switch` platform will be automatically configured if the `tesla` component is configured. -For more configuration information see the [Tesla component](/components/tesla/) documentation. +For more configuration information see the [`tesla` component](/components/tesla/) documentation. From 73a70f8d0d688846ee6079820048f1fd48f0dfef Mon Sep 17 00:00:00 2001 From: Daniel Lashua Date: Sun, 2 Sep 2018 09:10:33 -0500 Subject: [PATCH 084/164] List all available options for method. (#6160) * List all available options for method. * Minor change --- source/_components/notify.rest.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/notify.rest.markdown b/source/_components/notify.rest.markdown index 4d1d83c5813..d46ca8e932d 100644 --- a/source/_components/notify.rest.markdown +++ b/source/_components/notify.rest.markdown @@ -29,7 +29,7 @@ Configuration variables: - **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. - **resource** (*Required*): The resource or endpoint that will receive the value. -- **method** (*Optional*): The method of the request. Default is GET. +- **method** (*Optional*): The method of the request. Default is `GET`. Other valid options are `POST` or `POST_JSON`. - **headers** (*Optional*): The headers for the request. - **message_param_name** (*Optional*): Parameter name for the message. Defaults to `message`. - **title_param_name** (*Optional*): Parameter name for the title. Defaults to none. From 9aafcbe934b96f2de0fd53fa7ed55bea9f1628fa Mon Sep 17 00:00:00 2001 From: Denix Date: Sun, 2 Sep 2018 16:42:01 +0200 Subject: [PATCH 085/164] added more detailed instructions for razberry (#6162) * added more detailed instructions for razberry * Minor changes --- source/_docs/z-wave/device-specific.markdown | 21 ++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown index bb84afca590..add87e6abdc 100644 --- a/source/_docs/z-wave/device-specific.markdown +++ b/source/_docs/z-wave/device-specific.markdown @@ -49,7 +49,7 @@ $ echo -e -n "\x01\x08\x00\xF2\x51\x01\x01\x05\x01\x50" > /dev/serial/by-id/usb- You need to disable the on-board Bluetooth since the board requires the use of the hardware UART (and there's only one on the Pi3). You do this by adding the following to the end of `/boot/config.txt`: -``` +```text dtoverlay=pi3-disable-bt ``` @@ -59,7 +59,24 @@ Then disable the Bluetooth modem service: $ sudo systemctl disable hciuart ``` -Finally, reboot to make those changes active. It's been reported that this is also required on the Pi2. +Once Bluetooth is off, enable the serial interface via the `raspi-config` tool. After reboot run: + +```bash +$ sudo systemctl mask serial-getty@ttyAMA0.service +``` + +so that your serial interface looks like: + +```text +crw-rw---- 1 root dialout 204, 64 Sep 2 14:38 /dev/ttyAMA0 +``` +at this point simply add your user (homeassistant) to the dialout group: + +```bash +$ sudo usermod -a -G dialout homeassistant +``` + +Finally, reboot again to make those changes active. It's has been tested on hassbian and has been reported that this is also required on the Pi2.

If you've installed the Z-Way software, you'll need to ensure you disable it before you install Home Assistant or you won't be able to access the board. Do this with `sudo /etc/init.d/z-way-server stop; sudo update-rc.d z-way-server disable`. From 4d493d8612b54b089b4252d4ac03f3b08349fe6b Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 2 Sep 2018 18:08:59 +0100 Subject: [PATCH 086/164] Fixing formatting (#6165) With the three ticks on the same line as the command it collapsed to a single line --- source/_docs/installation/hassbian.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_docs/installation/hassbian.markdown b/source/_docs/installation/hassbian.markdown index 9c12947cd46..9fdcd566a0a 100644 --- a/source/_docs/installation/hassbian.markdown +++ b/source/_docs/installation/hassbian.markdown @@ -23,4 +23,5 @@ When instructions tell you to activate the virtual environment to install a Pyth ```bash $ sudo -u homeassistant -H -s -$ source /srv/homeassistant/bin/activate``` +$ source /srv/homeassistant/bin/activate +``` From 27a53313ca2298b97cec1d5c5ddb3f1e387b310f Mon Sep 17 00:00:00 2001 From: Totoo Date: Sun, 2 Sep 2018 19:14:45 +0200 Subject: [PATCH 087/164] Added image attachment example for discord component (#6135) * Added image attachment to example * Minor addition --- source/_components/notify.discord.markdown | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/_components/notify.discord.markdown b/source/_components/notify.discord.markdown index 01029fb4b1c..16c82bbfc1f 100644 --- a/source/_components/notify.discord.markdown +++ b/source/_components/notify.discord.markdown @@ -35,7 +35,7 @@ Configuration variables: ### {% linkable_title Setting up the bot %} -Bots can only send messages to servers. To add the bot to a server you are an admin on, get the details of the bot from the [Discord My Apps page](https://discordapp.com/developers/applications/me). +Bots can only send messages to servers or attach local available images. To add the bot to a server you are an admin on, get the details of the bot from the [Discord My Apps page](https://discordapp.com/developers/applications/me).

@@ -69,7 +69,12 @@ This channel ID has to be used as the target when calling the notification servi "target": [ "1234567890", "0987654321" - ] + ], + "data": { + "images": [ + "/tmp/garage_cam.jpg" + ] + } } ``` From b87d7e8a41b46605964834599df7e0358b3429f2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 19:25:59 +0200 Subject: [PATCH 088/164] Move to new car category --- source/_components/sensor.nsw_fuel_station.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.nsw_fuel_station.markdown b/source/_components/sensor.nsw_fuel_station.markdown index 5ebdb8fc51e..9a560f322c3 100644 --- a/source/_components/sensor.nsw_fuel_station.markdown +++ b/source/_components/sensor.nsw_fuel_station.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Fuel +ha_category: Car ha_release: 0.72 ha_iot_class: "Cloud Polling" --- From c1f7bce30405c2eea6e7027b5bf2e0766bdaab17 Mon Sep 17 00:00:00 2001 From: plyblu Date: Sun, 2 Sep 2018 12:30:25 -0500 Subject: [PATCH 089/164] Update notify.mailgun.markdown (#6142) * Update notify.mailgun.markdown Fix inconsistency where "domain" is required in the Mailgun Component https://www.home-assistant.io/components/mailgun/ but "sandbox" can also be used to specify the domain. It appears that the package https://github.com/pschmitt/pymailgunner in def guess_domain(...) allows multiple domains and "sandbox" can be used to choose a sandbox domain over a normal domain. As far as I can tell, this feature isn't used by the Mailgun component. Also removed all references to the obsolete word "token" to avoid confusion. Also used a different name for the notify service to differentiate it from the mailgun component. Note: There are also updates to the aforementioned Mailgun Component doc. * There is no need for the postfix --- source/_components/notify.mailgun.markdown | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/source/_components/notify.mailgun.markdown b/source/_components/notify.mailgun.markdown index 9e98d180524..93695c7e458 100644 --- a/source/_components/notify.mailgun.markdown +++ b/source/_components/notify.mailgun.markdown @@ -22,8 +22,7 @@ The Mailgun notification service allows you to send emails via Mailgun's REST AP # Example configuration.yaml entry mailgun: domain: mg.example.com - api_key: token-XXXXXXXXX - sandbox: False + api_key: XXXXXXXXXXXXXX notify: - name: mailgun @@ -33,11 +32,11 @@ notify: Configuration variables: -- **domain** (*Optional*): This is the domain name to be used when sending out mail. Defaults to the first custom domain you have set up. -- **sandbox** (*Optional*): Whether to use the sandboxed domain for outgoing mail. The `domain` item takes precedence over this. Defaults to `False`. -- **token** (*Required*): This is the API token that has been generated in your Mailgun account. +- **domain** (*Required*): This is the domain name to be used when sending out mail. +- **sandbox** (*Deprecated*): If a sandboxed domain is used, specify it in `domain`. Defaults to `False`. +- **api_key** (*Required*): This is the API Key that has been generated in your Mailgun account. - **recipient** (*Required*): The email address of the recipient. -- **sender** (*Optional*): The sender's email address. Defaults to `hass@DOMAIN`, where `DOMAIN` is outgoint mail domain, as defined by the `domain` and `sanbox` configuration entries. +- **sender** (*Optional*): The sender's email address. Defaults to `hass@DOMAIN`, where `DOMAIN` is the outgoing mail domain, as defined by the `domain` configuration entry. ## {% linkable_title Example automation %} From 5c9e396a518e95b3f8f6a2ecf6ebaac8a521fc52 Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 19:39:35 +0200 Subject: [PATCH 090/164] Update tesla.markdown (#6154) updated to new category Car --- source/_components/tesla.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/tesla.markdown b/source/_components/tesla.markdown index 8673396fc68..f912af94f82 100644 --- a/source/_components/tesla.markdown +++ b/source/_components/tesla.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: tesla.png -ha_category: Hub +ha_category: Car ha_release: 0.53 ha_iot_class: "Cloud Polling" --- From daff356b3c56cf0b1fc945bf834b187a4ab8e98d Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 19:40:02 +0200 Subject: [PATCH 091/164] Update volvooncall.markdown (#6153) updated to new category Car --- source/_components/volvooncall.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index 6482d372ccf..103bafd4937 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: volvo.png -ha_category: Hub +ha_category: Car ha_release: 0.39 ha_iot_class: "Cloud Polling" --- From 81be88e5f2072427ad25eb009467f10091922671 Mon Sep 17 00:00:00 2001 From: ottersen <42288505+ottersen@users.noreply.github.com> Date: Sun, 2 Sep 2018 19:40:16 +0200 Subject: [PATCH 092/164] Update bmw_connected_drive.markdown (#6152) Update new category Car --- source/_components/bmw_connected_drive.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown index 30c60fa32b7..7e4148e26eb 100644 --- a/source/_components/bmw_connected_drive.markdown +++ b/source/_components/bmw_connected_drive.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: bmw.png -ha_category: Hub +ha_category: Car ha_release: 0.64 --- From 024ea83d2e20881370476810cb478de2a2cdfa00 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 21:25:10 +0200 Subject: [PATCH 093/164] Move to DIY category (#6168) --- source/_components/binary_sensor.arest.markdown | 4 +++- source/_components/binary_sensor.bbb_gpio.markdown | 4 +++- source/_components/sensor.arest.markdown | 4 +++- source/_components/sensor.bme280.markdown | 4 +++- source/_components/sensor.bme680.markdown | 2 +- source/_components/switch.arest.markdown | 4 +++- source/_components/switch.bbb_gpio.markdown | 4 +++- source/_components/zabbix.markdown | 2 ++ 8 files changed, 21 insertions(+), 7 deletions(-) diff --git a/source/_components/binary_sensor.arest.markdown b/source/_components/binary_sensor.arest.markdown index d18a2d321a7..1cf17934b7f 100644 --- a/source/_components/binary_sensor.arest.markdown +++ b/source/_components/binary_sensor.arest.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: arest.png -ha_category: Binary Sensor +ha_category: DIY ha_iot_class: "Local Polling" ha_release: 0.9 --- @@ -16,6 +16,8 @@ ha_release: 0.9 The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with an ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. +## {% linkable_title Configuration %} + To use your aREST binary sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.bbb_gpio.markdown b/source/_components/binary_sensor.bbb_gpio.markdown index be2a9bd9fb3..f35f488a7ea 100644 --- a/source/_components/binary_sensor.bbb_gpio.markdown +++ b/source/_components/binary_sensor.bbb_gpio.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: beaglebone-black.png -ha_category: Binary Sensor +ha_category: DIY ha_release: 0.37 ha_iot_class: "Local Push" --- The `bbb_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your [BeagleBone Black](https://beagleboard.org/black). +## {% linkable_title Configuration %} + To use your BeagleBone Black's GPIO in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.arest.markdown b/source/_components/sensor.arest.markdown index 4f7c68732fc..4bb0a11ad78 100644 --- a/source/_components/sensor.arest.markdown +++ b/source/_components/sensor.arest.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: arest.png -ha_category: Sensor +ha_category: DIY ha_iot_class: "Local Polling" ha_release: pre 0.7 --- @@ -16,6 +16,8 @@ ha_release: pre 0.7 The `arest` sensor platform allows you to get all data from your devices (like Arduinos with a Ethernet/Wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. +## {% linkable_title Configuration %} + To use your aREST enabled device in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.bme280.markdown b/source/_components/sensor.bme280.markdown index 7dd524405a3..7887aff3dde 100644 --- a/source/_components/sensor.bme280.markdown +++ b/source/_components/sensor.bme280.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Sensor +ha_category: DIY ha_release: 0.48 ha_iot_class: "Local Push" --- @@ -20,6 +20,8 @@ Tested devices: - [Raspberry Pi](https://www.raspberrypi.org/) +## {% linkable_title Configuration %} + To use your BME280 sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.bme680.markdown b/source/_components/sensor.bme680.markdown index d2496dd8a33..b32f23ab5d7 100644 --- a/source/_components/sensor.bme680.markdown +++ b/source/_components/sensor.bme680.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Sensor +ha_category: DIY ha_release: 0.62 ha_iot_class: "Local Push" --- diff --git a/source/_components/switch.arest.markdown b/source/_components/switch.arest.markdown index e0b63695371..a6a61d7ae98 100644 --- a/source/_components/switch.arest.markdown +++ b/source/_components/switch.arest.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: arest.png -ha_category: Switch +ha_category: DIY ha_iot_class: "Local Polling" ha_release: 0.16 --- The `arest` switch platform allows you to toggle pins of your devices (like Arduino boards with an Ethernet/Wifi connection, ESP8266 based devices, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework. +## {% linkable_title Configuration %} + To use your aREST enabled device with pins in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.bbb_gpio.markdown b/source/_components/switch.bbb_gpio.markdown index 7b02e6a927b..fc41a25db14 100644 --- a/source/_components/switch.bbb_gpio.markdown +++ b/source/_components/switch.bbb_gpio.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: beaglebone-black.png -ha_category: Switch +ha_category: DIY ha_release: 0.36 ha_iot_class: "Local Push" --- The `bbb_gpio` switch platform allows you to control the GPIOs of your [BeagleBone Black](https://beagleboard.org/black). +## {% linkable_title Configuration %} + To use yourBeagleBone Black's GPIO in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown index e4630839993..bda90be47f7 100644 --- a/source/_components/zabbix.markdown +++ b/source/_components/zabbix.markdown @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The `zabbix` component is the main component to connect to a [Zabbix](http://www.zabbix.com/) monitoring instance via the Zabbix API. +## {% linkable_title Configuration %} + To set the Zabbix component up, add the following information to your `configuration.yaml` file: ```yaml From c99c8c3c38e9390b4cf377c12dbc8787ca3b4dab Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 21:25:34 +0200 Subject: [PATCH 094/164] Move to Health category (#6167) --- .../binary_sensor.eight_sleep.markdown | 4 +-- .../_components/binary_sensor.openuv.markdown | 12 +++---- .../binary_sensor.sleepiq.markdown | 2 +- source/_components/eight_sleep.markdown | 4 +-- source/_components/openuv.markdown | 31 ++++++------------- .../_components/sensor.eight_sleep.markdown | 2 +- source/_components/sensor.openuv.markdown | 12 +++---- source/_components/sensor.sleepiq.markdown | 2 +- source/_components/sleepiq.markdown | 6 +++- 9 files changed, 29 insertions(+), 46 deletions(-) diff --git a/source/_components/binary_sensor.eight_sleep.markdown b/source/_components/binary_sensor.eight_sleep.markdown index cf9f2c52bfd..6811a640dda 100644 --- a/source/_components/binary_sensor.eight_sleep.markdown +++ b/source/_components/binary_sensor.eight_sleep.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: eight_sleep.png -ha_category: Binary Sensor +ha_category: Health ha_release: "0.44" ha_iot_class: "Cloud Polling" --- @@ -16,4 +16,4 @@ ha_iot_class: "Cloud Polling" The `eight_sleep` binary sensor platform lets you observe the presence state of a [Eight Sleep](https://eightsleep.com/) cover/mattress through Home Assistant. -Devices will be configured automatically. Please refer to the [component](/components/eight_sleep/) configuration on how to setup. +Devices will be configured automatically. Please refer to the [`eight_sleep` component](/components/eight_sleep/) configuration on how to setup. diff --git a/source/_components/binary_sensor.openuv.markdown b/source/_components/binary_sensor.openuv.markdown index 21cd0cb2bc0..0eda9c2426d 100644 --- a/source/_components/binary_sensor.openuv.markdown +++ b/source/_components/binary_sensor.openuv.markdown @@ -8,16 +8,12 @@ comments: false sharing: true footer: true logo: openuv.jpg -ha_category: Binary Sensor +ha_category: Health ha_release: 0.76 ha_iot_class: "Cloud Polling" --- -The `openuv` binary sensor platform allows you to view binary sensor data from -[OpenUV](http://openuv.io). +The `openuv` binary sensor platform allows you to view binary sensor data from [OpenUV](http://openuv.io). + +You must have the [`openuv` component](/components/openuv/) configured to use this platform. After configuring that component, binary sensors will automatically appear. -

-You must have the [OpenUV component](/components/openuv/) configured to use -this platform. After configuring that component, binary sensors will -automatically appear. -

diff --git a/source/_components/binary_sensor.sleepiq.markdown b/source/_components/binary_sensor.sleepiq.markdown index 0d2170b84c0..3f355cc2780 100644 --- a/source/_components/binary_sensor.sleepiq.markdown +++ b/source/_components/binary_sensor.sleepiq.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: sleepiq.png -ha_category: Binary Sensor +ha_category: Health ha_release: 0.29 ha_iot_class: "Local Polling" --- diff --git a/source/_components/eight_sleep.markdown b/source/_components/eight_sleep.markdown index 3a455d4ab50..74df0d234eb 100644 --- a/source/_components/eight_sleep.markdown +++ b/source/_components/eight_sleep.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: eight_sleep.png -ha_category: Hub +ha_category: Health ha_release: "0.44" ha_iot_class: "Cloud Polling" --- @@ -17,7 +17,7 @@ The `eight_sleep` component allows Home Assistant to fetch data from your [Eight ## {% linkable_title Configuration %} -It's setup utilizing 'Sensor' components to convey the current state of your bed and results of your sleep sessions and a 'Binary Sensor' component to indicate your presence in the bed. A service is also provided to set the heating level and duration of the bed. +It's setup utilizing 'Sensor' platform to convey the current state of your bed and results of your sleep sessions and a 'Binary Sensor' platform to indicate your presence in the bed. A service is also provided to set the heating level and duration of the bed. You must have at least two sleep sessions recorded in the Eight Sleep app prior to setting up the Home Assistant component. diff --git a/source/_components/openuv.markdown b/source/_components/openuv.markdown index 69e22a94e60..a4893d35c97 100644 --- a/source/_components/openuv.markdown +++ b/source/_components/openuv.markdown @@ -8,23 +8,19 @@ comments: false sharing: true footer: true logo: openuv.jpg -ha_category: Hub +ha_category: Health ha_release: 0.76 ha_iot_class: "Cloud Polling" --- -The `openuv` component displays UV and Ozone data from -[openuv.io](http://openuv.io). +The `openuv` component displays UV and Ozone data from [openuv.io](http://openuv.io). ## {% linkable_title Generating an API Key %} To generate an API key, [simply log in to the OpenUV website](https://www.openuv.io/auth/google).

-The "Limited" plan (which is what new users are given by default) is limited to -500 API requests per day. In order to leave a buffer, the `openuv` component -queries the API every 30 minutes by default. This value can be modifed (via the -`scan_interval` key), but please note that over-running the API will require +The "Limited" plan (which is what new users are given by default) is limited to 500 API requests per day. In order to leave a buffer, the `openuv` component queries the API every 30 minutes by default. This value can be modifed (via the `scan_interval` key), but please note that over-running the API will require you to upgrade to a paid plan (and may disable your access in the meantime).

@@ -38,9 +34,7 @@ openuv: api_key: YOUR_OPENUV_API_KEY ``` -To configure additional functionality, add configuration options beneath -a `binary_sensor` and/or `sensor` key within the `openuv` section of -`configuration.yaml` as below: +To configure additional functionality, add configuration options beneath a `binary_sensor` and/or `sensor` key within the `openuv` section of `configuration.yaml` as below: ```yaml openuv: @@ -87,8 +81,7 @@ sensors: ### {% linkable_title `uv_protection_window` %} -This sensor displays `true` if UV protection (sunscreen, etc.) is recommended -at the current date and time; displays `false` otherwise. +This sensor displays `true` if UV protection (sunscreen, etc.) is recommended at the current date and time; displays `false` otherwise. ## {% linkable_title Sensor Types %} @@ -102,19 +95,15 @@ This sensor displays the current UV index. ### {% linkable_title `current_uv_level` %} -This sensor displays the level of current UV index, which is calculated based -on [UV Index Levels & Colors](https://www.openuv.io/kb/uv-index-levels-colors). +This sensor displays the level of current UV index, which is calculated based on [UV Index Levels & Colors](https://www.openuv.io/kb/uv-index-levels-colors). ### {% linkable_title `max_uv_index` %} -This sensor displays the maximum UV index that will be encountered that day (at -solar noon). +This sensor displays the maximum UV index that will be encountered that day (at solar noon). ### {% linkable_title `safe_exposure_time_type_X` %} -These sensors display the approximate number of minutes a particular skin type -can be exposed to the sun before burning/tanning starts. Each sensor depicts -a skin type based on the +These sensors display the approximate number of minutes a particular skin type can be exposed to the sun before burning/tanning starts. Each sensor depicts a skin type based on the [Fitzpatrick scale](https://en.wikipedia.org/wiki/Fitzpatrick_scale): * Skin Type I @@ -125,7 +114,5 @@ a skin type based on the * Skin Type VI

-The above guidelines constitude estimates and are intended to help informed -decision making. They should not replace analysis, advice, or diagnosis from a -trained medical professional. +The above guidelines constitude estimates and are intended to help informed decision making. They should not replace analysis, advice, or diagnosis from a trained medical professional.

diff --git a/source/_components/sensor.eight_sleep.markdown b/source/_components/sensor.eight_sleep.markdown index 2d78d94f705..23e4ce46ed2 100644 --- a/source/_components/sensor.eight_sleep.markdown +++ b/source/_components/sensor.eight_sleep.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: eight_sleep.png -ha_category: Sensor +ha_category: Health ha_release: "0.44" ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/sensor.openuv.markdown b/source/_components/sensor.openuv.markdown index f777be94262..61240520043 100644 --- a/source/_components/sensor.openuv.markdown +++ b/source/_components/sensor.openuv.markdown @@ -8,16 +8,12 @@ comments: false sharing: true footer: true logo: openuv.jpg -ha_category: Sensor +ha_category: Health ha_release: 0.76 ha_iot_class: "Cloud Polling" --- -The `openuv` sensor platform allows you to view sensor data from -[OpenUV](http://openuv.io). +The `openuv` sensor platform allows you to view sensor data from [OpenUV](http://openuv.io). + +You must have the [`openuv` component](/components/openuv/) configured to use this platform. After configuring that component, sensors will automatically appear. -

-You must have the [OpenUV component](/components/openuv/) configured to use -this platform. After configuring that component, sensors will automatically -appear. -

diff --git a/source/_components/sensor.sleepiq.markdown b/source/_components/sensor.sleepiq.markdown index 6740af6ab83..616c54e56ba 100644 --- a/source/_components/sensor.sleepiq.markdown +++ b/source/_components/sensor.sleepiq.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: sleepiq.png -ha_category: Sensor +ha_category: Health ha_release: 0.29 ha_iot_class: "Local Polling" --- diff --git a/source/_components/sleepiq.markdown b/source/_components/sleepiq.markdown index a3efeaa0a0c..bb006c23cdc 100644 --- a/source/_components/sleepiq.markdown +++ b/source/_components/sleepiq.markdown @@ -8,15 +8,19 @@ comments: false sharing: true footer: true logo: sleepiq.png -ha_category: Hub +ha_category: Health ha_release: 0.29 ha_iot_class: "Local Polling" --- The SleepIQ implementation lets you view sensor data from [SleepIQ by SleepNumber](http://www.sleepnumber.com/sn/en/sleepiq-sleep-tracker). In particular, it lets you see the occupancy and current SleepNumber (ie current firmness) of each side of a SleepNumber bed. +## {% linkable_title Setup %} + You will need an account on [SleepIQ](https://sleepiq.sleepnumber.com/) to use this component. +## {% linkable_title Configuration %} + To set it up, add the following information to your `configuration.yaml` file: ```yaml From 82e3b82dd5ae3574fafd2cfa671fe690ae469ccb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 21:25:55 +0200 Subject: [PATCH 095/164] Move all parts to the car category (#6166) --- .../_components/binary_sensor.bmw_connected_drive.markdown | 4 ++-- source/_components/binary_sensor.tesla.markdown | 4 ++-- source/_components/bmw_connected_drive.markdown | 2 +- source/_components/climate.tesla.markdown | 4 ++-- .../_components/device_tracker.bmw_connected_drive.markdown | 4 ++-- source/_components/device_tracker.tesla.markdown | 4 ++-- source/_components/device_tracker.volvooncall.markdown | 2 +- source/_components/lock.bmw_connected_drive.markdown | 4 ++-- source/_components/lock.tesla.markdown | 6 +++--- source/_components/sensor.bmw_connected_drive.markdown | 4 ++-- source/_components/sensor.tesla.markdown | 6 +++--- source/_components/switch.tesla.markdown | 2 +- source/_components/switch.volvooncall.markdown | 2 +- source/_components/volvooncall.markdown | 4 +++- 14 files changed, 27 insertions(+), 25 deletions(-) diff --git a/source/_components/binary_sensor.bmw_connected_drive.markdown b/source/_components/binary_sensor.bmw_connected_drive.markdown index 74330ec5635..03a78c80bb6 100755 --- a/source/_components/binary_sensor.bmw_connected_drive.markdown +++ b/source/_components/binary_sensor.bmw_connected_drive.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: bmw.png -ha_category: Binary Sensor +ha_category: Car ha_release: 0.66 --- -The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. +The `bmw_connected_drive` binary sensor platform allows you to import data on your BMW into Home Assistant. The binary sensors will be automatically configured if `bmw_connected_drive` component is configured. diff --git a/source/_components/binary_sensor.tesla.markdown b/source/_components/binary_sensor.tesla.markdown index c7c1948ae39..4561d8e4c8f 100644 --- a/source/_components/binary_sensor.tesla.markdown +++ b/source/_components/binary_sensor.tesla.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: tesla.png -ha_category: Binary Sensor +ha_category: Car ha_iot_class: "Cloud polling" ha_release: 0.53 --- -The `Tesla` platform allows you to get data from your [Tesla](https://www.tesla.com/) sensors from within Home Assistant. +The `tesla` platform allows you to get data from your [Tesla](https://www.tesla.com/) sensors from within Home Assistant. They will be automatically discovered if the Tesla component is loaded. diff --git a/source/_components/bmw_connected_drive.markdown b/source/_components/bmw_connected_drive.markdown index 7e4148e26eb..56432369dd8 100644 --- a/source/_components/bmw_connected_drive.markdown +++ b/source/_components/bmw_connected_drive.markdown @@ -12,7 +12,7 @@ ha_category: Car ha_release: 0.64 --- -This component lets you retrieve data on your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account, and a Connected Drive enabled vehicle for this to work. +The `bmw_connected_drive` component lets you retrieve data on your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account, and a Connected Drive enabled vehicle for this to work. For compatibility with your BMW vehicle check the [bimmer_connected page](https://github.com/m1n3rva/bimmer_connected) on github. diff --git a/source/_components/climate.tesla.markdown b/source/_components/climate.tesla.markdown index 1d5720f65a9..282f7615702 100644 --- a/source/_components/climate.tesla.markdown +++ b/source/_components/climate.tesla.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: tesla.png -ha_category: Climate +ha_category: Car ha_iot_class: "Cloud push" ha_release: 0.53 --- -The `Tesla` climate platform allows you to control your [Tesla](https://www.tesla.com/) climate from within Home Assistant. +The `tesla` climate platform allows you to control your [Tesla](https://www.tesla.com/) climate from within Home Assistant. The climate platform will be automatically configured if Tesla component is configured. diff --git a/source/_components/device_tracker.bmw_connected_drive.markdown b/source/_components/device_tracker.bmw_connected_drive.markdown index 4f390c5fa3a..53da0530db1 100644 --- a/source/_components/device_tracker.bmw_connected_drive.markdown +++ b/source/_components/device_tracker.bmw_connected_drive.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: bmw.png -ha_category: Presence Detection +ha_category: Car ha_release: 0.64 --- -The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. +The `bmw_connected_drive` device tracker platform allows you to import data on your BMW into Home Assistant. The device tracker platform will be automatically configured if the `bmw_connected_drive` component is configured. diff --git a/source/_components/device_tracker.tesla.markdown b/source/_components/device_tracker.tesla.markdown index affbe9a1a85..e9cb8b34c04 100644 --- a/source/_components/device_tracker.tesla.markdown +++ b/source/_components/device_tracker.tesla.markdown @@ -8,11 +8,11 @@ comments: false sharing: true footer: true logo: tesla.png -ha_category: Presence Detection +ha_category: Car ha_release: 0.53 --- -The `Tesla` platform allows you to get data about the location of your [Tesla](https://www.tesla.com/) car within Home Assistant. +The `tesla` platform allows you to get data about the location of your [Tesla](https://www.tesla.com/) car within Home Assistant. The device tracker platform will be automatically configured if Tesla component is configured. diff --git a/source/_components/device_tracker.volvooncall.markdown b/source/_components/device_tracker.volvooncall.markdown index f4de42f5011..0177adf5ded 100644 --- a/source/_components/device_tracker.volvooncall.markdown +++ b/source/_components/device_tracker.volvooncall.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: volvo.png -ha_category: Presence Detection +ha_category: Car ha_release: "0.30" --- diff --git a/source/_components/lock.bmw_connected_drive.markdown b/source/_components/lock.bmw_connected_drive.markdown index 4c6c7a2edcf..262b2ffb473 100755 --- a/source/_components/lock.bmw_connected_drive.markdown +++ b/source/_components/lock.bmw_connected_drive.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: bmw.png -ha_category: Lock +ha_category: Car ha_release: 0.66 --- -The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. +The `bmw_connected_drive` lock platform allows you to import data on your BMW into Home Assistant. The lock will be automatically configured if `bmw_connected_drive` component is configured. diff --git a/source/_components/lock.tesla.markdown b/source/_components/lock.tesla.markdown index 9708ea52205..bc050bf8b4a 100644 --- a/source/_components/lock.tesla.markdown +++ b/source/_components/lock.tesla.markdown @@ -8,13 +8,13 @@ comments: false sharing: true footer: true logo: tesla.png -ha_category: Lock +ha_category: Car ha_iot_class: "Cloud Push" ha_release: 0.53 --- -The `Tesla` platform allows you to control your [Tesla](https://www.tesla.com/) door lock from within Home Assistant. +The `tesla` platform allows you to control your [Tesla](https://www.tesla.com/) door lock from within Home Assistant. -The lock platform will be automatically configured if Tesla component is configured. +The lock platform will be automatically configured if `tesla` component is configured. For more configuration information see the [Tesla component](/components/tesla/) documentation. diff --git a/source/_components/sensor.bmw_connected_drive.markdown b/source/_components/sensor.bmw_connected_drive.markdown index 083e5124a69..9100fb4b71b 100644 --- a/source/_components/sensor.bmw_connected_drive.markdown +++ b/source/_components/sensor.bmw_connected_drive.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: bmw.png -ha_category: Sensor +ha_category: Car ha_release: 0.64 --- -The `bmw_connected_drive` platform allows you to import data on your BMW into Home Assistant. +The `bmw_connected_drive` sensor platform allows you to import data on your BMW into Home Assistant. The sensors will be automatically configured if the `bmw_connected_drive` component is configured. diff --git a/source/_components/sensor.tesla.markdown b/source/_components/sensor.tesla.markdown index 262a18910e2..1b9dfcca155 100644 --- a/source/_components/sensor.tesla.markdown +++ b/source/_components/sensor.tesla.markdown @@ -8,13 +8,13 @@ comments: false sharing: true footer: true logo: tesla.png -ha_category: Sensor +ha_category: Car ha_iot_class: "Cloud Push" ha_release: 0.53 --- -The `Tesla` platform allows you to get data from your [Tesla](https://www.tesla.com/) sensors from within Home Assistant. +The `tesla` platform allows you to get data from your [Tesla](https://www.tesla.com/) sensors from within Home Assistant. -The sensor platform will be automatically configured if Tesla component is configured. +The sensor platform will be automatically configured if `tesla` component is configured. For more configuration information see the [Tesla component](/components/tesla/) documentation. diff --git a/source/_components/switch.tesla.markdown b/source/_components/switch.tesla.markdown index 9e11d6cfde3..5b184f2fa46 100644 --- a/source/_components/switch.tesla.markdown +++ b/source/_components/switch.tesla.markdown @@ -15,6 +15,6 @@ ha_release: 0.54 The `tesla` platform allows you to control your [Tesla](https://www.tesla.com/) charger (enable/disable charging, max range switch) from within Home Assistant. -The `switch` platform will be automatically configured if the `tesla` component is configured. +The switch platform will be automatically configured if the `tesla` component is configured. For more configuration information see the [`tesla` component](/components/tesla/) documentation. diff --git a/source/_components/switch.volvooncall.markdown b/source/_components/switch.volvooncall.markdown index f4de42f5011..0177adf5ded 100644 --- a/source/_components/switch.volvooncall.markdown +++ b/source/_components/switch.volvooncall.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: volvo.png -ha_category: Presence Detection +ha_category: Car ha_release: "0.30" --- diff --git a/source/_components/volvooncall.markdown b/source/_components/volvooncall.markdown index 103bafd4937..8160d19882f 100644 --- a/source/_components/volvooncall.markdown +++ b/source/_components/volvooncall.markdown @@ -14,7 +14,9 @@ ha_iot_class: "Cloud Polling" --- -The `volvooncall` platform offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level. +The `volvooncall` component offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level. + +## {% linkable_title Configuration %} To use Volvo On Call in your installation, add the following to your `configuration.yaml` file: From c44ad38a2de89f6ce2ca7d818f70b8c698ce4e64 Mon Sep 17 00:00:00 2001 From: Jacob Tomlinson Date: Sun, 2 Sep 2018 21:01:58 +0100 Subject: [PATCH 096/164] Improve warning for yi-hack-v3 versions (#6169) * Improve warning for yi-hack-v3 versions * Update camera.yi.markdown --- source/_components/camera.yi.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/camera.yi.markdown b/source/_components/camera.yi.markdown index cb8975a86c2..e366ab46e32 100644 --- a/source/_components/camera.yi.markdown +++ b/source/_components/camera.yi.markdown @@ -31,7 +31,7 @@ In order to integrate the camera with Home Assistant, it is necessary to install Once installed, please ensure that you have enabled FTP and Telnet on your device.

-Currently, version 0.1.4-beta2 of the custom firmware is the highest supported. Firmwares higher than this version use [Pure-FTPd](https://www.pureftpd.org/project/pure-ftpd), which has a bug that prevents FFmpeg from correctly rendering video files. +Currently, version 0.1.4-beta2 of the custom firmware is the highest supported without having to make additional modifications. Firmwares higher than this version use [Pure-FTPd](https://www.pureftpd.org/project/pure-ftpd), which has a bug that prevents FFmpeg from correctly rendering video files. To use higher firmware versions you must also follow [this workaround](https://github.com/shadow-1/yi-hack-v3/issues/129#issuecomment-361723075) to revert back to ftpd.

From 95102edbd41ec311aa63096538bd9a2656a52fe3 Mon Sep 17 00:00:00 2001 From: Wim Haanstra Date: Sun, 2 Sep 2018 22:20:26 +0200 Subject: [PATCH 097/164] Ritassist dependency update to 0.9.2 (#6038) * Ritassist dependency update to 0.9.2 * Try #1, Fix table rendering * Removed double line --- source/_components/device_tracker.ritassist.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/_components/device_tracker.ritassist.markdown b/source/_components/device_tracker.ritassist.markdown index e8f170f2026..255d17fe79a 100644 --- a/source/_components/device_tracker.ritassist.markdown +++ b/source/_components/device_tracker.ritassist.markdown @@ -78,5 +78,8 @@ See the [device tracker component page](/components/device_tracker/) for instruc | coolant_temperature | Temperature of the coolant [1] | | power_voltage | Power voltage measured by the hardware [1] | | distance_from_home | How far is your vehicle located from your Home Assistant Home location | +| current_max_speed | The maximum speed on the road the device is currently on (if available) | +| current_address | Object with address information the device is currently on. This resolves to the closest address to the coordinates of the device. | -[1] Only available on certain cars and hardware revisions. + +[1] Only available on certain cars and hardware revisions. \ No newline at end of file From 278de848afbdb377ac91baf11542253e87f31c45 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 22:48:36 +0200 Subject: [PATCH 098/164] Move to different category --- source/_components/sensor.opensky.markdown | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/source/_components/sensor.opensky.markdown b/source/_components/sensor.opensky.markdown index cf16befa77e..39bbb600b4b 100644 --- a/source/_components/sensor.opensky.markdown +++ b/source/_components/sensor.opensky.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: opensky.png -ha_category: Sensor +ha_category: Transport featured: false ha_release: 0.43 ha_iot_class: "Cloud Polling" @@ -16,9 +16,9 @@ ha_iot_class: "Cloud Polling" The `opensky` sensor allows one to track overhead flights in a given region. It uses crowd-sourced data from the [OpenSky Network](https://opensky-network.org/) public API. It will also fire Home Assistant events when flights enter and exit the defined region. -## Configuration +## {% linkable_title Configuration %} -To enable this sensor, add the following lines to your `configuration.yaml`. +To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml sensor: @@ -28,24 +28,24 @@ sensor: Configuration options for the OpenSky Network sensor: -- **radius** (*Required*): Radius of region to monitor, in kilometers -- **latitude** (*Optional*): Region latitude (defaults to home zone latitude) -- **longitude** (*Optional*): Region longitude (defaults to home zone longitude) -- **altitude** (*Optional*): The maximum altitude(in meters) for planes to be detected in, 0 sets it to unlimited (defaults to 0) -- **name** (*Optional*): Sensor name (defaults to `opensky`) +- **radius** (*Required*): Radius of region to monitor, in kilometers. +- **latitude** (*Optional*): Region latitude. Defaults to home zone latitude. +- **longitude** (*Optional*): Region longitude. Defaults to home zone longitude. +- **altitude** (*Optional*): The maximum altitude (in meters) for planes to be detected in, 0 sets it to unlimited. Defaults to 0). +- **name** (*Optional*): Sensor name. Defaults to opensky. -## Events +## {% linkable_title Events %} -- **opensky_entry**: Fired when a flight enters the region -- **opensky_exit**: Fired when a flight exits the region +- **opensky_entry**: Fired when a flight enters the region. +- **opensky_exit**: Fired when a flight exits the region. Both events have two attributes: -- **sensor**: Name of `opensky` sensor that fired the event -- **callsign**: Callsign of the flight -- **altitude**: Altitude of the flight in meters +- **sensor**: Name of `opensky` sensor that fired the event. +- **callsign**: Callsign of the flight. +- **altitude**: Altitude of the flight in meters. -To receive notifications of the entering flights, add the following lines to your `configuration.yaml`. +To receive notifications of the entering flights, add the following lines to your `configuration.yaml` file: {% raw %} ```yaml From adba00c68ee4a43f5ef73f2d7b93d4e4a0a4f20f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 22:49:24 +0200 Subject: [PATCH 099/164] Mior fix --- source/_components/sensor.random.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.random.markdown b/source/_components/sensor.random.markdown index cbe6049cf30..b56d1f3d591 100644 --- a/source/_components/sensor.random.markdown +++ b/source/_components/sensor.random.markdown @@ -18,7 +18,7 @@ The `random` sensor platform is creating random sensor values (integers) out of ## {% linkable_title Configuration %} -To enable the random sensor, add the following lines to your `configuration.yaml`: +To enable the random sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry From 6867750560697a4aa75643f83d998d94084cd32d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 22:57:53 +0200 Subject: [PATCH 100/164] Move to Car category (#6170) * Move to Car category * Move to Car category --- .../binary_sensor.mercedesme.markdown | 4 ++-- .../binary_sensor.mychevy.markdown | 11 +++++++--- .../device_tracker.mercedesme.markdown | 4 ++-- source/_components/mercedesme.markdown | 2 +- source/_components/mychevy.markdown | 22 +++++++++---------- source/_components/sensor.mercedesme.markdown | 4 ++-- source/_components/sensor.mychevy.markdown | 12 +++++++--- source/_components/sensor.torque.markdown | 7 +++--- 8 files changed, 39 insertions(+), 27 deletions(-) diff --git a/source/_components/binary_sensor.mercedesme.markdown b/source/_components/binary_sensor.mercedesme.markdown index e1df898d498..a51f2e85d08 100644 --- a/source/_components/binary_sensor.mercedesme.markdown +++ b/source/_components/binary_sensor.mercedesme.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: mercedesme.png -ha_category: Binary Sensor +ha_category: Car ha_iot_class: "Cloud polling" ha_release: 0.63 --- -The `Mercedes me` platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors like windows, doors, lock, tire warnings from within Home Assistant. +The `mercedesme` platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors like windows, doors, lock, tire warnings from within Home Assistant. They will be automatically discovered if the Mercedes me component is loaded. diff --git a/source/_components/binary_sensor.mychevy.markdown b/source/_components/binary_sensor.mychevy.markdown index b04312b2ae5..42ce754d87a 100644 --- a/source/_components/binary_sensor.mychevy.markdown +++ b/source/_components/binary_sensor.mychevy.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "MyChevy Binary Sensors" +title: "MyChevy Binary Sensor" description: "Instructions on how to integrate Chevy Bolt binary sensors car into Home Assistant." date: 2017-08-28 17:00 sidebar: true @@ -8,9 +8,14 @@ comments: false sharing: true footer: true logo: chevy.png -ha_category: Binary Sensor +ha_category: Car ha_release: 0.62 ha_iot_class: "Cloud Polling" --- -For configuration instructions, see [main component config](/components/mychevy/). +The `mychevy` binary sensor platform allows you to monitor your Chevy Bolt car from within Home Assistant. + +The binary sensor platform will be automatically configured if the `mychevy` component is configured. + +For configuration instructions, see the [`mychevy` component](/components/mychevy/) documentation. + diff --git a/source/_components/device_tracker.mercedesme.markdown b/source/_components/device_tracker.mercedesme.markdown index ad59c95e0d5..3707d5ca1cd 100644 --- a/source/_components/device_tracker.mercedesme.markdown +++ b/source/_components/device_tracker.mercedesme.markdown @@ -8,11 +8,11 @@ comments: false sharing: true footer: true logo: mercedesme.png -ha_category: Presence Detection +ha_category: Car ha_release: 0.63 --- -The `Mercedes me` platform allows you to get data about the location of your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) car within Home Assistant. +The `mercedesme` platform allows you to get data about the location of your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) car within Home Assistant. The device tracker platform will be automatically configured if Mercedes me component is configured. diff --git a/source/_components/mercedesme.markdown b/source/_components/mercedesme.markdown index db5774c5183..c533bc7f2bb 100644 --- a/source/_components/mercedesme.markdown +++ b/source/_components/mercedesme.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mercedesme.png -ha_category: Hub +ha_category: Car ha_release: 0.63 ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/mychevy.markdown b/source/_components/mychevy.markdown index 15a6b88ff19..a737ba764a4 100644 --- a/source/_components/mychevy.markdown +++ b/source/_components/mychevy.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: chevy.png -ha_category: Hub +ha_category: Car ha_release: 0.62 ha_iot_class: "Cloud Polling" --- -The `MyChevy` component communicates with the [my.chevrolet](https://my.chevrolet.com) website using selenium to log in as your user, and screen scrape the data provided. GM does not make it easy to sign up for any official development program, so this provides a workaround to get access to your data. +The `mychevy` component communicates with the [my.chevrolet](https://my.chevrolet.com) website using selenium to log in as your user and screen scrape the data provided. GM does not make it easy to sign up for any official development program, so this provides a workaround to get access to your data. This component provides the following platforms: @@ -33,21 +33,21 @@ mychevy: {% configuration %} username: - description: The email address associated with your my.chevrolet account. - required: true - type: string + description: The email address associated with your my.chevrolet account. + required: true + type: string password: - description: The password for your given my.chevrolet account. - required: true - type: string + description: The password for your given my.chevrolet account. + required: true + type: string {% endconfiguration %} -#### {% linkable_title Installation %} +### {% linkable_title Installation %} -Because this uses selenium behind the scenes, installation is more complicated than merely pip install. See the [installation instructions](https://github.com/sdague/mychevy). +Because this uses selenium behind the scenes, installation is more complicated than merely `pip` install. See the [installation instructions](https://github.com/sdague/mychevy). -#### {% linkable_title Limitations %} +### {% linkable_title Limitations %} The architecture of the GM automotive networking imposes some limitations on the functionality of the component. diff --git a/source/_components/sensor.mercedesme.markdown b/source/_components/sensor.mercedesme.markdown index da5fd9ba453..205955639dc 100644 --- a/source/_components/sensor.mercedesme.markdown +++ b/source/_components/sensor.mercedesme.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: mercedesme.png -ha_category: Sensor +ha_category: Car ha_iot_class: "Cloud Push" ha_release: 0.63 --- -The `Mercedes me` platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors from within Home Assistant. +The `mercedesme` sensor platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors from within Home Assistant. The sensor platform will be automatically configured if Mercedes me component is configured. diff --git a/source/_components/sensor.mychevy.markdown b/source/_components/sensor.mychevy.markdown index 03b3146f5f9..33747f5aab1 100644 --- a/source/_components/sensor.mychevy.markdown +++ b/source/_components/sensor.mychevy.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "MyChevy Sensors" +title: "MyChevy Sensor" description: "Instructions on how to integrate Chevy Bolt sensors car into Home Assistant." date: 2017-08-28 17:00 sidebar: true @@ -8,9 +8,15 @@ comments: false sharing: true footer: true logo: chevy.png -ha_category: Sensor +ha_category: Car ha_release: 0.62 ha_iot_class: "Cloud Polling" --- -For configuration instructions, see [main component config](/components/mychevy/). + +The `mychevy` sensor platform allows you to monitor your Chevy Bolt car from within Home Assistant. + +The sensor platform will be automatically configured if the `mychevy` component is configured. + +For configuration instructions, see the [`mychevy` component](/components/mychevy/) documentation. + diff --git a/source/_components/sensor.torque.markdown b/source/_components/sensor.torque.markdown index 38379ccd675..91d45e4d7b9 100644 --- a/source/_components/sensor.torque.markdown +++ b/source/_components/sensor.torque.markdown @@ -8,14 +8,15 @@ comments: false sharing: true footer: true logo: torque.png -ha_category: Transport +ha_category: Car ha_release: "0.10" ha_iot_class: "Cloud Polling" --- The `torque` platform will allow you to monitor [Torque](http://torque-bhp.com/) data relayed from a Bluetooth OBD2 stick via the Torque mobile application. -## {% linkable_title Configuration %} +## {% linkable_title Setup %} + To use Torque sensors with your installation, you must configure both the Torque mobile application and Home Assistant. ### {% linkable_title Torque application %} @@ -34,7 +35,7 @@ Under the **Realtime Web Upload** header: - Enter an email address in **User Email Address**. - Optionally set the **Web Logging Interval**. The 2-second default may quickly fill up the Home Assistant history database. -### {% linkable_title Home Assistant %} +### {% linkable_title Configuration %} Add the following to your `configuration.yaml` file: From 990885e5b8f6ce588bda00796456e243b701acc0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 22:58:27 +0200 Subject: [PATCH 101/164] Update Mycroft documentation (#6171) --- source/_components/mycroft.markdown | 17 ++++++++++------- source/_components/notify.mycroft.markdown | 7 ++++++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/source/_components/mycroft.markdown b/source/_components/mycroft.markdown index 9754096be00..827ecccaf18 100644 --- a/source/_components/mycroft.markdown +++ b/source/_components/mycroft.markdown @@ -14,18 +14,21 @@ ha_release: 0.53 [Mycroft](https://mycroft.ai) is an open source voice assistant that allows you to send notifications and more to Mycroft from Home Assistant. +## {% linkable_title Configuration %} + +To use Mycroft in your installation, add the following to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry mycroft: host: 0.0.0.0 ``` -`host` is your IP address of your mycroft instance. Once you have added your host to your `configuration.yaml` file, restart your Home Assistant server. This will load up the Mycroft component and make a service available to notify on Mycroft and more eventually. +{% configuration %} +host: + description: The IP address of your Mycroft instance. + required: true + type: string +{% endconfiguration %} -The `mycroft` notification platform allows you to deliver notifications from Home Assistant to [Mycroft AI](https://mycroft.ai/). - -To use this notification platform you simply need to input into the configuration that mycroft is your notification platform like seen above. - - -To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_components/notify.mycroft.markdown b/source/_components/notify.mycroft.markdown index 81917884998..d868b43331a 100644 --- a/source/_components/notify.mycroft.markdown +++ b/source/_components/notify.mycroft.markdown @@ -12,4 +12,9 @@ ha_category: Notifications ha_release: "0.53" --- -Please see the main [Mycroft Component](/components/mycroft) +The `mycroft` notification platform allows you to deliver notifications from Home Assistant to [Mycroft AI](https://mycroft.ai/). + +Please check the [`mycroft` component](/components/mycroft/) for details. + +To use notifications, please see the [getting started with automation page](/getting-started/automation/). + From d9b46a57f52cb315d33f9c7fc2afe0ab92e9850f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 23:17:53 +0200 Subject: [PATCH 102/164] Move to Finance category (#6172) --- source/_components/coinbase.markdown | 5 ++++- source/_components/sensor.coinbase.markdown | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/source/_components/coinbase.markdown b/source/_components/coinbase.markdown index f5d657ab4fb..bbe82837d40 100644 --- a/source/_components/coinbase.markdown +++ b/source/_components/coinbase.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "coinbase" +title: "Coinbase" description: "Instructions for how to add Coinbase sensors to Home Assistant." date: 2017-12-08 17:54 sidebar: true @@ -8,6 +8,7 @@ comments: false sharing: true footer: true logo: coinbase.png +ha_category: Finance ha_release: 0.61 ha_iot_class: "Cloud Polling" --- @@ -17,6 +18,8 @@ The `coinbase` component lets you access account balances and exchange rates fro You will need to obtain an API key from coinbase's [developer site](https://www.coinbase.com/settings/api) to use this component. You need to give read access to `wallet:accounts` in order for the component to access relevant data. +## {% linkable_title Configuration %} + To set it up, add the following information to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.coinbase.markdown b/source/_components/sensor.coinbase.markdown index c506d823417..537b10f9973 100644 --- a/source/_components/sensor.coinbase.markdown +++ b/source/_components/sensor.coinbase.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: coinbase.png -ha_category: Sensor +ha_category: Finance ha_release: 0.61 --- From 2d9a74d19c0674a8f8575038bce3d424e429d3e5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Sep 2018 23:36:26 +0200 Subject: [PATCH 103/164] Move to DIY category (#6173) --- source/_components/binary_sensor.raspihats.markdown | 4 +++- source/_components/binary_sensor.rpi_gpio.markdown | 4 +++- source/_components/binary_sensor.rpi_pfio.markdown | 4 +++- source/_components/camera.rpi_camera.markdown | 4 +++- source/_components/cover.rpi_gpio.markdown | 4 +++- source/_components/light.rpi_gpio_pwm.markdown | 6 ++++-- source/_components/switch.raspihats.markdown | 4 +++- source/_components/switch.rpi_gpio.markdown | 4 +++- source/_components/switch.rpi_pfio.markdown | 4 +++- source/_components/switch.rpi_rf.markdown | 4 +++- 10 files changed, 31 insertions(+), 11 deletions(-) diff --git a/source/_components/binary_sensor.raspihats.markdown b/source/_components/binary_sensor.raspihats.markdown index 50d031c4574..be5891b19be 100644 --- a/source/_components/binary_sensor.raspihats.markdown +++ b/source/_components/binary_sensor.raspihats.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: raspihats.png -ha_category: Binary Sensor +ha_category: DIY ha_release: 0.44 ha_iot_class: "Local Push" --- The `raspihats` binary sensor platform allows you to read sensor values ​​using the digital inputs of the [raspihats](http://www.raspihats.com/) boards. +## {% linkable_title Configuration %} + To use your `raspihats` boards in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.rpi_gpio.markdown b/source/_components/binary_sensor.rpi_gpio.markdown index a59333d82cb..5b95daed1ca 100644 --- a/source/_components/binary_sensor.rpi_gpio.markdown +++ b/source/_components/binary_sensor.rpi_gpio.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Binary Sensor +ha_category: DIY ha_release: pre 0.7 ha_iot_class: "Local Push" --- The `rpi_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your [Raspberry Pi](https://www.raspberrypi.org/). +## {% linkable_title Configuration %} + To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.rpi_pfio.markdown b/source/_components/binary_sensor.rpi_pfio.markdown index d02cfaf2dab..29cda1530da 100644 --- a/source/_components/binary_sensor.rpi_pfio.markdown +++ b/source/_components/binary_sensor.rpi_pfio.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Binary Sensor +ha_category: DIY ha_release: 0.45 ha_iot_class: "Local Push" --- The `rpi_pfio` binary sensor platform allows you to read sensor values of the [PiFace Digital I/O](http://www.piface.org.uk/products/piface_digital/) . +## {% linkable_title Configuration %} + To use your PiFace Digital I/O module in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.rpi_camera.markdown b/source/_components/camera.rpi_camera.markdown index 2033dc5d281..b6fc4094c09 100644 --- a/source/_components/camera.rpi_camera.markdown +++ b/source/_components/camera.rpi_camera.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Camera +ha_category: DIY ha_iot_class: "Local Polling" ha_release: 0.17 --- @@ -16,6 +16,8 @@ ha_release: 0.17 The `rpi_camera` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera. +## {% linkable_title Configuration %} + To enable this camera in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/cover.rpi_gpio.markdown b/source/_components/cover.rpi_gpio.markdown index 62c22bb0427..37427a321d8 100644 --- a/source/_components/cover.rpi_gpio.markdown +++ b/source/_components/cover.rpi_gpio.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Cover +ha_category: DIY ha_release: 0.23 ha_iot_class: "Local Push" --- @@ -22,6 +22,8 @@ It uses two pins on the Raspberry Pi. Although you do not need Andrews Hilliday's software controller when you run Home Assistant, he has written clear instructions on how to hook your garage door and sensors up to your Raspberry Pi, which can be found [here](https://github.com/andrewshilliday/garage-door-controller#hardware-setup). +## {% linkable_title Configuration %} + To enable Raspberry Pi Covers in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/light.rpi_gpio_pwm.markdown b/source/_components/light.rpi_gpio_pwm.markdown index 7202b82297c..1ea0438332d 100644 --- a/source/_components/light.rpi_gpio_pwm.markdown +++ b/source/_components/light.rpi_gpio_pwm.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "PWM LED" +title: "PWM LED Light" description: "Instructions on how to setup PWM LEDs within Home Assistant." date: 2017-04-04 13:00 sidebar: true @@ -8,7 +8,7 @@ layout: page comments: false sharing: true footer: true -ha_category: Light +ha_category: DIY ha_iot_class: "Local Push" ha_release: 0.43 logo: raspberry-pi.png @@ -18,6 +18,8 @@ The `rpi_gpio_pwm` platform allows to control multiple lights using pulse-width For controlling the GPIOs, the platform connects to the [pigpio-daemon](http://abyz.co.uk/rpi/pigpio/pigpiod.html), which must be running. On Raspbian Jessie 2016-05-10 or newer the `pigpio` library is already included. On other operating systems it needs to be installed first (see [installation instructions](https://github.com/soldag/python-pwmled#installation)). +## {% linkable_title Configuration %} + To enable this platform, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/switch.raspihats.markdown b/source/_components/switch.raspihats.markdown index f31a33edaac..c1f65847dc3 100644 --- a/source/_components/switch.raspihats.markdown +++ b/source/_components/switch.raspihats.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspihats.png -ha_category: Switch +ha_category: DIY ha_release: 0.45 ha_iot_class: "Local Push" --- @@ -16,6 +16,8 @@ ha_iot_class: "Local Push" The `raspihats` switch platform allows you to control the digital outputs of your [raspihats](http://www.raspihats.com/) boards. +## {% linkable_title Configuration %} + To use your raspihats boards in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.rpi_gpio.markdown b/source/_components/switch.rpi_gpio.markdown index 5b3a888e240..f6d62a4935b 100644 --- a/source/_components/switch.rpi_gpio.markdown +++ b/source/_components/switch.rpi_gpio.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Switch +ha_category: DIY ha_release: pre 0.7 ha_iot_class: "Local Push" --- @@ -16,6 +16,8 @@ ha_iot_class: "Local Push" The `rpi_gpio` switch platform allows you to control the GPIOs of your [Raspberry Pi](https://www.raspberrypi.org/). +## {% linkable_title Configuration %} + To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.rpi_pfio.markdown b/source/_components/switch.rpi_pfio.markdown index 30498f7d990..57f4ba2a6dc 100644 --- a/source/_components/switch.rpi_pfio.markdown +++ b/source/_components/switch.rpi_pfio.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Switch +ha_category: DIY ha_release: 0.45 ha_iot_class: "Local Polling" --- The `rpi_pfio` switch platform allows you to control the [PiFace Digital I/O](http://www.piface.org.uk/products/piface_digital/) module. +## {% linkable_title Configuration %} + To use your PiFace Digital I/O module in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.rpi_rf.markdown b/source/_components/switch.rpi_rf.markdown index b9813ceb560..43d2e5a30d5 100644 --- a/source/_components/switch.rpi_rf.markdown +++ b/source/_components/switch.rpi_rf.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Switch +ha_category: DIY ha_release: 0.19 ha_iot_class: "Assumed state" --- @@ -19,6 +19,8 @@ The `rpi_rf` switch platform allows you to control devices over 433/315MHz LPD/S Interoperable with codes sniffed via [the rpi-rf module](https://pypi.python.org/pypi/rpi-rf) or [rc-switch](https://github.com/sui77/rc-switch). For more info see the PyPi module description: [rpi-rf](https://pypi.python.org/pypi/rpi-rf). +## {% linkable_title Configuration %} + To enable, add the following to your `configuration.yaml`: ```yaml From f9f4452176b7e4fc2975e86627e6123202522e4f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 07:30:31 +0200 Subject: [PATCH 104/164] Move to DIY category (#6174) --- .../binary_sensor.mysensors.markdown | 2 +- source/_components/climate.mysensors.markdown | 2 +- source/_components/cover.mysensors.markdown | 2 +- .../device_tracker.mysensors.markdown | 3 +-- .../light.blinksticklight.markdown | 20 +++++++++++---- source/_components/light.blinkt.markdown | 5 +++- source/_components/light.mysensors.markdown | 2 +- source/_components/light.sensehat.markdown | 10 ++++---- source/_components/mysensors.markdown | 2 +- source/_components/notify.mysensors.markdown | 2 +- source/_components/sensor.mysensors.markdown | 2 +- source/_components/sensor.sense.markdown | 25 +++++++++++-------- source/_components/sensor.sensehat.markdown | 10 +++++--- source/_components/switch.mysensors.markdown | 2 +- 14 files changed, 53 insertions(+), 36 deletions(-) diff --git a/source/_components/binary_sensor.mysensors.markdown b/source/_components/binary_sensor.mysensors.markdown index 6138b927af7..814f79d9b6c 100644 --- a/source/_components/binary_sensor.mysensors.markdown +++ b/source/_components/binary_sensor.mysensors.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Binary Sensor +ha_category: DIY ha_release: 0.14 ha_iot_class: "Local Push" --- diff --git a/source/_components/climate.mysensors.markdown b/source/_components/climate.mysensors.markdown index 6f5379449b0..f7cc81bec3e 100644 --- a/source/_components/climate.mysensors.markdown +++ b/source/_components/climate.mysensors.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Climate +ha_category: DIY ha_release: 0.29 ha_iot_class: "Local Push" --- diff --git a/source/_components/cover.mysensors.markdown b/source/_components/cover.mysensors.markdown index b4ded3e1b4b..2731b5c9a3c 100644 --- a/source/_components/cover.mysensors.markdown +++ b/source/_components/cover.mysensors.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Cover +ha_category: DIY ha_release: "0.30" ha_iot_class: "Local Push" --- diff --git a/source/_components/device_tracker.mysensors.markdown b/source/_components/device_tracker.mysensors.markdown index 5366c68ea78..0a886e1a2c6 100644 --- a/source/_components/device_tracker.mysensors.markdown +++ b/source/_components/device_tracker.mysensors.markdown @@ -8,8 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Presence Detection -featured: false +ha_category: DIY ha_release: "0.38" ha_iot_class: "Local Push" --- diff --git a/source/_components/light.blinksticklight.markdown b/source/_components/light.blinksticklight.markdown index c11da280aca..d5cc53a99fc 100644 --- a/source/_components/light.blinksticklight.markdown +++ b/source/_components/light.blinksticklight.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: blinkstick.png -ha_category: Light +ha_category: DIY ha_release: 0.7.5 ha_iot_class: "Local Polling" --- @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The `blinkstick` platform lets you control your [Blinkstick](https://www.blinkstick.com/) lights from within Home Assistant. +## {% linkable_title Configuration %} + To add blinkstick to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -23,10 +25,18 @@ To add blinkstick to your installation, add the following to your `configuration light: - platform: blinksticklight serial: BS000795-1.1 - name: Living Room ``` -Configuration variables: +{% configuration %} +serial: + description: The serial number of your stick. + required: true + default: 640 + type: string +name: + description: Name of the stick. + required: false + type: string + default: Blinkstick +{% endconfiguration %} -- **serial** (*Required*): The serial number of your stick. -- **name** (*Required*): Name of the stick. diff --git a/source/_components/light.blinkt.markdown b/source/_components/light.blinkt.markdown index ad2d6200f87..69b72eb1d13 100644 --- a/source/_components/light.blinkt.markdown +++ b/source/_components/light.blinkt.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Light +ha_category: DIY ha_iot_class: "Local Push" ha_release: 0.44 --- The `blinkt` light platform lets you control the [Blinkt!](https://shop.pimoroni.com/products/blinkt) board, featuring eight super-bright RGB LEDs. +## {% linkable_title Configuration %} + To enable `blinkt` in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -22,3 +24,4 @@ To enable `blinkt` in your installation, add the following to your `configuratio light: - platform: blinkt ``` + diff --git a/source/_components/light.mysensors.markdown b/source/_components/light.mysensors.markdown index 5f91aa43fe1..4e62f705bcd 100644 --- a/source/_components/light.mysensors.markdown +++ b/source/_components/light.mysensors.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Light +ha_category: DIY ha_release: 0.13 ha_iot_class: "Local Push" --- diff --git a/source/_components/light.sensehat.markdown b/source/_components/light.sensehat.markdown index 7c7a4d0b378..30d9eb88c8d 100644 --- a/source/_components/light.sensehat.markdown +++ b/source/_components/light.sensehat.markdown @@ -8,20 +8,20 @@ comments: false sharing: true footer: true logo: sense-hat.png -ha_category: Light +ha_category: DIY ha_iot_class: "Assumed State" ha_release: 0.44 --- The `sensehat` light platform lets you control the [Sense HAT](https://www.raspberrypi.org/products/sense-hat/) board's 8x8 RGB LED matrix on your Raspberry Pi from within Home Assistant. -To add `sensehat` to your installation, add the following to your `configuration.yaml` file: +## {% linkable_title Configuration %} + +To add `sensehat` light to your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry light: - platform: sensehat - name: SenseHAT + - platform: sensehat ``` -For setting up the Sense HAT sensors, please see the [Sense HAT sensor component](/components/sensor.sensehat/). diff --git a/source/_components/mysensors.markdown b/source/_components/mysensors.markdown index 3cd360e2d26..97a48746a27 100644 --- a/source/_components/mysensors.markdown +++ b/source/_components/mysensors.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Hub +ha_category: DIY featured: true ha_iot_class: "Local Push" --- diff --git a/source/_components/notify.mysensors.markdown b/source/_components/notify.mysensors.markdown index 3dab5bc10dd..085f9b87cfc 100644 --- a/source/_components/notify.mysensors.markdown +++ b/source/_components/notify.mysensors.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Notifications +ha_category: DIY ha_release: 0.36 ha_iot_class: "Local Push" --- diff --git a/source/_components/sensor.mysensors.markdown b/source/_components/sensor.mysensors.markdown index a6e8657014a..ae77bb096eb 100644 --- a/source/_components/sensor.mysensors.markdown +++ b/source/_components/sensor.mysensors.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Sensor +ha_category: DIY featured: false ha_iot_class: "Local Push" --- diff --git a/source/_components/sensor.sense.markdown b/source/_components/sensor.sense.markdown index e13e45dd937..f894c5312e2 100644 --- a/source/_components/sensor.sense.markdown +++ b/source/_components/sensor.sense.markdown @@ -15,6 +15,9 @@ ha_release: 0.65 Integrate your [Sense](https://sense.com) meter information into Home Assistant. + +## {% linkable_title Configuration %} + To enable this sensor in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -31,9 +34,9 @@ sensor: ``` Two types of sensors can be monitored and will be created with the following names: + - **Active Usage/Production**: Current active power usage/production in Watts. Updated every 30 seconds. - **Daily Usage/Production**: Daily power usage/production in kWh. Updated every 5 minutes. -- ... Weekly, Monthly and Yearly variants are also available. @@ -52,23 +55,23 @@ monitored_conditions: type: list keys: active_usage: - description: The current power usage in W + description: The current power usage in W. active_production: - description: The current solar production in W + description: The current solar production in W. daily_usage: - description: Total power used for current day in kWh + description: Total power used for current day in kWh. daily_production: - description: Total power produced for current day in kWh + description: Total power produced for current day in kWh. weekly_usage: - description: Total power used for current week in kWh + description: Total power used for current week in kWh. weekly_production: - description: Total power produced for current week in kWh + description: Total power produced for current week in kWh. monthly_usage: - description: Total power used for current month in kWh + description: Total power used for current month in kWh. monthly_production: - description: Total power produced for current month in kWh + description: Total power produced for current month in kWh. yearly_usage: - description: Total power used for current year in kWh + description: Total power used for current year in kWh. yearly_production: - description: Total power produced for current year in kWh + description: Total power produced for current year in kWh. {% endconfiguration %} diff --git a/source/_components/sensor.sensehat.markdown b/source/_components/sensor.sensehat.markdown index 640ea7b1a52..a2236c2fb5f 100644 --- a/source/_components/sensor.sensehat.markdown +++ b/source/_components/sensor.sensehat.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: sense-hat.png -ha_category: Sensor +ha_category: DIY ha_release: 0.35 ha_iot_class: "Local Push" --- @@ -16,6 +16,8 @@ ha_iot_class: "Local Push" The `sensehat` sensor platform allows you to display information collected by a [Sense HAT](https://www.raspberrypi.org/products/sense-hat/) add-on board for Raspberry Pi. +## {% linkable_title Configuration %} + To add this platform to your installation, add the following to your `configuration.yaml` file: ```yaml @@ -23,9 +25,9 @@ To add this platform to your installation, add the following to your `configurat sensor: - platform: sensehat display_options: - - temperature - - humidity - - pressure + - temperature + - humidity + - pressure ``` Configuration variables: diff --git a/source/_components/switch.mysensors.markdown b/source/_components/switch.mysensors.markdown index a0fffa84e36..91d5c2e17aa 100644 --- a/source/_components/switch.mysensors.markdown +++ b/source/_components/switch.mysensors.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mysensors.png -ha_category: Switch +ha_category: DIY featured: false ha_iot_class: "Local Push" --- From f50debada0c3bc5d53a6f61e2f5e81aa1f98d070 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 07:30:47 +0200 Subject: [PATCH 105/164] Move to System Monitor category (#6175) * Move to System Monitor category * Move to System Monitor category --- .../binary_sensor.digital_ocean.markdown | 2 ++ .../_components/binary_sensor.linode.markdown | 2 ++ source/_components/digital_ocean.markdown | 6 +++++- source/_components/linode.markdown | 17 +++++++++++------ .../_components/switch.digital_ocean.markdown | 4 +++- .../_components/switch.digitalloggers.markdown | 2 ++ source/_components/switch.vultr.markdown | 2 +- source/_components/vultr.markdown | 2 +- 8 files changed, 27 insertions(+), 10 deletions(-) diff --git a/source/_components/binary_sensor.digital_ocean.markdown b/source/_components/binary_sensor.digital_ocean.markdown index e4bc04ac1cb..516abfe6e9a 100644 --- a/source/_components/binary_sensor.digital_ocean.markdown +++ b/source/_components/binary_sensor.digital_ocean.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Local Polling" The `digital_ocean` binary sensor platform allows you to monitor your Digital Ocean droplets. +### {% linkable_title Configuration %} + To use your Digital Ocean droplets, you first have to set up your [Digital Ocean hub](/components/digital_ocean/) and then add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.linode.markdown b/source/_components/binary_sensor.linode.markdown index 0ffbddb5817..cf6392993f5 100644 --- a/source/_components/binary_sensor.linode.markdown +++ b/source/_components/binary_sensor.linode.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" The `linode` binary sensor platform allows you to monitor your Linode nodes. +## {% linkable_title Configuration %} + Add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/digital_ocean.markdown b/source/_components/digital_ocean.markdown index 4554819ee2a..fd5d744376b 100644 --- a/source/_components/digital_ocean.markdown +++ b/source/_components/digital_ocean.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Hub +ha_category: System Monitor ha_release: "0.30" logo: digital_ocean.png ha_iot_class: "Local Polling" @@ -16,8 +16,12 @@ ha_iot_class: "Local Polling" The `digital_ocean` component allows you to access the information about your [Digital Ocean](https://www.digitalocean.com/) droplets from Home Assistant. +### {% linkable_title Setup %} + Obtain your API key from your [Digital Ocean dashboard](https://cloud.digitalocean.com/settings/api/tokens). +### {% linkable_title Configuration %} + To integrate your Digital Ocean droplets with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml diff --git a/source/_components/linode.markdown b/source/_components/linode.markdown index 623132c0448..5b6dad85214 100644 --- a/source/_components/linode.markdown +++ b/source/_components/linode.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Hub +ha_category: Move to System Monitor category logo: linode.png ha_release: 0.57 ha_iot_class: "Cloud Polling" @@ -15,12 +15,17 @@ ha_iot_class: "Cloud Polling" The `linode` component allows you to access the information about your [Linode](https://linode.com) systems from Home Assistant. +## {% linkable_title sETUP %} + Obtain your oAuth2 Access Token from Linode account. -* -* Log in -* Select API Tokens -* Create a Personal Access Token, -* Assigned scope (Please choose the least possible access required.) + +* +* Log in +* Select API Tokens +* Create a Personal Access Token, +* Assigned scope (Please choose the least possible access required.) + +## {% linkable_title Configuration %} To integrate Linode with Home Assistant, add the following section to your `configuration.yaml` file: diff --git a/source/_components/switch.digital_ocean.markdown b/source/_components/switch.digital_ocean.markdown index e17a74ab35c..dc59db6f96e 100644 --- a/source/_components/switch.digital_ocean.markdown +++ b/source/_components/switch.digital_ocean.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: digital_ocean.png -ha_category: Switch +ha_category: System Monitor ha_release: "0.30" ha_iot_class: "Local Polling" --- The `digital_ocean` switch platform allows you to control (start/stop) your Digital Ocean droplets. +### {% linkable_title Configuration %} + To use your Digital Ocean droplets, you first have to set up your [Digital Ocean hub](/components/digital_ocean/) and then add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.digitalloggers.markdown b/source/_components/switch.digitalloggers.markdown index c0c2272d172..01fc3f88190 100755 --- a/source/_components/switch.digitalloggers.markdown +++ b/source/_components/switch.digitalloggers.markdown @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The `digitalloggers` switch platform allows you to control the state of your [Digital Loggers](http://www.digital-loggers.com/dinfaqs.html) switches. +### {% linkable_title Configuration %} + To use your digitalloggers switch in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.vultr.markdown b/source/_components/switch.vultr.markdown index 087be7fe925..c02e5273b1e 100644 --- a/source/_components/switch.vultr.markdown +++ b/source/_components/switch.vultr.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: vultr.png -ha_category: Switch +ha_category: System Monitor ha_release: "0.58" ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/vultr.markdown b/source/_components/vultr.markdown index 187ddaab3f3..98051d2038c 100644 --- a/source/_components/vultr.markdown +++ b/source/_components/vultr.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true featured: false -ha_category: Hub +ha_category: System Monitor ha_release: "0.58" logo: vultr.png ha_iot_class: "Cloud Polling" From 566f9816d001976b64ea0150bc13655e292d2b82 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:15:45 +0200 Subject: [PATCH 106/164] Fix category --- source/_components/linode.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/linode.markdown b/source/_components/linode.markdown index 5b6dad85214..581f4822c16 100644 --- a/source/_components/linode.markdown +++ b/source/_components/linode.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Move to System Monitor category +ha_category: System Monitor logo: linode.png ha_release: 0.57 ha_iot_class: "Cloud Polling" From 11c9561badac682a1c2adddc15d600ee4e1c97aa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:17:47 +0200 Subject: [PATCH 107/164] Move to DIY category --- source/_components/sensor.envirophat.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.envirophat.markdown b/source/_components/sensor.envirophat.markdown index 9863a4ab3b5..0e41d737225 100644 --- a/source/_components/sensor.envirophat.markdown +++ b/source/_components/sensor.envirophat.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Sensor +ha_category: DIY ha_iot_class: "Local Polling" ha_release: 0.44 --- From 8751e1f1e3352725b794889c03359251909be654 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:29:10 +0200 Subject: [PATCH 108/164] Move to Car category --- source/_components/device_tracker.ritassist.markdown | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/source/_components/device_tracker.ritassist.markdown b/source/_components/device_tracker.ritassist.markdown index e8f170f2026..307b2a91daa 100644 --- a/source/_components/device_tracker.ritassist.markdown +++ b/source/_components/device_tracker.ritassist.markdown @@ -8,17 +8,19 @@ comments: false sharing: true footer: true logo: ritassist.png -ha_category: Presence Detection +ha_category: Car ha_iot_class: Cloud Polling ha_release: 0.76 --- -This platform allows you to integrate your vehicles equipped with [RitAssist](https://ritassist.nl/) or [FleetGO](https://fleetgo.com) hardware into Home Assistant. It allows you to see certain details about your vehicle, but also shows your vehicle on the map. +The `ritassist` platform allows you to integrate your vehicles equipped with [RitAssist](https://ritassist.nl/) or [FleetGO](https://fleetgo.com) hardware into Home Assistant. It allows you to see certain details about your vehicle, but also shows your vehicle on the map. + +## {% linkable_title Setup %} -## API key To use this component, you need an **API key** and **API secret**, which can be requested by contacting [info@fleetgo.com](mailto:info@fleetgo.com?subject=API%20Key). -## Configuration +## {% linkable_title Configuration %} + To use this device tracker in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -58,7 +60,7 @@ include: See the [device tracker component page](/components/device_tracker/) for instructions on how to configure the people to be tracked. -## Available Attributes +## {% linkable_title Available attributes %} | Attribute | Description | |---|---| From 100a5bb7a6802dce6269c9004bbbc9f1e5560040 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:30:44 +0200 Subject: [PATCH 109/164] Move to Car category --- source/_components/device_tracker.automatic.markdown | 8 ++++++-- source/_components/device_tracker.ritassist.markdown | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/source/_components/device_tracker.automatic.markdown b/source/_components/device_tracker.automatic.markdown index f3e63a648dd..c109862af84 100644 --- a/source/_components/device_tracker.automatic.markdown +++ b/source/_components/device_tracker.automatic.markdown @@ -8,18 +8,22 @@ comments: false sharing: true footer: true logo: automatic.png -ha_category: Presence Detection +ha_category: Car ha_release: 0.28 ha_iot_class: "Cloud Push" --- -The `automatic` platform offers presence detection by retrieving your car's information from the [Automatic](http://automatic.com/) cloud service. +The `automatic` device tracker platform offers presence detection by retrieving your car's information from the [Automatic](http://automatic.com/) cloud service. + +## {% linkable_title Setup %} To use Automatic with Home Assistant, first you must [create a free development account](https://developer.automatic.com/). Automatic will generate a Client ID and Secret for you to use in your Home Assistant configuration. You will need to update your Event Delivery preferences to ensure Home Assistant can receive updates. On the developer page, under App Settings / Event Delivery, select "Websocket" for Event Delivery Preference. Next, specify the OAuth Redirect URL in the developer page. This should be configured to `/api/automatic/callback`. (Example: `http://hassio.local:8123/api/automatic/callback`) Note that this URL only needs to be accessible from the browser you use to perform the authentication. Home Assistant can also take advantage of `scope:current_location` if available. This will allow Home Assistant to receive periodic location updates during a trip. In order to use this functionality, you must request the scope for your application from Automatic. Once `scope:current_location` is available, change `current_location` to `true` in your configuration.yaml. +## {% linkable_title Configuration %} + Once your developer account is created, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/device_tracker.ritassist.markdown b/source/_components/device_tracker.ritassist.markdown index 307b2a91daa..39ac0aa906c 100644 --- a/source/_components/device_tracker.ritassist.markdown +++ b/source/_components/device_tracker.ritassist.markdown @@ -13,7 +13,7 @@ ha_iot_class: Cloud Polling ha_release: 0.76 --- -The `ritassist` platform allows you to integrate your vehicles equipped with [RitAssist](https://ritassist.nl/) or [FleetGO](https://fleetgo.com) hardware into Home Assistant. It allows you to see certain details about your vehicle, but also shows your vehicle on the map. +The `ritassist` device tracker platform allows you to integrate your vehicles equipped with [RitAssist](https://ritassist.nl/) or [FleetGO](https://fleetgo.com) hardware into Home Assistant. It allows you to see certain details about your vehicle, but also shows your vehicle on the map. ## {% linkable_title Setup %} From 739f1e246f610e3126f98686444c1ec612e84f8f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:34:05 +0200 Subject: [PATCH 110/164] Move to Car category --- source/_components/sensor.mopar.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.mopar.markdown b/source/_components/sensor.mopar.markdown index 65146841838..3e2afbb9270 100644 --- a/source/_components/sensor.mopar.markdown +++ b/source/_components/sensor.mopar.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mopar.png -ha_category: Sensor +ha_category: Car featured: false ha_release: 0.53 ha_iot_class: "Cloud Polling" @@ -19,8 +19,12 @@ The `mopar` sensor provides the following for owners of FCA vehicles with a uCon - Sensor per vehicle with vehicle health report and other meta-data - Service for remote commands: Lock/unlock, Engine on/off, Horn & lights +## {% linkable_title Setup %} + Be sure you have a [mopar.com](http://mopar.com) account with your vehicle(s) registered by VIN. You must also have a current uConnect subscription. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`. ```yaml From d85049cd8264d6517074ea5792a42d814bb62fb2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:35:00 +0200 Subject: [PATCH 111/164] Fix description --- source/_components/sensor.mopar.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.mopar.markdown b/source/_components/sensor.mopar.markdown index 3e2afbb9270..ab620c56d9e 100644 --- a/source/_components/sensor.mopar.markdown +++ b/source/_components/sensor.mopar.markdown @@ -46,7 +46,7 @@ password: required: true type: string pin: - description: v + description: The pin for your account. required: true type: string {% endconfiguration %} From 301280915fffba305a38f0bce552d47342c975da Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:36:29 +0200 Subject: [PATCH 112/164] Move to DIY category --- source/_components/cover.opengarage.markdown | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/_components/cover.opengarage.markdown b/source/_components/cover.opengarage.markdown index 2ac83c83bc9..d9327afa2a6 100644 --- a/source/_components/cover.opengarage.markdown +++ b/source/_components/cover.opengarage.markdown @@ -8,12 +8,14 @@ comments: false sharing: true footer: true logo: opengarage.png -ha_category: Cover +ha_category: DIY ha_release: 0.44 --- The `opengarage` cover platform lets you control the open-source [OpenGarage.io](https://opengarage.io/) device through Home Assistant. +## {% linkable_title Configuration %} + To enable OpenGarage Covers in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -87,7 +89,7 @@ sensor: {% endif %} {% else %} n/a - {% endif %}'{% endraw %} + {% endif %}' group: garage: @@ -104,3 +106,4 @@ customize: sensor.garage_car_present: icon: mdi:car ``` +{% endraw %} From 5aee278ebfc5cb7815ec7edec2c084c4edc3ddd5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:37:52 +0200 Subject: [PATCH 113/164] Move to Social category --- source/_components/spaceapi.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/spaceapi.markdown b/source/_components/spaceapi.markdown index eaf817cb351..bd5c356c337 100644 --- a/source/_components/spaceapi.markdown +++ b/source/_components/spaceapi.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: spaceapi.png -ha_category: Other +ha_category: Social ha_release: "0.70" --- From ec731130ef431ccab676f0dbf58d95542be84456 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:39:34 +0200 Subject: [PATCH 114/164] Move to Transport category --- source/_components/sensor.citybikes.markdown | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.citybikes.markdown b/source/_components/sensor.citybikes.markdown index 7b4aced03ac..c23e5783aaa 100644 --- a/source/_components/sensor.citybikes.markdown +++ b/source/_components/sensor.citybikes.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "CityBikes API sensor" +title: "CityBikes Sensor" description: "Instructions on how to integrate data from the CityBikes API into Home Assistant." date: 2017-06-25 14:20 sidebar: true @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: citybikes.png -ha_category: Sensor +ha_category: Transport ha_release: 0.49 --- The `citybikes` sensor platform monitors bike availability at bike sharing stations in a chosen area. The data is provided by [CityBikes](https://citybik.es/#about), which supports bike sharing systems all around the world. +## {% linkable_title Configuration %} + To enable it, add the following lines to your `configuration.yaml`: ```yaml @@ -33,6 +35,8 @@ Configuration options: - **radius** (*Optional*): The radius (in meters or feet, depending on the Home Assistant configuration) around the monitored location. Only stations closer than this distance will be monitored. - **stations** array (*Optional*): A list of specific stations to monitor. The list should contain station `ID`s or `UID`s, which can be obtained from the CityBikes API. +## {% linkable_title Example %} + Additional configuration samples: ```yaml From f99fa3a5f77a5f168c4ab5afe71077f508b4065f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:40:52 +0200 Subject: [PATCH 115/164] Move to DIY category (#6178) --- source/_components/binary_sensor.pilight.markdown | 4 ++-- source/_components/light.piglow.markdown | 4 +++- source/_components/pilight.markdown | 2 +- source/_components/sensor.pilight.markdown | 2 +- source/_components/switch.pilight.markdown | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/source/_components/binary_sensor.pilight.markdown b/source/_components/binary_sensor.pilight.markdown index ee7a729196a..b34cc955bfa 100644 --- a/source/_components/binary_sensor.pilight.markdown +++ b/source/_components/binary_sensor.pilight.markdown @@ -8,14 +8,14 @@ comments: false sharing: true footer: true logo: pilight.png -ha_category: Binary Sensor +ha_category: DIY ha_release: 0.44 ha_iot_class: "Local Polling" --- The `pilight` binary sensor platform implement the [pilight hub](/components/pilight/) binary sensor functionality. Two type of Pilight binary sensor configuration available. A normal sensor which send the on and off state cyclical and a trigger sensor which send only a trigger when an event happened (for example lots of cheap PIR motion detector). - +## {% linkable_title Configuration %} To enable a Pilight binary sensor in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/light.piglow.markdown b/source/_components/light.piglow.markdown index c2664af84cf..919dbc298d6 100644 --- a/source/_components/light.piglow.markdown +++ b/source/_components/light.piglow.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Light +ha_category: DIY ha_release: 0.37 ha_iot_class: "Local Polling" --- @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The `piglow` platform lets you control the [Piglow](https://shop.pimoroni.com/products/piglow) lights on your Raspberry Pi from within Home Assistant. +## {% linkable_title Configuration %} + To add piglow to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/pilight.markdown b/source/_components/pilight.markdown index 45e98323815..05b3ce1fbec 100644 --- a/source/_components/pilight.markdown +++ b/source/_components/pilight.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: pilight.png -ha_category: Hub +ha_category: DIY ha_release: 0.26 ha_iot_class: "Local Push" --- diff --git a/source/_components/sensor.pilight.markdown b/source/_components/sensor.pilight.markdown index 2a33cc2a1dd..a78f5a1d391 100644 --- a/source/_components/sensor.pilight.markdown +++ b/source/_components/sensor.pilight.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: pilight.png -ha_category: Sensor +ha_category: DIY ha_release: 0.31 ha_iot_class: depends --- diff --git a/source/_components/switch.pilight.markdown b/source/_components/switch.pilight.markdown index ca2c837986d..d70f748cfa5 100644 --- a/source/_components/switch.pilight.markdown +++ b/source/_components/switch.pilight.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: pilight.png -ha_category: Switch +ha_category: DIY ha_release: 0.26 ha_iot_class: "Local Polling" --- From f49c12d76e9659a70ef3aaca30ea4b2f7b9d69bb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:41:10 +0200 Subject: [PATCH 116/164] Move to Mailbox category (#6179) --- source/_components/asterisk_mbox.markdown | 4 +++- source/_components/sensor.imap_email_content.markdown | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/source/_components/asterisk_mbox.markdown b/source/_components/asterisk_mbox.markdown index f040acd99bb..23cb489269f 100644 --- a/source/_components/asterisk_mbox.markdown +++ b/source/_components/asterisk_mbox.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: asterisk.png -ha_category: Other +ha_category: Mailbox ha_iot_class: "Local Push" ha_release: 0.51 --- @@ -19,6 +19,8 @@ To enable the component, a configuration is required in both Home Assistant as w First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox/) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server) +## {% linkable_title Configuration %} + Once that is complete, add the following entry `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.imap_email_content.markdown b/source/_components/sensor.imap_email_content.markdown index 22212426f6a..e67340b7ef7 100644 --- a/source/_components/sensor.imap_email_content.markdown +++ b/source/_components/sensor.imap_email_content.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: smtp.png -ha_category: Sensor +ha_category: Mailbox ha_iot_class: "Local Polling" ha_release: 0.25 --- @@ -16,6 +16,8 @@ ha_release: 0.25 The `imap_email_content` sensor platform will read emails from an IMAP email server and report them as a state change within Home Assistant. This is useful if you have a device that only reports its state via email. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml From 4d5e2e3a240777c0dfbdf5bdded2a7b0cdbc926f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:54:50 +0200 Subject: [PATCH 117/164] Update category and other fixes --- source/_components/sensor.bh1750.markdown | 3 ++- source/_components/sensor.fedex.markdown | 4 +++- source/_components/sensor.fints.markdown | 7 ++++--- source/_components/sensor.htu21d.markdown | 4 +++- source/_components/sensor.imap.markdown | 4 +++- source/_components/sensor.mhz19.markdown | 4 +++- source/_components/sensor.postnl.markdown | 2 +- source/_components/sensor.radarr.markdown | 2 +- source/_components/sensor.sonarr.markdown | 2 +- source/_components/sensor.spotcrime.markdown | 6 +++++- source/_components/sensor.temper.markdown | 4 +++- source/_components/sensor.ups.markdown | 4 +++- source/_components/sensor.uscis.markdown | 8 +++++--- source/_components/sensor.usps.markdown | 2 +- source/_components/sensor.yahoo_finance.markdown | 2 ++ source/_components/usps.markdown | 2 +- 16 files changed, 41 insertions(+), 19 deletions(-) diff --git a/source/_components/sensor.bh1750.markdown b/source/_components/sensor.bh1750.markdown index 4910cdfba0a..b7bae73cf1e 100644 --- a/source/_components/sensor.bh1750.markdown +++ b/source/_components/sensor.bh1750.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Sensor +ha_category: DIY ha_release: 0.48 ha_iot_class: "Local Push" --- @@ -20,6 +20,7 @@ Tested devices: - [Raspberry Pi](https://www.raspberrypi.org/) +## {% linkable_title Configuration %} To use your BH1750 sensor in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/sensor.fedex.markdown b/source/_components/sensor.fedex.markdown index acbdf251d62..00e8a6c1b62 100644 --- a/source/_components/sensor.fedex.markdown +++ b/source/_components/sensor.fedex.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: fedex.png -ha_category: Sensor +ha_category: Postal Service ha_release: 0.39 ha_iot_class: "Cloud Polling" --- The `fedex` platform allows one to track deliveries by [FedEx](http://www.fedex.com/). To use this sensor, you need a [FedEx Delivery Manager](https://www.fedex.com/us/delivery/) account. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.fints.markdown b/source/_components/sensor.fints.markdown index 79351f765e3..e871ba3cb97 100644 --- a/source/_components/sensor.fints.markdown +++ b/source/_components/sensor.fints.markdown @@ -7,14 +7,16 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor -ha_release: 0.70 +ha_category: Finance +ha_release: "0.70" ha_iot_class: "Local Push" logo: home-assistant.png --- With the FinTS sensor, you can fetch your account information from your bank. This only works with banks that support the FinTS (aka. HBCI) standard. The FinTS standard used by many German banks. So if you do not have a German bank account, this will most likely not work for you. To find out if your bank supports FinTS, check the bank's website or call their hotline. +## {% linkable_title Configuration %} + For each account you have with the bank, a separate sensor is created. If you have several accounts with a bank, you can select which ones you want to have, and you can also give the accounts a name. {% raw %} @@ -70,5 +72,4 @@ To find out the configuration for your bank, check their website or call their h description: (optional) Use this field to give the account a meaningful name. required: false type: string - {% endconfiguration %} diff --git a/source/_components/sensor.htu21d.markdown b/source/_components/sensor.htu21d.markdown index a485fb0c382..fbb513aef4a 100644 --- a/source/_components/sensor.htu21d.markdown +++ b/source/_components/sensor.htu21d.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: raspberry-pi.png -ha_category: Sensor +ha_category: DIY ha_release: 0.48 ha_iot_class: "Local Push" --- @@ -20,6 +20,8 @@ Tested devices: - [Raspberry Pi](https://www.raspberrypi.org/) +## {% linkable_title Configuration %} + To use your HTU21D sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.imap.markdown b/source/_components/sensor.imap.markdown index a3b9af23b29..f09956e9648 100644 --- a/source/_components/sensor.imap.markdown +++ b/source/_components/sensor.imap.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: smtp.png -ha_category: Sensor +ha_category: Mailbox ha_release: 0.25 ha_iot_class: "Cloud Push" --- @@ -16,6 +16,8 @@ ha_iot_class: "Cloud Push" The `imap` sensor platform is observing your [IMAP server](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol) and reporting the amount of unread emails. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.mhz19.markdown b/source/_components/sensor.mhz19.markdown index 25cd6405ce7..142eeed155f 100644 --- a/source/_components/sensor.mhz19.markdown +++ b/source/_components/sensor.mhz19.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: mhz19_logo.png -ha_category: Sensor +ha_category: DIY ha_release: 0.27 ha_iot_class: "Local Polling" --- @@ -17,6 +17,8 @@ The MH-Z19 is a small non-dispersive infrared sensor that can measure CO2 level. Check out the [Open Home Automation web site](https://www.open-homeautomation.com/2016/08/24/monitor-co2-levels-in-your-house/) for a quick guide how to connect the sensor to your PC or Raspberry Pi. +## {% linkable_title Configuration %} + To use this sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.postnl.markdown b/source/_components/sensor.postnl.markdown index 3fa41230239..0510b0dd14b 100644 --- a/source/_components/sensor.postnl.markdown +++ b/source/_components/sensor.postnl.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: postnl.png -ha_category: Sensor +ha_category: Postal Service ha_release: 0.69 ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/sensor.radarr.markdown b/source/_components/sensor.radarr.markdown index 94a46655485..8795896f9e7 100644 --- a/source/_components/sensor.radarr.markdown +++ b/source/_components/sensor.radarr.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: radarr.png -ha_category: Sensor +ha_category: Downloading ha_release: 0.47 --- diff --git a/source/_components/sensor.sonarr.markdown b/source/_components/sensor.sonarr.markdown index 13a4944feaa..93b070adcee 100644 --- a/source/_components/sensor.sonarr.markdown +++ b/source/_components/sensor.sonarr.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: sonarr.png -ha_category: Sensor +ha_category: Downloading ha_release: 0.34 ha_iot_class: "Local Polling" --- diff --git a/source/_components/sensor.spotcrime.markdown b/source/_components/sensor.spotcrime.markdown index b36d01b4b46..73bda02a894 100644 --- a/source/_components/sensor.spotcrime.markdown +++ b/source/_components/sensor.spotcrime.markdown @@ -7,15 +7,19 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor +ha_category: Social ha_release: 0.65 ha_iot_class: "Cloud Polling" --- The `spotcrime` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Spot Crime](http://spotcrime.com). Your regional emergency services may or may not report data. The sensor defaults to counting incidents within one day, but can be customized via configuration.yaml. +## {% linkable_title Setup %} + You will need to request an API key from [Spotcrime](mailto:pyrrhus@spotcrime.com). +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`. Your `radius` should be of sufficient size to capture incidents in your area. 0.01 = 1 mile. ```yaml diff --git a/source/_components/sensor.temper.markdown b/source/_components/sensor.temper.markdown index 09626f0984e..65fd75fd725 100644 --- a/source/_components/sensor.temper.markdown +++ b/source/_components/sensor.temper.markdown @@ -7,13 +7,15 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor +ha_category: DIY ha_iot_class: "Local Push" ha_release: pre 0.7 --- This `temper` sensor platform allows you to get the current temperature from a TEMPer device. +## {% linkable_title Configuration %} + To use your TEMPer sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.ups.markdown b/source/_components/sensor.ups.markdown index 6e1989bfe22..fe1ae61a91a 100644 --- a/source/_components/sensor.ups.markdown +++ b/source/_components/sensor.ups.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: ups.png -ha_category: Sensor +ha_category: Postal Service ha_release: 0.39 ha_iot_class: "Cloud Polling" --- The `ups` platform allows one to track deliveries by the [UPS](https://www.ups.com/). To use this sensor, you need a [My UPS Account](https://www.ups.com/mychoice). +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.uscis.markdown b/source/_components/sensor.uscis.markdown index 3d214dc818a..8dbedc2a3cb 100644 --- a/source/_components/sensor.uscis.markdown +++ b/source/_components/sensor.uscis.markdown @@ -3,7 +3,7 @@ layout: page title: USCIS Sensor description: "Instructions on how to set up USCIS within Home Assistant." date: 2018-03-21 08:00 -sidebar: false +sidebar: true comments: false sharing: true footer: true @@ -15,7 +15,9 @@ ha_iot_class: "Cloud Polling" The `uscis` sensor component allows you get updates on your USCIS case using your case/receipt number. The sensor gets the case information from [USCIS Website]( https://egov.uscis.gov/casestatus/landing.do) -## Example for `configuration.yaml` : +## {% linkable_title Configuration %} + +To use your Sonarr sensor in your installation, add the following to your `configuration.yaml` file: ```yaml sensor: @@ -25,7 +27,7 @@ sensor: ``` {% configuration %} -friendly_name: +name: description: Name of the sensor in Home Assistant. required: false default: USCIS diff --git a/source/_components/sensor.usps.markdown b/source/_components/sensor.usps.markdown index 46244107308..89d7029a0a8 100644 --- a/source/_components/sensor.usps.markdown +++ b/source/_components/sensor.usps.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: usps.png -ha_category: Sensor +ha_category: Postal Service ha_release: 0.36 ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/sensor.yahoo_finance.markdown b/source/_components/sensor.yahoo_finance.markdown index 0e8d12c0fbe..937dc442b44 100644 --- a/source/_components/sensor.yahoo_finance.markdown +++ b/source/_components/sensor.yahoo_finance.markdown @@ -20,6 +20,8 @@ ha_release: 0.29 The `yahoo_finance` platform uses [Yahoo Finance](https://finance.yahoo.com/) to monitor the stock market. +## {% linkable_title Configuration %} + To enable the `yahoo_finance` platform, add the following lines to your `configuration.yaml` file: ```yaml diff --git a/source/_components/usps.markdown b/source/_components/usps.markdown index 3a7c9a06abe..a95efd919ab 100644 --- a/source/_components/usps.markdown +++ b/source/_components/usps.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: usps.png -ha_category: Hub +ha_category: Postal Service ha_release: 0.52 ha_iot_class: "Cloud Polling" --- From 38b3263ed059ff52a401ab9987e338673022f9c6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 08:59:23 +0200 Subject: [PATCH 118/164] Update category --- source/_components/binary_sensor.ffmpeg_motion.markdown | 6 ++++-- source/_components/binary_sensor.ffmpeg_noise.markdown | 4 ++-- source/_components/ffmpeg.markdown | 4 +++- source/_components/image_processing.opencv.markdown | 2 ++ 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/source/_components/binary_sensor.ffmpeg_motion.markdown b/source/_components/binary_sensor.ffmpeg_motion.markdown index 6635bae9e69..0607a0127af 100644 --- a/source/_components/binary_sensor.ffmpeg_motion.markdown +++ b/source/_components/binary_sensor.ffmpeg_motion.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ffmpeg.png -ha_category: Binary Sensor +ha_category: Image Processing ha_release: 0.27 redirect_from: /components/binary_sensor.ffmpeg/ --- @@ -20,10 +20,12 @@ The `ffmpeg` platform allows you to use any video feed with [FFmpeg](http://www. If the `ffmpeg` process is broken, the sensor will be unavailable. To control the ffmpeg process of sensor, use the service *ffmpeg.start*, *ffmpeg.stop*, *ffmpeg.restart*.

-### {% linkable_title Motion %} +## {% linkable_title Motion %} FFmpeg doesn't have a motion detection filter, but can use a scene filter to detect a new scene/motion. You can set how much needs to change in order to detect motion with the option 'changes', the percent value of change between frames. If you want a really small value for 'changes', you can also add a denoise filter. +## {% linkable_title Configuration %} + To add FFmpeg with motion detection to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.ffmpeg_noise.markdown b/source/_components/binary_sensor.ffmpeg_noise.markdown index d68ec7d1630..842be8203e1 100644 --- a/source/_components/binary_sensor.ffmpeg_noise.markdown +++ b/source/_components/binary_sensor.ffmpeg_noise.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ffmpeg.png -ha_category: Binary Sensor +ha_category: Image Processing ha_release: 0.27 --- @@ -19,7 +19,7 @@ The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](ht If the `ffmpeg` process is broken, the sensor will be unavailable. To control the ffmpeg process of sensor, use the service *ffmpeg.start*, *ffmpeg.stop*, *ffmpeg.restart*.

-### {% linkable_title Noise %} +## {% linkable_title Configuration %} To add FFmpeg with noise detection to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/ffmpeg.markdown b/source/_components/ffmpeg.markdown index 56fd9779aed..38034e4e06a 100644 --- a/source/_components/ffmpeg.markdown +++ b/source/_components/ffmpeg.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ffmpeg.png -ha_category: Hub +ha_category: Image Processing --- The `ffmpeg` component allows other Home Assistant components to process video and audio streams. This component supports all FFmpeg versions since 3.0.0; if you have an older version, please update. @@ -21,6 +21,8 @@ You need the `ffmpeg` binary in your system path. On Debian 8 or Raspbian (Jessi If you are using [Hass.io](/hassio/) then just move forward to the configuration as all requirements are already fulfilled.

+## {% linkable_title Configuration %} + To set it up, add the following information to your `configuration.yaml` file: ```yaml diff --git a/source/_components/image_processing.opencv.markdown b/source/_components/image_processing.opencv.markdown index 9e485ec6c30..06fc9061fd1 100644 --- a/source/_components/image_processing.opencv.markdown +++ b/source/_components/image_processing.opencv.markdown @@ -17,6 +17,8 @@ ha_release: 0.47 Some pre-defined classifiers can be found [here](https://github.com/opencv/opencv/tree/master/data). +## {% linkable_title Configuration %} + To setup OpenCV with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml From 6d35ffb58b6c5b5e6bdd2eddec950a10ade22b7e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 09:27:25 +0200 Subject: [PATCH 119/164] Move to Irrigation category (#6180) --- source/_components/binary_sensor.hydrawise.markdown | 4 +++- source/_components/binary_sensor.raincloud.markdown | 4 +++- source/_components/binary_sensor.rainmachine.markdown | 2 +- source/_components/hydrawise.markdown | 4 +++- source/_components/rainbird.markdown | 4 +++- source/_components/raincloud.markdown | 4 +++- source/_components/rainmachine.markdown | 2 +- source/_components/sensor.hydrawise.markdown | 4 +++- source/_components/sensor.rainbird.markdown | 4 +++- source/_components/sensor.raincloud.markdown | 4 +++- source/_components/sensor.rainmachine.markdown | 2 +- source/_components/switch.hydrawise.markdown | 4 +++- source/_components/switch.rainbird.markdown | 2 +- source/_components/switch.raincloud.markdown | 4 +++- source/_components/switch.rainmachine.markdown | 2 +- source/_components/waterfurnace.markdown | 5 ++--- 16 files changed, 37 insertions(+), 18 deletions(-) diff --git a/source/_components/binary_sensor.hydrawise.markdown b/source/_components/binary_sensor.hydrawise.markdown index cd066354673..9ec42c031aa 100644 --- a/source/_components/binary_sensor.hydrawise.markdown +++ b/source/_components/binary_sensor.hydrawise.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: hydrawise_logo.png -ha_category: Binary Sensor +ha_category: Irrigation ha_release: 0.71 ha_iot_class: Cloud Polling --- Before setting up the [Hunter Hydrawise](https://hydrawise.com) binary sensors please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component. +## {% linkable_title Configuration %} + Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.raincloud.markdown b/source/_components/binary_sensor.raincloud.markdown index b5e1678d53b..5b853e13126 100644 --- a/source/_components/binary_sensor.raincloud.markdown +++ b/source/_components/binary_sensor.raincloud.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: raincloud.jpg -ha_category: Binary Sensor +ha_category: Irrigation ha_release: "0.55" ha_iot_class: "Cloud Polling" --- To get your [Melnor RainCloud](https://wifiaquatimer.com) binary sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud). +## {% linkable_title Configuration %} + Once you have enabled the [Raincloud component](/components/raincloud), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.rainmachine.markdown b/source/_components/binary_sensor.rainmachine.markdown index 175a2d27bba..60cc6d982c3 100644 --- a/source/_components/binary_sensor.rainmachine.markdown +++ b/source/_components/binary_sensor.rainmachine.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rainmachine.png -ha_category: Binary Sensor +ha_category: Irrigation ha_iot_class: "Cloud Polling" ha_release: 0.71 --- diff --git a/source/_components/hydrawise.markdown b/source/_components/hydrawise.markdown index 3c29b449166..f45b1255bdc 100644 --- a/source/_components/hydrawise.markdown +++ b/source/_components/hydrawise.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: hydrawise_logo.png -ha_category: Hub +ha_category: Irrigation ha_release: 0.71 ha_iot_class: Cloud Polling --- The `hydrawise` component allows you to integrate your [Hunter Hydrawise](https://hydrawise.com) Wi-Fi irrigation controller system in Home Assistant. +## {% linkable_title Configuration %} + To enable it, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/rainbird.markdown b/source/_components/rainbird.markdown index 413a612fdc5..187173c1f78 100644 --- a/source/_components/rainbird.markdown +++ b/source/_components/rainbird.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: rainbird.png -ha_category: Hub +ha_category: Irrigation ha_release: 0.61 ha_iot_class: "Local Polling" --- This `rainbird` component allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. +## {% linkable_title Configuration %} + To enable it, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/raincloud.markdown b/source/_components/raincloud.markdown index 3eb377e0468..b73766cac17 100644 --- a/source/_components/raincloud.markdown +++ b/source/_components/raincloud.markdown @@ -8,12 +8,14 @@ comments: false sharing: true footer: true logo: raincloud.jpg -ha_category: Hub +ha_category: Irrigation ha_release: 0.55 --- The `raincloud` component allows you to integrate your [Melnor RainCloud](https://wifiaquatimer.com) sprinkler system in Home Assistant. +## {% linkable_title Configuration %} + To enable it, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/rainmachine.markdown b/source/_components/rainmachine.markdown index 42027fe9182..7bb254ef5d3 100644 --- a/source/_components/rainmachine.markdown +++ b/source/_components/rainmachine.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rainmachine.png -ha_category: Hub +ha_category: Irrigation ha_release: 0.69 ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/sensor.hydrawise.markdown b/source/_components/sensor.hydrawise.markdown index ed1fbd52e5e..6268b188504 100644 --- a/source/_components/sensor.hydrawise.markdown +++ b/source/_components/sensor.hydrawise.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: hydrawise_logo.png -ha_category: Sensor +ha_category: Irrigation ha_release: 0.71 ha_iot_class: Cloud Polling --- Before setting up the [Hunter Hydrawise](https://hydrawise.com) sensors please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component. +## {% linkable_title Configuration %} + Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.rainbird.markdown b/source/_components/sensor.rainbird.markdown index e7f26af34c4..4c523a82c48 100644 --- a/source/_components/sensor.rainbird.markdown +++ b/source/_components/sensor.rainbird.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: rainbird.png -ha_category: Sensor +ha_category: Irrigation ha_release: 0.61 ha_iot_class: "Local Polling" --- This `rainbird` sensor allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant. +## {% linkable_title Configuration %} + Once you have enabled the [Rain Bird component](/components/rainbird), add the following to your `configuration.yaml` file to enable the rain sensor: ```yaml diff --git a/source/_components/sensor.raincloud.markdown b/source/_components/sensor.raincloud.markdown index 381599c785e..9435f1a7782 100644 --- a/source/_components/sensor.raincloud.markdown +++ b/source/_components/sensor.raincloud.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: raincloud.jpg -ha_category: Sensor +ha_category: Irrigation ha_release: "0.55" ha_iot_class: "Cloud Polling" --- To get your [Melnor RainCloud](https://wifiaquatimer.com) sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud). +## {% linkable_title Configuration %} + Once you have enabled the [Raincloud component](/components/raincloud), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.rainmachine.markdown b/source/_components/sensor.rainmachine.markdown index 7df129ab2b6..4db41b38eaf 100644 --- a/source/_components/sensor.rainmachine.markdown +++ b/source/_components/sensor.rainmachine.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rainmachine.png -ha_category: Sensor +ha_category: Irrigation ha_iot_class: "Cloud Polling" ha_release: 0.71 --- diff --git a/source/_components/switch.hydrawise.markdown b/source/_components/switch.hydrawise.markdown index b1ebab81998..b2e826b663b 100644 --- a/source/_components/switch.hydrawise.markdown +++ b/source/_components/switch.hydrawise.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: hydrawise_logo.png -ha_category: Switch +ha_category: Irrigation ha_release: 0.71 ha_iot_class: Cloud Polling --- Before setting up the [Hunter Hydrawise](https://hydrawise.com) switches please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component. +## {% linkable_title Configuration %} + Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.rainbird.markdown b/source/_components/switch.rainbird.markdown index 5b15bd486fe..12b2f1019d4 100644 --- a/source/_components/switch.rainbird.markdown +++ b/source/_components/switch.rainbird.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rainbird.png -ha_category: Switch +ha_category: Irrigation ha_release: 0.57 ha_iot_class: "Local Polling" --- diff --git a/source/_components/switch.raincloud.markdown b/source/_components/switch.raincloud.markdown index 2e2af72de81..2844b924aed 100644 --- a/source/_components/switch.raincloud.markdown +++ b/source/_components/switch.raincloud.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: raincloud.jpg -ha_category: Switch +ha_category: Irrigation ha_release: "0.55" ha_iot_class: "Cloud Polling" --- To get your [Melnor RainCloud](https://wifiaquatimer.com) binary sensors working within Home Assistant, please follow the instructions for the general [Raincloud component](/components/raincloud). +## {% linkable_title Configuration %} + Once you have enabled the [Raincloud component](/components/raincloud), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.rainmachine.markdown b/source/_components/switch.rainmachine.markdown index 51cba578c1e..982220ccacb 100644 --- a/source/_components/switch.rainmachine.markdown +++ b/source/_components/switch.rainmachine.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rainmachine.png -ha_category: Switch +ha_category: Irrigation ha_iot_class: "Cloud Polling" ha_release: 0.51 --- diff --git a/source/_components/waterfurnace.markdown b/source/_components/waterfurnace.markdown index 2555b1fb804..15a88eb8565 100644 --- a/source/_components/waterfurnace.markdown +++ b/source/_components/waterfurnace.markdown @@ -8,13 +8,12 @@ comments: false sharing: true footer: true logo: waterfurnace.png -ha_category: Hub +ha_category: Irrigation ha_release: 0.62 ha_iot_class: "Cloud Polling" --- -The `waterfurnace` component communicates with the WaterFurnace Symphony website's WebSocket to show you many of the sensors in your -system. While not an official API, this is the same backend the Symphony website is based on, and should be reasonably stable. +The `waterfurnace` component communicates with the WaterFurnace Symphony website's WebSocket to show you many of the sensors in your system. While not an official API, this is the same backend the Symphony website is based on, and should be reasonably stable. The sensors provided include: From a1277a8cb6319220cc60c29e4febf27f7a7ac0f4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 10:21:56 +0200 Subject: [PATCH 120/164] Various fixes --- source/_components/netgear_lte.markdown | 7 ++- .../_components/sensor.tank_utility.markdown | 54 ++++++++++++------- 2 files changed, 40 insertions(+), 21 deletions(-) diff --git a/source/_components/netgear_lte.markdown b/source/_components/netgear_lte.markdown index 36ce55a6fdc..3c407ce0686 100644 --- a/source/_components/netgear_lte.markdown +++ b/source/_components/netgear_lte.markdown @@ -9,17 +9,22 @@ sharing: true footer: true logo: netgear.png ha_release: 0.72 -ha_category: Other +ha_category: Network ha_iot_class: "Local Polling" --- The Netgear LTE integration for Home Assistant allows you to observe and control [Netgear LTE modems](https://www.netgear.com/home/products/mobile-broadband/lte-modems/default.aspx), currently only tested with LB2120. The integration provides: + * a notify service that will send an SMS * a sensor with the number of unread SMS messages in the inbox * a sensor with data usage +## {% linkable_title Configuration %} + +To enable the component, add the following lines to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry netgear_lte: diff --git a/source/_components/sensor.tank_utility.markdown b/source/_components/sensor.tank_utility.markdown index 061c66ab918..6446f5e8949 100644 --- a/source/_components/sensor.tank_utility.markdown +++ b/source/_components/sensor.tank_utility.markdown @@ -8,37 +8,51 @@ comments: false sharing: true footer: true logo: tank_utility.png -ha_category: Sensor +ha_category: Energy ha_release: "0.53" --- Add [Tank Utility](https://www.tankutility.com/) propane tank monitors to Home Assistant. +## {% linkable_title Setup %} + +### {% linkable_title Authentication %} + +Authentication for the Tank Utility API is performed with the same email and password credentials used at [https://app.tankutility.com](https://app.tankutility.com). + +### {% linkable_title Devices %} + +Each item in the list of devices is a 24 character string. These values can be found by clicking on the **Usage Reports** link at the bottom of the graph on the [Tank Utility devices page](https://app.tankutility.com/#/devices). + +The device item value is the last segment of the URL path, e.g., the URL +[https://app.tankutility.com/#/reports/000000000000000000000000](https://app.tankutility.com/#/reports/000000000000000000000000) would indicate `000000000000000000000000` as a device value. + +## {% linkable_title Configuration %} + +To enable the component, add the following lines to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry sensor: - platform: tank_utility - email: EMAIL - password: PASSWORD + email: YOUR_EMAIL_ADDRESS + password: YOUR_PASSWORD devices: - 000000000000000000000000 ``` -Configuration variables: +{% configuration %} +email: + description: "Your [https://app.tankutility.com](https://app.tankutility.com) email address." + required: true + type: string +password: + description: "Your [https://app.tankutility.com](https://app.tankutility.com) password." + required: true + type: string +unit_of_measurement: + description: All devices to monitor. + required: true + type: map +{% endconfiguration %} -* **email** *(Required)*: [https://app.tankutility.com](https://app.tankutility.com) email address -* **password** *(Required)*: [https://app.tankutility.com](https://app.tankutility.com) password -* **devices** *(Required)*: List of devices - -Authentication: - -Authentication for the Tank Utility API is performed with the same email and password credentials used at -[https://app.tankutility.com](https://app.tankutility.com). - -Devices: - -Each item in the list of devices is a 24 character string. These values can be found by clicking on the **Usage -Reports** link at the bottom of the graph on the [Tank Utility devices page](https://app.tankutility.com/#/devices). -The device item value is the last segment of the URL path, e.g., the URL -[https://app.tankutility.com/#/reports/000000000000000000000000](https://app.tankutility.com/#/reports/000000000000000000000000) -would indicate `000000000000000000000000` as a device value. From 95546aa3fc8da7a22e2f2f27ce8d5bc988c29c22 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 10:48:27 +0200 Subject: [PATCH 121/164] Move to Network category (#6181) * Move to Network category * Update category and other fixes --- .../binary_sensor.bayesian.markdown | 4 +++- .../_components/binary_sensor.ping.markdown | 4 +++- .../_components/binary_sensor.random.markdown | 2 +- .../binary_sensor.threshold.markdown | 4 +++- .../_components/binary_sensor.trend.markdown | 4 +++- .../binary_sensor.uptimerobot.markdown | 11 ++++++---- .../binary_sensor.workday.markdown | 2 +- source/_components/cloudflare.markdown | 2 +- source/_components/cover.template.markdown | 6 +++--- .../_components/device_tracker.ping.markdown | 6 ++++-- source/_components/duckdns.markdown | 4 +++- source/_components/folder_watcher.markdown | 2 ++ source/_components/freedns.markdown | 6 ++++-- source/_components/google_domains.markdown | 4 +++- source/_components/namecheapdns.markdown | 4 +++- source/_components/no_ip.markdown | 4 +++- source/_components/sensor.api_stream.markdown | 4 +++- .../_components/sensor.crimereports.markdown | 12 +++++------ source/_components/sensor.discogs.markdown | 6 +++++- source/_components/sensor.dnsip.markdown | 6 ++++-- .../_components/sensor.duke_energy.markdown | 4 +++- source/_components/sensor.ebox.markdown | 6 ++++-- source/_components/sensor.fail2ban.markdown | 4 +++- source/_components/sensor.file.markdown | 4 +++- source/_components/sensor.filesize.markdown | 11 ++++++---- source/_components/sensor.filter.markdown | 5 +++-- source/_components/sensor.folder.markdown | 4 +++- .../_components/sensor.history_stats.markdown | 2 +- .../_components/sensor.magicseaweed.markdown | 6 +++++- source/_components/sensor.mfi.markdown | 2 +- source/_components/sensor.min_max.markdown | 10 +++++++--- .../sensor.mold_indicator.markdown | 8 ++++++-- source/_components/sensor.otp.markdown | 4 +++- .../_components/sensor.pocketcasts.markdown | 4 +++- source/_components/sensor.qnap.markdown | 2 +- source/_components/sensor.random.markdown | 2 +- source/_components/sensor.season.markdown | 16 +++++++++++---- source/_components/sensor.simulated.markdown | 10 +++++----- source/_components/sensor.startca.markdown | 8 +++++--- source/_components/sensor.statistics.markdown | 4 +++- source/_components/sensor.uptime.markdown | 20 +++++++++++++++---- source/_components/sensor.version.markdown | 16 +++++++++++---- source/_components/sensor.whois.markdown | 2 +- 43 files changed, 173 insertions(+), 78 deletions(-) diff --git a/source/_components/binary_sensor.bayesian.markdown b/source/_components/binary_sensor.bayesian.markdown index ad52a8e85fd..228e8ac15bf 100644 --- a/source/_components/binary_sensor.bayesian.markdown +++ b/source/_components/binary_sensor.bayesian.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Binary Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.53 --- @@ -18,6 +18,8 @@ The `bayesian` binary sensor platform observes the state from multiple sensors a This allows for the detection of complex events that may not be readily observable, e.g., cooking, showering, in bed, the start of a morning routine, etc. It can also be used to gain greater confidence about events that _are_ directly observable, but for which the sensors can be unreliable, e.g., presence. +## {% linkable_title Configuration %} + To enable the Bayesian sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/binary_sensor.ping.markdown b/source/_components/binary_sensor.ping.markdown index b0be6271369..37121004e44 100644 --- a/source/_components/binary_sensor.ping.markdown +++ b/source/_components/binary_sensor.ping.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Binary Sensor +ha_category: Network ha_release: 0.43 --- The `ping` binary sensor platform allows you to using `ping` to send ICMP echo requests. This way you can check if a given host is online and determine the round trip times from your Home Assistant instance to that system. +## {% linkable_title Configuration %} + To use this sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.random.markdown b/source/_components/binary_sensor.random.markdown index ac08186a313..3fdc95eb617 100644 --- a/source/_components/binary_sensor.random.markdown +++ b/source/_components/binary_sensor.random.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.57 --- diff --git a/source/_components/binary_sensor.threshold.markdown b/source/_components/binary_sensor.threshold.markdown index 21cc02b9fd6..a33b404772c 100644 --- a/source/_components/binary_sensor.threshold.markdown +++ b/source/_components/binary_sensor.threshold.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Binary Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.34 --- @@ -26,6 +26,8 @@ It's an alternative to the template binary sensor's `value_template:` to get the ``` {% endraw %} +## {% linkable_title Configuration %} + To enable the threshold sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/binary_sensor.trend.markdown b/source/_components/binary_sensor.trend.markdown index dae3d1c9ed7..7530a164e80 100644 --- a/source/_components/binary_sensor.trend.markdown +++ b/source/_components/binary_sensor.trend.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Binary Sensor +ha_category: Utility logo: home-assistant.png ha_release: 0.28 ha_iot_class: "Local Push" @@ -15,6 +15,8 @@ ha_iot_class: "Local Push" The `trend` platform allows you to create sensors which show the trend of numeric `state` or`state_attributes` from other entities. This sensor requires at least two updates of the underlying sensor to establish a trend. Thus it can take some time to show an accurate state. It can be useful as part of automations, where you want to base an action on a trend. +## {% linkable_title Configuration %} + To enable Trend binary sensors in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.uptimerobot.markdown b/source/_components/binary_sensor.uptimerobot.markdown index 7b37252f399..759150fe332 100644 --- a/source/_components/binary_sensor.uptimerobot.markdown +++ b/source/_components/binary_sensor.uptimerobot.markdown @@ -8,19 +8,22 @@ comments: false sharing: true footer: true logo: uptimerobot.png -ha_category: Binary Sensor +ha_category: System Monitor ha_release: "0.72" ha_iot_class: "Cloud Polling" --- -The `uptimerobot` binary_sensor platform allows you get the status for all of your monitors from your account on [Uptime Robot.]( https://uptimerobot.com) +The `uptimerobot` binary sensor platform allows you get the status for all of your monitors from your account on [Uptime Robot.]( https://uptimerobot.com). -## Example for `configuration.yaml` : +## {% linkable_title Configuration %} + +To enable the sensor, add the following lines to your `configuration.yaml`: ```yaml +# Example configuration.yaml entry binary_sensor: - platform: uptimerobot - api_key: u432898-d2507e493b31217e6c64fd35 + api_key: YOUR_API_KEY ``` {% configuration %} diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 1ba1f8bd8c7..21280a72ba4 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Binary Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.41 --- diff --git a/source/_components/cloudflare.markdown b/source/_components/cloudflare.markdown index c088bc1e8f0..b2f5ad956cd 100644 --- a/source/_components/cloudflare.markdown +++ b/source/_components/cloudflare.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: cloudflare.png -ha_category: Utility +ha_category: Network featured: false ha_release: 0.74 --- diff --git a/source/_components/cover.template.markdown b/source/_components/cover.template.markdown index 06a4c09d9c5..77748e12b6c 100644 --- a/source/_components/cover.template.markdown +++ b/source/_components/cover.template.markdown @@ -13,9 +13,9 @@ 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. +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. + +## {% linkable_title Configuration %} To enable Template Covers in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/device_tracker.ping.markdown b/source/_components/device_tracker.ping.markdown index 1f343680127..04d2e764420 100644 --- a/source/_components/device_tracker.ping.markdown +++ b/source/_components/device_tracker.ping.markdown @@ -8,12 +8,14 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Presence Detection +ha_category: Network ha_release: 0.36 --- -The `ping` platform offers presence detection by using `ping` to send ICMP echo requests. This can be useful when devices are running a firewall and are blocking UDP or TCP packets but responding to ICMP requests (like Android phones). This tracker doesn't need to know the MAC address since the host can be on a different subnet. This makes this an option to detect hosts on a different subnet when `nmap` or other solutions don't work since `arp` doesn't work. +The `ping` device tracker platform offers presence detection by using `ping` to send ICMP echo requests. This can be useful when devices are running a firewall and are blocking UDP or TCP packets but responding to ICMP requests (like Android phones). This tracker doesn't need to know the MAC address since the host can be on a different subnet. This makes this an option to detect hosts on a different subnet when `nmap` or other solutions don't work since `arp` doesn't work. + +## {% linkable_title Configuration %} To use this presence detection in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/duckdns.markdown b/source/_components/duckdns.markdown index bd18114a18e..96f9fc3c917 100644 --- a/source/_components/duckdns.markdown +++ b/source/_components/duckdns.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: duckdns.png -ha_category: Utility +ha_category: Network featured: false ha_release: 0.55 --- With the DuckDNS component you can keep your DuckDNS record up to date. DuckDNS is a free dynamic DNS service that allows you to point a subdomain under `duckdns.org` at your computer. +## {% linkable_title Configuration %} + To use the component in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/folder_watcher.markdown b/source/_components/folder_watcher.markdown index fffd1a68f8d..338f0c7fdb0 100644 --- a/source/_components/folder_watcher.markdown +++ b/source/_components/folder_watcher.markdown @@ -22,6 +22,8 @@ This component adds [Watchdog](https://pythonhosted.org/watchdog/) file system m Configured folders must be added to [whitelist_external_dirs](/docs/configuration/basic/). Note that by default folder monitoring is recursive, meaning that the contents of sub-folders are also monitored. +## {% linkable_title Configuration %} + To enable the Folder Watcher component in your installation, add the following to your `configuration.yaml` file: {% raw %} diff --git a/source/_components/freedns.markdown b/source/_components/freedns.markdown index 960d1411d99..226c64dfb3d 100644 --- a/source/_components/freedns.markdown +++ b/source/_components/freedns.markdown @@ -7,13 +7,13 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Utility +ha_category: Network ha_release: 0.67 --- With the `freedns` component you can keep your [FreeDNS](https://freedns.afraid.org) record up to date. -## {% linkable_title Configuration %} +## {% linkable_title Setup %} You need to determine your update URL or your access token. @@ -24,6 +24,8 @@ You need to determine your update URL or your access token. 5. The access token is the part at the end of the link: `https://freedns.afraid.org/dynamic/update.php?YOUR_UPDATE_TOKEN` 6. Either put the token as `access_token` _or_ the whole URL into the `url` attribute. +## {% linkable_title Configuration %} + To use the component in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/google_domains.markdown b/source/_components/google_domains.markdown index df42475a519..0fcebeca094 100644 --- a/source/_components/google_domains.markdown +++ b/source/_components/google_domains.markdown @@ -8,12 +8,14 @@ comments: false sharing: true footer: true logo: google_domains.png -ha_category: Utility +ha_category: Network ha_release: 0.57 --- With the Google Domains component you can keep your Google Domains record up to date. +## {% linkable_title Configuration %} + To use the component in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/namecheapdns.markdown b/source/_components/namecheapdns.markdown index 4f68adb4606..6f156306d7c 100644 --- a/source/_components/namecheapdns.markdown +++ b/source/_components/namecheapdns.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: namecheap.png -ha_category: Utility +ha_category: Network featured: false ha_release: 0.56 --- @@ -19,6 +19,8 @@ With the `namecheapdns` component you can automatically update your dynamic DNS Namecheap only supports IPv4 addresses to update.

+## {% linkable_title Configuration %} + To use the component in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/no_ip.markdown b/source/_components/no_ip.markdown index f070e2b4d5f..8456c6678dc 100644 --- a/source/_components/no_ip.markdown +++ b/source/_components/no_ip.markdown @@ -8,12 +8,14 @@ comments: false sharing: true footer: true logo: noip.png -ha_category: Utility +ha_category: Network ha_release: 0.57 --- With the `no_ip` component you can keep your [NO-IP.com](https://www.noip.com) record up to date. + + To use the component in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.api_stream.markdown b/source/_components/sensor.api_stream.markdown index c363e885332..cdc4541c29d 100644 --- a/source/_components/sensor.api_stream.markdown +++ b/source/_components/sensor.api_stream.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Utility ha_release: 0.33 ha_iot_class: "Local Push" --- The `api_stream` sensor platform shows how many clients are connected to the stream API +## {% linkable_title Configuration %} + To add the connected clients to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.crimereports.markdown b/source/_components/sensor.crimereports.markdown index 1bb1b89d052..e80d504a51f 100644 --- a/source/_components/sensor.crimereports.markdown +++ b/source/_components/sensor.crimereports.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor +ha_category: Social logo: crimereports.png ha_release: 0.42 ha_iot_class: "Cloud Polling" @@ -15,7 +15,7 @@ ha_iot_class: "Cloud Polling" The `crimereports` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Crime Reports](http://crimereports.com). Your regional emergency services may or may not report data. The sensor only counts incidents from the current day. -## Configuration +## {% linkable_title Configuration %} To enable this sensor, add the following lines to your `configuration.yaml`. Your `radius` should be of sufficient size to capture incidents in your area. @@ -36,13 +36,13 @@ Configuration options for the Crime Reports Sensor: - **exclude** (*Optional*): List of incident types to exclude. -## Notes +## {% linkable_title Notes %} -### Area +### {% linkable_title Area %} Crime Reports captures all incidents in a region defined by a square shape. Home Assistant zones are circular. Therefore, the region defined by a Home Assistant zone in a Crime Reports context is a square that is big enough to fit the zone circle. Practically, this means some incidents may be captured that are outside your zone. -### Incident Types +### {% linkable_title Incident Types %} You can explicitly include or exclude incident types. Specifying `include`s restricts the incidents to those types. Specifying `exclude`s will return all incident types except those specified. @@ -83,6 +83,6 @@ These incident types are available: - Vehicle Stop - Weapons Offense -### Events +### {% linkable_title Events %} The `crimealerts` sensor fires a `crimealerts_incident` event when a new incident is detected, including the type, description, time, location, and coordinates of the incident. diff --git a/source/_components/sensor.discogs.markdown b/source/_components/sensor.discogs.markdown index 281852abc79..ec600a21b44 100644 --- a/source/_components/sensor.discogs.markdown +++ b/source/_components/sensor.discogs.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: https://www.magneticmag.com/.image/t_share/MTQ5OTE1NzU4NTczMzk3OTYw/discogs-vinyl-record-mark.png -ha_category: Sensor +ha_category: Multimedia ha_release: 0.61 logo: discogs.png ha_iot_class: "Cloud Polling" @@ -16,9 +16,13 @@ ha_iot_class: "Cloud Polling" The `discogs` platform allows you to see the current amount of records in your [Discogs](https://discogs.com) collection. +## {% linkable_title Setup %} + First, you'll need to get a personal access token from your Discogs account. You can generate a token from your profile's [Developer settings](https://www.discogs.com/settings/developers). +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.dnsip.markdown b/source/_components/sensor.dnsip.markdown index 3eeff8b0c1e..0850e3696d3 100644 --- a/source/_components/sensor.dnsip.markdown +++ b/source/_components/sensor.dnsip.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "DNS IP" +title: "DNS IP Sensor" description: "Instructions on how to integrate a DNS IP sensor into Home Assistant." date: 2017-02-25 11:05 sidebar: true @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Network ha_iot_class: "Cloud Polling" ha_release: "0.40" --- @@ -21,6 +21,8 @@ The `dnsip` sensor will expose an IP address, fetched via DNS resolution, as its You may also override the nameserver that is being used by setting the `resolver` parameter to any nameserver you like. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.duke_energy.markdown b/source/_components/sensor.duke_energy.markdown index 1d1bb410d5e..2e120441b3d 100644 --- a/source/_components/sensor.duke_energy.markdown +++ b/source/_components/sensor.duke_energy.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: duke_energy.png -ha_category: Sensor +ha_category: Energy ha_release: "0.74" ha_iot_class: "Cloud Polling" --- The `duke_energy` sensor platform allows you get the previous days usage for all of your Duke Energy smart meters. +## {% linkable_title Setup %} + You will only have access to meters listed in your account at [Duke Energy Usage](https://www.duke-energy.com/my-account/usage-analysis). This supports both electric and gas meters. Along with previous days usage, each sensor will have attributes for the previous bills total usage and average usage. diff --git a/source/_components/sensor.ebox.markdown b/source/_components/sensor.ebox.markdown index d2ad1a9cb5c..c71643c4c81 100644 --- a/source/_components/sensor.ebox.markdown +++ b/source/_components/sensor.ebox.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "EBox" +title: "EBox Sensor" description: "Instructions on how to integrate EBox data usage within Home Assistant." date: 2017-02-15 17:17 sidebar: true @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: ebox.png -ha_category: Sensor +ha_category: Network ha_release: 0.39 ha_iot_class: "Cloud Polling" --- Integrate your [EBox](https://client.ebox.ca/) account information into Home Assistant. +## {% linkable_title Configuration %} + To use your EBox sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.fail2ban.markdown b/source/_components/sensor.fail2ban.markdown index ca1467cf1b1..20f46f6f15c 100644 --- a/source/_components/sensor.fail2ban.markdown +++ b/source/_components/sensor.fail2ban.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor +ha_category: Network ha_iot_class: "Local Polling" logo: fail2ban.png ha_release: 0.57 @@ -20,6 +20,8 @@ The `fail2ban` sensor allows for IPs banned by [fail2ban](https://www.fail2ban.o Your system must have `fail2ban` installed and correctly configured for this sensor to work. In addition, Home Assistant must be able to read the `fail2ban` log file.

+## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.file.markdown b/source/_components/sensor.file.markdown index 8ae7216a7d7..627e7f28ff2 100644 --- a/source/_components/sensor.file.markdown +++ b/source/_components/sensor.file.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: file.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.45 --- @@ -16,6 +16,8 @@ ha_release: 0.45 The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. Note that file paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). +## {% linkable_title Configuration %} + To enable the `file` sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.filesize.markdown b/source/_components/sensor.filesize.markdown index 3178fa6e3cf..c52057294ee 100644 --- a/source/_components/sensor.filesize.markdown +++ b/source/_components/sensor.filesize.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "File size sensor" +title: "File size Sensor" description: "Component for monitoring the size of a file." date: 2018-02-06 14:00 sidebar: true @@ -8,13 +8,16 @@ comments: false sharing: true footer: true logo: file.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.64 --- -Component for displaying the size in MB of a file. Note that paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). -Add to your config: +The `filesize` sensor for displaying the size in MB of a file. Note that paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). + +## {% linkable_title Configuration %} + +To enable the `filesize` sensor, add the following lines to your `configuration.yaml`: ```yaml sensor: diff --git a/source/_components/sensor.filter.markdown b/source/_components/sensor.filter.markdown index 5e2834eebca..a0a07337a70 100644 --- a/source/_components/sensor.filter.markdown +++ b/source/_components/sensor.filter.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor +ha_category: Utility ha_release: 0.65 ha_iot_class: "Local Push" logo: home-assistant.png @@ -21,8 +21,9 @@ The `filter` platform enables sensors that process the states of other entities.

-To enable Filter Sensors in your installation, add the following to your `configuration.yaml` file: +## {% linkable_title Configuration %} +To enable Filter Sensors in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/sensor.folder.markdown b/source/_components/sensor.folder.markdown index 292e7366ea6..878d8e45a0c 100644 --- a/source/_components/sensor.folder.markdown +++ b/source/_components/sensor.folder.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: file.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.64 --- Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes. +## {% linkable_title Configuration %} + To enable the `folder` sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.history_stats.markdown b/source/_components/sensor.history_stats.markdown index d1fa2cfa1dc..d324bc26b52 100644 --- a/source/_components/sensor.history_stats.markdown +++ b/source/_components/sensor.history_stats.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.39 --- diff --git a/source/_components/sensor.magicseaweed.markdown b/source/_components/sensor.magicseaweed.markdown index 8bfbc13d664..4160439956e 100644 --- a/source/_components/sensor.magicseaweed.markdown +++ b/source/_components/sensor.magicseaweed.markdown @@ -14,10 +14,14 @@ ha_release: "0.75" ha_iot_class: "Cloud Polling" --- -The 'magicseaweed' platform uses the [Magicseaweed Forecast API](https://magicseaweed.com/developer/forecast-api) as a source for surf forecasting data for the surf spots of your choice. +The `magicseaweed` platform uses the [Magicseaweed Forecast API](https://magicseaweed.com/developer/forecast-api) as a source for surf forecasting data for the surf spots of your choice. + +## {% linkable_title Setup %} You need an API key which is free but requires [registration](https://magicseaweed.com/developer/sign-up). Magicseaweed is limiting users of the API to 1 spot for the free plan. +## {% linkable_title Configuration %} + To add Magicseaweed forecasts to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.mfi.markdown b/source/_components/sensor.mfi.markdown index 4498c4d3281..a0aeac788de 100644 --- a/source/_components/sensor.mfi.markdown +++ b/source/_components/sensor.mfi.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ubiquiti.png -ha_category: Sensor +ha_category: Network ha_iot_class: "Local Polling" ha_release: 0.32 --- diff --git a/source/_components/sensor.min_max.markdown b/source/_components/sensor.min_max.markdown index 428e8485666..4606862da2d 100644 --- a/source/_components/sensor.min_max.markdown +++ b/source/_components/sensor.min_max.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: "0.31" --- @@ -18,15 +18,19 @@ The `min_max` sensor platform consumes the state from other sensors to determine This sensor is an alternative to the [template sensor](/components/sensor.template/)'s `value_template:` to get the average of multiple sensors. +{% raw %} ```yaml -{% raw %}{{ ((float(states.sensor.kitchen_temperature.state) + +{{ ((float(states.sensor.kitchen_temperature.state) + float(states.sensor.living_room_temperature.state) + float(states.sensor.office_temperature.state)) / 3) | round(2) -}}{% endraw %} +}} ``` +{% endraw %} Sensors with an unknown state will be ignored in the calculation. If the unit of measurement of the sensors differs, the `min_max` sensor will go to an error state where the value is `UNKNOWN` and unit of measurement is `ERR`. +## {% linkable_title Configuration %} + To enable the `min_max` sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.mold_indicator.markdown b/source/_components/sensor.mold_indicator.markdown index bc049af3e65..6b337c6967f 100644 --- a/source/_components/sensor.mold_indicator.markdown +++ b/source/_components/sensor.mold_indicator.markdown @@ -8,14 +8,18 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Climate ha_release: '0.20' ha_iot_class: "Local Polling" --- The Mold Indicator sensor component consumes information of two temperature sensors and a humidity sensor to give an indication for possible mold growth in your home. In case of bad ventilation and insulation, the indoor humidity may lead to condensation on cold surfaces as the windows or even walls. Condensation or a high relative humidity near those cold surfaces leads to a higher risk for mold growth. This sensor component estimates the temperature at a pre-calibrated critical point in the room (the coldest surface) and calculates the relative humidity of the air at that point. If the sensor value rises above approximately 70 percent, mold growth might occur and the room should be ventilated. At 100%, the air humidity condensates at the critical point. -The sensor data may be used e.g., to signal bad air quality (too high air humidity) or to automate operation of indoor air humidifiers to keep the indoor humidity at an optimum. To use the Mold Indicator sensor in your installation, add the following to your `configuration.yaml` file: +The sensor data may be used e.g., to signal bad air quality (too high air humidity) or to automate operation of indoor air humidifiers to keep the indoor humidity at an optimum. + +## {% linkable_title Configuration %} + +To use the Mold Indicator sensor in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/sensor.otp.markdown b/source/_components/sensor.otp.markdown index 849f2167184..3f0cd12d337 100644 --- a/source/_components/sensor.otp.markdown +++ b/source/_components/sensor.otp.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.49 --- The `otp` sensor generates One-Time Passwords according to [RFC6238](https://tools.ietf.org/html/rfc6238) that is compatible with most OTP generators available, including Google Authenticator. You can use this when building custom security solutions and want to use "rolling codes", that change every 30 seconds. +## {% linkable_title Configuration %} + To enable the OTP sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.pocketcasts.markdown b/source/_components/sensor.pocketcasts.markdown index 89d48c79f3c..0a1c0d1fce8 100644 --- a/source/_components/sensor.pocketcasts.markdown +++ b/source/_components/sensor.pocketcasts.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: pocketcasts.png -ha_category: Sensor +ha_category: Multimedia ha_release: 0.39 ha_iot_class: "Cloud Polling" --- The `pocketcasts` sensor platform let one monitor the podcasts at [Pocket Casts](https://play.pocketcasts.com/). +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.qnap.markdown b/source/_components/sensor.qnap.markdown index 3814f37bd00..7731bb33110 100644 --- a/source/_components/sensor.qnap.markdown +++ b/source/_components/sensor.qnap.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: qnap.png -ha_category: Sensor +ha_category: System Monitor ha_release: 0.38 ha_iot_class: "Local Polling" --- diff --git a/source/_components/sensor.random.markdown b/source/_components/sensor.random.markdown index b56d1f3d591..e3515333eab 100644 --- a/source/_components/sensor.random.markdown +++ b/source/_components/sensor.random.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.32 --- diff --git a/source/_components/sensor.season.markdown b/source/_components/sensor.season.markdown index 875636fb7ce..9e2ecc39c74 100644 --- a/source/_components/sensor.season.markdown +++ b/source/_components/sensor.season.markdown @@ -7,13 +7,13 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor +ha_category: Utility logo: home-assistant.png ha_iot_class: "Local Polling" ha_release: 0.53 --- -This sensor will display the current astronomical or meteorological season (Spring, Summer, Autumn, Winter) based on the users setting in the config file. +The `season` sensor will display the current astronomical or meteorological season (Spring, Summer, Autumn, Winter) based on the user's setting in the configuration file. All information about how the seasons work was taken from Wikipedia: @@ -21,6 +21,9 @@ All information about how the seasons work was taken from Wikipedia: - [https://en.wikipedia.org/wiki/Equinox](https://en.wikipedia.org/wiki/Equinox) - [https://en.wikipedia.org/wiki/Solstice](https://en.wikipedia.org/wiki/Solstice) +## {% linkable_title Configuration %} + +To enable the sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -29,6 +32,11 @@ sensor: type: astronomical ``` -Configuration variables: +{% configuration %} +type: + description: "Type of season definition. Options are `meteorological` or `astronomical`." + required: false + type: string + default: astronomical +{% endconfiguration %} -- **type** (*Optional*): Type of season definition. Options are `meteorological` or `astronomical`. Default is `astronomical`. diff --git a/source/_components/sensor.simulated.markdown b/source/_components/sensor.simulated.markdown index 07b97c8fce1..ef4d98bd73d 100644 --- a/source/_components/sensor.simulated.markdown +++ b/source/_components/sensor.simulated.markdown @@ -8,16 +8,16 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: 0.65 --- -The `simulated` sensor platform provides a simulated sensor that generates a time-varying signal ```V(t)``` given by the [function](https://en.wikipedia.org/wiki/Sine_wave): +The `simulated` sensor platform provides a simulated sensor that generates a time-varying signal `V(t)` given by the [function](https://en.wikipedia.org/wiki/Sine_wave): - ``` - V(t) = M + A sin((2 pi (t - t_0) / w) + P) + N(s) - ``` +```text +V(t) = M + A sin((2 pi (t - t_0) / w) + P) + N(s) +``` where: diff --git a/source/_components/sensor.startca.markdown b/source/_components/sensor.startca.markdown index cd92fe272ce..5d36a629eec 100644 --- a/source/_components/sensor.startca.markdown +++ b/source/_components/sensor.startca.markdown @@ -8,16 +8,18 @@ comments: false sharing: true footer: true logo: startca.png -ha_category: Sensor +ha_category: Network ha_release: 0.64 ha_iot_class: "Cloud Polling" --- Integrate your [Start.ca](https://www.start.ca/) account information into Home Assistant. -You can get your API key from: +## {% linkable_title Setup %} -[Start.ca Usage API](https://www.start.ca/support/usage/api) +You can get your API key from: [Start.ca Usage API](https://www.start.ca/support/usage/api) + +## {% linkable_title Configuration %} To use your Start.ca sensor in your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/sensor.statistics.markdown b/source/_components/sensor.statistics.markdown index 9bfd40dd39c..a169c2cc71d 100644 --- a/source/_components/sensor.statistics.markdown +++ b/source/_components/sensor.statistics.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Polling" ha_release: "0.30" --- @@ -19,6 +19,8 @@ The `statistics` sensor platform consumes the state from other sensors. Besides If you are running the [recorder](/components/recorder/) component, on startup the data is read from the database. So after a restart of the platform, you will immediately have data available. If you're using the [history](/components/history/) component, this will automatically also start the `recorder` component on startup. If you are *not* running the `recorder` component, it can take time till the sensor starts to work because a couple of attributes need more than one value to do the calculation. +## {% linkable_title Configuration %} + To enable the statistics sensor, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.uptime.markdown b/source/_components/sensor.uptime.markdown index f67feb188e4..30f8cdadb29 100644 --- a/source/_components/sensor.uptime.markdown +++ b/source/_components/sensor.uptime.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Pushing" logo: home-assistant.png ha_release: 0.56 @@ -16,6 +16,8 @@ ha_release: 0.56 The `uptime` sensor platform displays the time since the last Home Assistant restart. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml @@ -24,10 +26,20 @@ sensor: - platform: uptime ``` -Configuration variables: +{% configuration %} +name: + description: Name to use in the frontend. + required: false + type: string + default: Uptime +unit_of_measurement: + description: "Units for uptime measurement in either `days`, `hours`, or `minutes`." + required: false + type: string + default: days +{% endconfiguration %} -- **name** (*Optional*): Name of the sensor. Defaults to `Uptime`. -- **unit_of_measurement** (*Optional*): Units for uptime measurement in either `days`, `hours`, or `minutes`. Defaults to `days`. +## {% linkable_title Example %} ```yaml # Example with configuration variables diff --git a/source/_components/sensor.version.markdown b/source/_components/sensor.version.markdown index a84c05f7a27..dda7b220fab 100644 --- a/source/_components/sensor.version.markdown +++ b/source/_components/sensor.version.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Sensor +ha_category: Utility ha_iot_class: "Local Pushing" logo: home-assistant.png ha_release: 0.52 @@ -16,6 +16,8 @@ ha_release: 0.52 The `version` sensor platform is displaying the current version of Home Assistant in the frontend. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml` file for a GET request: ```yaml @@ -24,9 +26,13 @@ sensor: - platform: version ``` -Configuration variables: - -- **name** (*Optional*): Name of the sensor. Defaults to `Current Version`. +{% configuration %} +name: + description: Name to use in the frontend. + required: false + type: string + default: Current Version +{% endconfiguration %} ## {% linkable_title Alternatives %} @@ -58,6 +64,7 @@ sensor: You might think that a [`rest` sensor](/components/sensor.rest/) could work, too, but it will not as Home Assistant is not ready when the sensor get initialized. +{% raw %} ```yaml sensor: - platform: rest @@ -65,3 +72,4 @@ sensor: name: Current Version value_template: '{{ value_json.version }}' ``` +{% endraw %} diff --git a/source/_components/sensor.whois.markdown b/source/_components/sensor.whois.markdown index 87e2e674cbc..95e351dd9e7 100644 --- a/source/_components/sensor.whois.markdown +++ b/source/_components/sensor.whois.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: icann.png -ha_category: Sensor +ha_category: Network ha_release: "0.57" ha_iot_class: "Cloud Polling" --- From dcd46c2d86214965d6e9f52f7e1bb173bc9ff23b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 12:20:17 +0200 Subject: [PATCH 122/164] Update category (#6182) --- .../_components/binary_sensor.aurora.markdown | 4 +- .../binary_sensor.bloomsky.markdown | 4 +- .../binary_sensor.command_line.markdown | 4 +- .../_components/binary_sensor.rachio.markdown | 5 +- source/_components/climate.melissa.markdown | 2 +- source/_components/juicenet.markdown | 2 +- source/_components/melissa.markdown | 4 +- source/_components/rachio.markdown | 4 +- source/_components/sensor.airvisual.markdown | 100 ++++++------------ .../_components/sensor.command_line.markdown | 4 +- source/_components/sensor.daikin.markdown | 6 +- source/_components/sensor.dyson.markdown | 2 +- source/_components/sensor.fido.markdown | 8 +- source/_components/sensor.juicenet.markdown | 2 +- source/_components/sensor.lacrosse.markdown | 7 +- source/_components/sensor.melissa.markdown | 4 +- .../sensor.netatmo_public.markdown | 4 +- .../_components/sensor.netgear_lte.markdown | 28 ++--- source/_components/sensor.noaa_tides.markdown | 2 +- source/_components/sensor.openevse.markdown | 2 +- source/_components/sensor.sigfox.markdown | 21 ++-- source/_components/sensor.smappee.markdown | 2 +- .../_components/sensor.socialblade.markdown | 19 ++-- source/_components/sensor.sql.markdown | 2 +- source/_components/sensor.sytadin.markdown | 4 +- source/_components/sensor.tradfri.markdown | 2 +- .../sensor.worldtidesinfo.markdown | 2 +- .../_components/sensor.xiaomi_miio.markdown | 4 +- source/_components/switch.rachio.markdown | 4 +- 29 files changed, 133 insertions(+), 125 deletions(-) diff --git a/source/_components/binary_sensor.aurora.markdown b/source/_components/binary_sensor.aurora.markdown index 08c485a37cb..f1c165381ec 100644 --- a/source/_components/binary_sensor.aurora.markdown +++ b/source/_components/binary_sensor.aurora.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Binary Sensor +ha_category: Environment ha_release: 0.39 logo: noaa.png --- @@ -18,6 +18,8 @@ This service gives a number 0-100 representing the current likelihood of visible You can check the attributes of the sensor to see your exact forecast. +## {% linkable_title Configuration %} + To add the aurora binary sensor to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.bloomsky.markdown b/source/_components/binary_sensor.bloomsky.markdown index 2a4ba02d575..a53c62e973d 100644 --- a/source/_components/binary_sensor.bloomsky.markdown +++ b/source/_components/binary_sensor.bloomsky.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: bloomsky.png -ha_category: Binary Sensor +ha_category: Environment ha_release: 0.14 ha_iot_class: "Cloud Polling" --- @@ -17,6 +17,8 @@ The `bloomsky` binary sensor platform allows you to get data from your BloomSky To get your BloomSky binary sensors working with Home Assistant, follow the instructions for the [BloomSky component](/components/bloomsky/) first. +## {% linkable_title Configuration %} + To use your BloomSky binary sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.command_line.markdown b/source/_components/binary_sensor.command_line.markdown index 93769da9729..f3f8af7f3e3 100644 --- a/source/_components/binary_sensor.command_line.markdown +++ b/source/_components/binary_sensor.command_line.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: command_line.png -ha_category: Binary Sensor +ha_category: Utility ha_release: 0.12 ha_iot_class: "Local Polling" --- @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The `command_line` binary sensor platform issues specific commands to get data. +## {% linkable_title Configuration %} + To use your Command binary sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.rachio.markdown b/source/_components/binary_sensor.rachio.markdown index c46bf398794..badc5403a7c 100644 --- a/source/_components/binary_sensor.rachio.markdown +++ b/source/_components/binary_sensor.rachio.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rachio.png -ha_category: Sensor +ha_category: Irrigation ha_iot_class: "Cloud Push" ha_release: 0.73 --- @@ -18,9 +18,10 @@ The `rachio` binary sensor platform allows you to view the status of your [Rachi Once configured, a binary sensor will be added that shows whether or not each controller in the account provided is online and reachable by Rachio's servers.

- You must have the [Rachio component](/components/rachio/) configured to use this switch. +You must have the [Rachio component](/components/rachio/) configured to use this switch.

+## {% linkable_title Configuration %} To add this platform to your installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/climate.melissa.markdown b/source/_components/climate.melissa.markdown index 9d648a83b59..1c9daadd671 100644 --- a/source/_components/climate.melissa.markdown +++ b/source/_components/climate.melissa.markdown @@ -13,7 +13,7 @@ ha_iot_class: "Cloud Polling" ha_release: 0.63 --- -The `Melissa` climate platform allows you to control your [Melissa Climate](http://seemelissa.com/) from within Home Assistant. +The `melissa` climate platform allows you to control your [Melissa Climate](http://seemelissa.com/) from within Home Assistant. The climate platform will be automatically configured if Melissa component is configured. diff --git a/source/_components/juicenet.markdown b/source/_components/juicenet.markdown index 0ff22b9908e..a6eae2eb3cd 100644 --- a/source/_components/juicenet.markdown +++ b/source/_components/juicenet.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: juicenet.png -ha_category: Hub +ha_category: Energy ha_release: 0.47 --- diff --git a/source/_components/melissa.markdown b/source/_components/melissa.markdown index 46be358b61d..fdd9f30d316 100644 --- a/source/_components/melissa.markdown +++ b/source/_components/melissa.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Melissa Climate" +title: "Melissa" description: "Instructions on how to integrate Melissa Climate into Home Assistant." date: 2017-01-05 17:30 sidebar: true @@ -14,7 +14,7 @@ ha_release: 0.63 ha_iot_class: "Cloud Polling" --- -The `Melissa` component is the main component to connect to a [Melissa Climate](http://seemelissa.com/) A/C control. +The `melissa` component is the main component to connect to a [Melissa Climate](http://seemelissa.com/) A/C control. ## {% linkable_title Configuration %} diff --git a/source/_components/rachio.markdown b/source/_components/rachio.markdown index b27edc4017d..25f54b65118 100644 --- a/source/_components/rachio.markdown +++ b/source/_components/rachio.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rachio.png -ha_category: Hub +ha_category: Irrigation ha_iot_class: "Cloud Push" ha_release: 0.73 --- @@ -22,6 +22,8 @@ The `rachio` platform allows you to control your [Rachio irrigation system](http 1. Click "Get API Key" 1. Copy the API key from the dialog that opens. +## {% linkable_title Configuration %} + To add this platform to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.airvisual.markdown b/source/_components/sensor.airvisual.markdown index 896c09234c3..2cde892cddb 100644 --- a/source/_components/sensor.airvisual.markdown +++ b/source/_components/sensor.airvisual.markdown @@ -13,30 +13,17 @@ ha_release: 0.53 ha_iot_class: "Cloud Polling" --- -The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) -API for air quality data. Data can be collected via latitude/longitude or by -city/state/country. The resulting information creates sensors for the Air -Quality Index (AQI), the human-friendly air quality level, and the main -pollutant of that area. Sensors that conform to either/both the -[U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) -can be created. +The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) can be created. -This platform requires an AirVisual API key, which can be obtained -[here](https://airvisual.com/api). Note that the platform was designed using -the "Community" package; the "Startup" and "Enterprise" package keys should -continue to function, but actual results may vary (or not work at all). +This platform requires an AirVisual API key, which can be obtained [here](https://airvisual.com/api). Note that the platform was designed using the "Community" package; the "Startup" and "Enterprise" package keys should continue to function, but actual results may vary (or not work at all).

-The "Community" API key is limited to 10,000 calls per month. In order to leave -a buffer, the `airvisual` platform queries the API every 10 minutes by default. -Modification of this (via the `scan_interval` key) to a too-low value may -result in your API key being deactivated. +The "Community" API key is limited to 10,000 calls per month. In order to leave a buffer, the `airvisual` platform queries the API every 10 minutes by default. Modification of this (via the `scan_interval` key) to a too-low value may result in your API key being deactivated.

-## {% linkable_title Configuring the Platform via Latitude/Longitude %} +## {% linkable_title Configuration via Latitude/Longitude %} -To enable the platform and gather data via latitude/longitude, add the -following lines to your `configuration.yaml` file: +To enable the platform and gather data via latitude/longitude, add the following lines to your `configuration.yaml` file: ```yaml sensor: @@ -58,59 +45,53 @@ sensor: {% configuration %} api_key: - description: your AirVisual API key + description: Your AirVisual API key. required: required type: string monitored_conditions: - description: the air quality standard(s) to use (`us` for U.S., `cn` for Chinese) + description: "The air quality standard(s) to use (`us` for U.S., `cn` for Chinese)." required: required type: list default: ['us', 'cn'] show_on_map: - description: whether to show a marker on the map at the specified location + description: "Whether to show a marker on the map at the specified location." required: optional type: boolean default: true scan_interval: - description: the rate at which AirVisual should be polled for new data + description: "The rate at which AirVisual should be polled for new data." required: optional type: int default: 600 latitude: - description: the latitude of the location to monitor + description: The latitude of the location to monitor. required: optional type: str - default: the latitude defined under the `homeassistant` key in `configuration.yaml` + default: "The latitude defined under the `homeassistant` key in `configuration.yaml`." longitude: - description: the longitude of the location to monitor + description: The longitude of the location to monitor. required: optional - type: str - default: the longitude defined under the `homeassistant` key in `configuration.yaml` + type: string + default: "The longitude defined under the `homeassistant` key in `configuration.yaml`." city: - description: the city to monitor + description: The city to monitor. required: optional - type: str + type: string state: - description: the state the city belongs to + description: The state the city belongs to. required: optional - type: str + type: string country: - description: the country the state belongs to + description: The country the state belongs to. required: optional - type: str + type: string {% endconfiguration %} ## {% linkable_title Determining the City/State/Country %} -To easily determine the proper values for a particular location, use the -[AirVisual region directory](https://airvisual.com/world). Once you browse to -the particular city you want, take note of the breadcrumb title, which is of -the form `country > state/region > city`. Use this information to fill out -`configuration.yaml`. +To easily determine the proper values for a particular location, use the [AirVisual region directory](https://airvisual.com/world). Once you browse to the particular city you want, take note of the breadcrumb title, which is of the form `country > state/region > city`. Use this information to fill out `configuration.yaml`. -For example, Sao Paulo, Brazil shows a breadcrumb title of -`Brazil > Sao Paulo > Sao Paulo` – thus, the proper configuration would look -like this: +For example, Sao Paulo, Brazil shows a breadcrumb title of `Brazil > Sao Paulo > Sao Paulo`. Thus, the proper configuration would look like this: ```yaml sensor: @@ -126,19 +107,14 @@ sensor: ## {% linkable_title Sensor Types %} -When configured, the platform will create three sensors for each configured -air quality standard: +When configured, the platform will create three sensors for each configured air quality standard: ### Air Quality Index -**Description:** This sensor displays a numeric air quality index (AQI), a -metric for the overall "health" of the air. - -**Example Sensor Name:** `sensor.chinese_air_quality_index` - -**Example Sensor Value:** `32` - -**Explanation:** +- **Description:** This sensor displays a numeric air quality index (AQI), a metric for the overall "health" of the air. +- **Example Sensor Name:** `sensor.chinese_air_quality_index` +- **Example Sensor Value:** `32` +- **Explanation:** AQI | Status | Description ------- | :----------------: | ---------- @@ -151,23 +127,16 @@ AQI | Status | Description ### Air Pollution Level -**Description:** This sensor displays the associated `Status` (from the above -table) for the current AQI. - -**Sample Sensor Name:** `sensor.us_air_pollution_level` - -**Example Sensor Value:** `Moderate` +- **Description:** This sensor displays the associated `Status` (from the above table) for the current AQI. +- **Sample Sensor Name:** `sensor.us_air_pollution_level` +- **Example Sensor Value:** `Moderate` ### Main Pollutant -**Description:** This sensor displays the pollutant whose value is currently -highest. - -**Sample Sensor Name:** `sensor.us_main_pollutant` - -**Example Sensor Value:** `PM2.5` - -**Explanation:** +- **Description:** This sensor displays the pollutant whose value is currently highest. +- **Sample Sensor Name:** `sensor.us_main_pollutant` +- **Example Sensor Value:** `PM2.5` +- **Explanation:** Pollutant | Symbol | More Info ------- | :----------------: | ---------- @@ -176,3 +145,4 @@ Particulate (<= 10 μm) | PM10 | [EPA: Particulate Matter (PM) Pollution ](https Ozone | O | [EPA: Ozone Pollution](https://www.epa.gov/ozone-pollution) Sulpher Dioxide | SO2 | [EPA: Sulfur Dioxide (SO2) Pollution](https://www.epa.gov/so2-pollution) Carbon Monoxide | CO | [EPA: Carbon Monoxide (CO) Pollution in Outdoor Air](https://www.epa.gov/co-pollution) + diff --git a/source/_components/sensor.command_line.markdown b/source/_components/sensor.command_line.markdown index 238c46f7f61..94e85385128 100644 --- a/source/_components/sensor.command_line.markdown +++ b/source/_components/sensor.command_line.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: command_line.png -ha_category: Sensor +ha_category: Utility ha_release: pre 0.7 ha_iot_class: "Local Polling" --- @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The `command_line` sensor platform that issues specific commands to get data. This might become our most powerful platform as it allows anyone to integrate any type of sensor into Home Assistant that can get data from the command line. +## {% linkable_title Configuration %} + To enable it, add the following lines to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.daikin.markdown b/source/_components/sensor.daikin.markdown index 20831781606..250da44a727 100644 --- a/source/_components/sensor.daikin.markdown +++ b/source/_components/sensor.daikin.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Daikin AC" +title: "Daikin AC Sensor" description: "Instructions on how to integrate Daikin AC(s) with Home Assistant." date: 2017-12-03 05:00 sidebar: True @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: daikin.png -ha_category: Sensor +ha_category: Environment ha_release: 0.59 ha_iot_class: "Local Polling" --- @@ -23,6 +23,8 @@ The `daikin` sensor platform integrates Daikin air conditioning systems into Hom Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant.

+## {% linkable_title Configuration %} + To enable the platform manually, add the following lines to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.dyson.markdown b/source/_components/sensor.dyson.markdown index 022d778ceb6..8a1cd8a1efb 100644 --- a/source/_components/sensor.dyson.markdown +++ b/source/_components/sensor.dyson.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: dyson.png -ha_category: Sensor +ha_category: Environment ha_iot_class: "Cloud Polling" ha_release: 0.47 --- diff --git a/source/_components/sensor.fido.markdown b/source/_components/sensor.fido.markdown index edb59195a38..4331701e3e4 100644 --- a/source/_components/sensor.fido.markdown +++ b/source/_components/sensor.fido.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Fido" +title: "Fido Sensor" description: "Instructions on how to integrate Fido data usage within Home Assistant." date: 2017-01-01 17:17 sidebar: true @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: fido.png -ha_category: Sensor +ha_category: Network ha_release: 0.39 ha_iot_class: "Cloud Polling" --- @@ -16,7 +16,9 @@ ha_iot_class: "Cloud Polling" Integrate your [Fido](https://www.fido.ca/) account information into Home Assistant. -To enable this sensor, add the following lines to your `configuration.yaml`: +## {% linkable_title Configuration %} + +To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_components/sensor.juicenet.markdown b/source/_components/sensor.juicenet.markdown index 03bad7fccc9..df9929c658e 100644 --- a/source/_components/sensor.juicenet.markdown +++ b/source/_components/sensor.juicenet.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: juicenet.png -ha_category: Sensor +ha_category: Energy ha_release: 0.47 --- diff --git a/source/_components/sensor.lacrosse.markdown b/source/_components/sensor.lacrosse.markdown index 5218a2b710b..b634ccbcd37 100644 --- a/source/_components/sensor.lacrosse.markdown +++ b/source/_components/sensor.lacrosse.markdown @@ -8,14 +8,14 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Sensor +ha_category: DIY ha_release: 0.58 ha_iot_class: "Local Polling" --- The `lacrosse` sensor platform is using the data provided by a [Jeelink](https://www.digitalsmarties.net/products/jeelink) USB dongle or this [Arduino sketch](https://svn.fhem.de/trac/browser/trunk/fhem/contrib/arduino/36_LaCrosse-LaCrosseITPlusReader.zip). -#### {% linkable_title Tested Devices %} +### {% linkable_title Tested Devices %} - Technoline TX 29 IT (temperature only) - Technoline TX 29 DTH-IT (including humidity) @@ -27,6 +27,9 @@ Since the sensor change their ID after each powercycle/battery change you can ch ```bash $ sudo pylacrosse -d /dev/ttyUSB0 scan ``` + +## {% linkable_title Configuration %} + To use your `lacrosse` compatible sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.melissa.markdown b/source/_components/sensor.melissa.markdown index 4b18248d522..0b4360560d5 100644 --- a/source/_components/sensor.melissa.markdown +++ b/source/_components/sensor.melissa.markdown @@ -8,12 +8,12 @@ comments: false sharing: true footer: true logo: mclimate.png -ha_category: Sensor +ha_category: Environment ha_iot_class: "Cloud Polling" ha_release: 0.63 --- -The `Melissa` platform allows you to get data from your [Melissa](http://seemelissa.com/) sensors from within Home Assistant. +The `melissa` platform allows you to get data from your [Melissa](http://seemelissa.com/) sensors from within Home Assistant. The sensor platform will be automatically configured if Melissa component is configured. diff --git a/source/_components/sensor.netatmo_public.markdown b/source/_components/sensor.netatmo_public.markdown index 9c89a1c5a71..c1c61a1a05c 100644 --- a/source/_components/sensor.netatmo_public.markdown +++ b/source/_components/sensor.netatmo_public.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: netatmo.png -ha_category: Sensor +ha_category: Environment ha_iot_class: "Cloud Polling" ha_release: 0.77 --- @@ -60,7 +60,7 @@ areas: type: string default: Netatmo Public Data type: - description: How to calculate the value of the sensor if there are multiple stations reporting data. Accepts `max` or `avg`. + description: "How to calculate the value of the sensor if there are multiple stations reporting data. Accepts `max` or `avg`." required: false type: string default: max diff --git a/source/_components/sensor.netgear_lte.markdown b/source/_components/sensor.netgear_lte.markdown index a8f82f8206a..b0031f161cf 100644 --- a/source/_components/sensor.netgear_lte.markdown +++ b/source/_components/sensor.netgear_lte.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: netgear.png ha_release: 0.72 -ha_category: Sensor +ha_category: Network ha_iot_class: "Local Polling" --- @@ -17,6 +17,10 @@ The `netgear_lte` sensor platform allows you to monitor your Netgear LTE modem. This requires you to have set up the [Netgear LTE component](/components/netgear_lte/). +## {% linkable_title Configuration %} + +To enable the sensor, add the following lines to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry sensor: @@ -28,16 +32,16 @@ sensor: {% configuration %} sensors: - description: Sensor types to create. - required: true - type: list - keys: - sms: - description: Number of unread SMS messages in the modem inbox. - usage: - description: Amount of data transferred. + description: Sensor types to create. + required: true + type: list + keys: + sms: + description: Number of unread SMS messages in the modem inbox. + usage: + description: Amount of data transferred. host: - description: The modem to use. Not needed if you only have one. - required: false - type: string + description: The modem to use. Not needed if you only have one. + required: false + type: string {% endconfiguration %} diff --git a/source/_components/sensor.noaa_tides.markdown b/source/_components/sensor.noaa_tides.markdown index 2ae7a6875fc..434d25dd621 100644 --- a/source/_components/sensor.noaa_tides.markdown +++ b/source/_components/sensor.noaa_tides.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Weather +ha_category: Environment ha_release: 0.75 logo: noaa.png --- diff --git a/source/_components/sensor.openevse.markdown b/source/_components/sensor.openevse.markdown index e9df04e8da0..df249bd1137 100644 --- a/source/_components/sensor.openevse.markdown +++ b/source/_components/sensor.openevse.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: openevse.png -ha_category: Sensor +ha_category: Car ha_release: "0.38" ha_iot_class: "Local Polling" --- diff --git a/source/_components/sensor.sigfox.markdown b/source/_components/sensor.sigfox.markdown index f3f0bbb0ea5..e11dc9600e8 100644 --- a/source/_components/sensor.sigfox.markdown +++ b/source/_components/sensor.sigfox.markdown @@ -13,7 +13,20 @@ ha_iot_class: "Local Polling" ha_release: 0.68 --- -[SigFox](https://www.sigfox.com/en) component adding a sensor for each Sigfox device registered with your account. The default name of sensors is `sigfox_{DEVICE_ID}` where `DEVICE_ID` is the devices Sigfox ID. The state of an added Sigfox sensor is the payload of the last message published by that device. Additionally, there are attributes for the latitude and longitude coordinates of the device, as well as the signal-to-noise ratio ( [snr](https://en.wikipedia.org/wiki/Signal-to-noise_ratio)). +[SigFox](https://www.sigfox.com/en) component adding a sensor for each Sigfox device registered with your account. The default name of sensors is `sigfox_{DEVICE_ID}` where `DEVICE_ID` is the devices Sigfox ID. The state of an added Sigfox sensor is the payload of the last message published by that device. Additionally, there are attributes for the latitude and longitude coordinates of the device, as well as the signal-to-noise ratio ([snr](https://en.wikipedia.org/wiki/Signal-to-noise_ratio)). + +## {% linkable_title Setup %} + +Note that `your_api_login` and `your_api_password` are your **API access credentials** which can be accessed by following: + +1. Log into [Sigfox backend](https://backend.sigfox.com) +1. Select `GROUP` +1. Select `API ACCESS` +1. Click on `new` and create new access entry + +## {% linkable_title Configuration %} + +To use this sensor, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -39,9 +52,3 @@ name: type: string {% endconfiguration %} -Note that `your_api_login` and `your_api_password` are your **API access credentials** which can be accessed by following: - -1. Log into [Sigfox backend](https://backend.sigfox.com) -1. Select `GROUP` -1. Select `API ACCESS` -1. Click on `new` and create new access entry diff --git a/source/_components/sensor.smappee.markdown b/source/_components/sensor.smappee.markdown index 2886f2b4340..8a1e1c56e25 100644 --- a/source/_components/sensor.smappee.markdown +++ b/source/_components/sensor.smappee.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: smappee.png ha_release: "0.64" -ha_category: Sensor +ha_category: Energy --- [Smappee](https://www.smappee.com/) controller for energy monitoring and Comport plug switches. diff --git a/source/_components/sensor.socialblade.markdown b/source/_components/sensor.socialblade.markdown index cf106c9133e..143feb80e9d 100644 --- a/source/_components/sensor.socialblade.markdown +++ b/source/_components/sensor.socialblade.markdown @@ -3,25 +3,28 @@ layout: page title: Social Blade Sensor description: "Instructions on how to set up Social Blade Sensor within Home Assistant." date: 2018-04-23 08:00 -sidebar: false +sidebar: true comments: false sharing: true footer: true logo: socialblade.png -ha_category: Sensor +ha_category: Multimedia ha_release: 0.69 ha_iot_class: "Cloud Polling" --- -The `socialblade` sensor component allows you get updates on a youtube channel using your social blade channel id. The sensor gets the subscribers and total views count from [Social Blade Website]( https://socialblade.com/) +The `socialblade` sensor platform allows you get updates on a Youtube channel using your social blade channel ID. The sensor gets the subscribers and total views count from [Social Blade Website]( https://socialblade.com/). -to get the channel id you can go to [Social Blade Website]( https://socialblade.com/) and search for youtube channel by username, then select the channel and grab the id from the url. -The channel id will be the last part of the url : -https://socialblade.com/youtube/channel/{channel_id} +## {% linkable_title Setup %} -## Example for `configuration.yaml` : +To get the channel ID you can go to [Social Blade Website]( https://socialblade.com/) and search for Youtube channel by username, then select the channel and grab the ID from the URL. The channel ID will be the last part of the URL: https://socialblade.com/youtube/channel/{channel_id} + +## {% linkable_title Configuration %} + +To enable the sensor, add the following lines to your `configuration.yaml` file: ```yaml +# Example configuration.yaml entry sensor: - platform: socialblade channel_id: YOUR_CHANNEL_NUMBER @@ -29,7 +32,7 @@ sensor: {% configuration %} channel_id: - description: channel id number optained from the URL when you access Social Blade web client. + description: Channel id number optained from the URL when you access Social Blade web client. required: true type: string {% endconfiguration %} diff --git a/source/_components/sensor.sql.markdown b/source/_components/sensor.sql.markdown index a7484b1480c..201861f2620 100644 --- a/source/_components/sensor.sql.markdown +++ b/source/_components/sensor.sql.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: sql.png -ha_category: Sensor +ha_category: Utility ha_release: 0.63 --- diff --git a/source/_components/sensor.sytadin.markdown b/source/_components/sensor.sytadin.markdown index 1c44a9bdd3f..4b62e198574 100644 --- a/source/_components/sensor.sytadin.markdown +++ b/source/_components/sensor.sytadin.markdown @@ -9,12 +9,14 @@ sharing: true footer: true logo: sytadin.png ha_release: 0.57 -ha_category: Sensor +ha_category: Car ha_iot_class: "Clound Polling" --- The `sytadin` sensor platform allows you to monitor traffic details from [Sytadin](http://www.sytadin.fr). +## {% linkable_title Configuration %} + To add Sytadin to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.tradfri.markdown b/source/_components/sensor.tradfri.markdown index fb78480fb1b..98d673d16a6 100644 --- a/source/_components/sensor.tradfri.markdown +++ b/source/_components/sensor.tradfri.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "IKEA Trådfri sensors" +title: "IKEA Trådfri sensor" description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Sensors." date: 2017-04-12 22.04 sidebar: true diff --git a/source/_components/sensor.worldtidesinfo.markdown b/source/_components/sensor.worldtidesinfo.markdown index 471a09566b4..9dcde7eafbc 100644 --- a/source/_components/sensor.worldtidesinfo.markdown +++ b/source/_components/sensor.worldtidesinfo.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: worldtidesinfo.png -ha_category: Weather +ha_category: Environment ha_release: 0.52 --- diff --git a/source/_components/sensor.xiaomi_miio.markdown b/source/_components/sensor.xiaomi_miio.markdown index 26e1a4293b9..c5a1bebe3bf 100644 --- a/source/_components/sensor.xiaomi_miio.markdown +++ b/source/_components/sensor.xiaomi_miio.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: xiaomi.png -ha_category: Sensor +ha_category: Health ha_iot_class: "Local Polling" ha_release: 0.66 --- @@ -26,6 +26,8 @@ Currently, the supported features are: Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token. +## {% linkable_title Configuration %} + To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.rachio.markdown b/source/_components/switch.rachio.markdown index e24fab29fae..89ece905556 100644 --- a/source/_components/switch.rachio.markdown +++ b/source/_components/switch.rachio.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: rachio.png -ha_category: Switch +ha_category: Irrigation ha_iot_class: "Cloud Push" ha_release: 0.46 --- @@ -21,6 +21,8 @@ Once configured, a switch will be added for every zone that is enabled on every You must have the [Rachio component](/components/rachio/) configured to use this switch.

+## {% linkable_title Configuration %} + To add this platform to your installation, add the following to your `configuration.yaml` file: ```yaml From 8c539e8b1392db4331a07a28b19a69cf9ef30aaa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 12:49:31 +0200 Subject: [PATCH 123/164] Minor updates --- source/_components/sensor.gpsd.markdown | 27 +++++++++-- source/_components/sensor.luftdaten.markdown | 4 ++ .../sensor.modem_callerid.markdown | 47 ++++++++++++++++--- 3 files changed, 66 insertions(+), 12 deletions(-) diff --git a/source/_components/sensor.gpsd.markdown b/source/_components/sensor.gpsd.markdown index 82448cd970b..d66cc20110f 100644 --- a/source/_components/sensor.gpsd.markdown +++ b/source/_components/sensor.gpsd.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: gpsd.png -ha_category: Sensor +ha_category: Utility ha_release: 0.26 ha_iot_class: "Local Polling" --- The `gpsd` component is using the GPS information collected by [gpsd](http://catb.org/gpsd/) and a GPS receiver. +## {% linkable_title Setup %} + A requirement is that `gpsd` is installed (`$ sudo apt-get install gpsd` or `$ sudo dnf -y install gpsd`). `gpsd` uses the socket activation feature of systemd on recent Linux distributions for USB receivers. This means that if you plug your GPS receiver in, `gpsd` is started. Other GPS device may work too, but this was not tested. ```bash @@ -40,6 +42,8 @@ Escape character is '^]'. {"class":"VERSION","release":"3.15","rev":"3.15-2.fc23","proto_major":3,"proto_minor":11} ``` +## {% linkable_title Configuration %} + To setup a GPSD sensor in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -48,8 +52,21 @@ sensor: - platform: gpsd ``` -Configuration variables: +{% configuration %} +host: + description: The host where GPSD is running. + required: false + type: string + default: localhost +port: + description: The port which GPSD is using. + required: false + type: int + default: 2947 +name: + description: Friendly name to use for the frontend. + required: false + type: string + default: GPS +{% endconfiguration %} -- **host** (*Optional*): The host where GPSD is running. Defaults to `localhost`. -- **port** (*Optional*): The port which GPSD is using. Defaults to `2947`. -- **name** (*Optional*): Friendly name to use for the frontend. Default to GPS. diff --git a/source/_components/sensor.luftdaten.markdown b/source/_components/sensor.luftdaten.markdown index 8e4a41cdefc..b368a6d8e9b 100644 --- a/source/_components/sensor.luftdaten.markdown +++ b/source/_components/sensor.luftdaten.markdown @@ -15,9 +15,13 @@ ha_iot_class: "Cloud Polling" The `luftdaten` sensor platform will query the open data API of [luftdaten.info](http://luftdaten.info) to monitor air quality and other weather data from a specific (self build) sensor station. +## {% linkable_title Setup %} + - To get the ID of a particle sensor you need to select it on the [Feinstaub map](http://deutschland.maps.luftdaten.info/) and find it in the sidebar (Column "Sensor ID"). - To get the ID of a temperature/humidity sensor you need to find it on the map hosted on [Madavi](https://www.madavi.de/sensor/feinstaub-map-dht/). +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.modem_callerid.markdown b/source/_components/sensor.modem_callerid.markdown index 6fa1ed1919d..4747aea5cf9 100644 --- a/source/_components/sensor.modem_callerid.markdown +++ b/source/_components/sensor.modem_callerid.markdown @@ -14,6 +14,26 @@ ha_iot_class: "Local Polling" The `modem_callerid` sensor platform uses an available modem for collecting caller ID information. It requires a Hayes AT compatible modem that supports caller ID detection (via AT+VCID=1). +When the sensor detects a new call, its state changes to 'ring' for each ring and 'callerid' when caller id information is received. It returns to 'idle' once ringing stops. The state event includes an attribute payload that includes the time of the call, name and number. + +## {% linkable_title Setup %} + +To find the path of your USB modem, run: + +```bash +$ ls /dev/ttyACM* +``` + +If Home Assistant (`hass`) runs with another user (e.g., `homeassistant` on Hassbian) give access to the stick with: + +```bash +$ sudo usermod -a -G dialout homeassistant +``` + +Depending on what's plugged into your USB ports, the name found above may change. You can lock in a name, such as `/dev/modem`, by following [these instructions](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/). + +## {% linkable_title Configuration %} + To enable the sensor, add the following lines to your `configuration.yaml`: ```yaml @@ -22,10 +42,19 @@ sensor: - platform: modem_callerid ``` -Configuration variables: +{% configuration %} +name: + description: Name of the sensor to use in the frontend. + required: false + type: string + default: "`modem_callerid`" +device: + description: The port to use. + required: false + type: string + default: "`/dev/ttyACM0`" +{% endconfiguration %} -- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `modem_callerid`. -- **device** (*Optional*): Device port name. Defaults to `/dev/ttyACM0`. To find the path of your USB modem, run: @@ -37,11 +66,15 @@ If Home Assistant (`hass`) runs with another user (e.g., `homeassistant` on Hass Depending on what's plugged into your USB ports, the name found above may change. You can lock in a name, such as `/dev/modem`, by following [these instructions](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/). -When the sensor detects a new call, its state changes to 'ring' for each ring and 'callerid' when caller id information is received. It returns to 'idle' once ringing stops. The state event includes an attribute payload that includes the time of the call, name and number. + + +## {% linkable_title Examples %} Some example automations: + +{% raw %} ```yaml -{% raw %}automation: +automation: - alias: Notify CallerID trigger: platform: state @@ -69,6 +102,6 @@ Some example automations: action: service: tts.google_say data_template: - message: 'Call from {{ states.sensor.modem_callerid.attributes.cid_name }} '{% endraw %} + message: 'Call from {{ states.sensor.modem_callerid.attributes.cid_name }}' ``` - +{% endraw %} From c3c9bc745043c2af5976d87e9c5ea6904d76cf52 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 12:50:22 +0200 Subject: [PATCH 124/164] Update category (#6183) --- source/_components/august.markdown | 2 +- source/_components/binary_sensor.august.markdown | 2 +- source/_components/binary_sensor.ecobee.markdown | 2 +- source/_components/binary_sensor.ring.markdown | 4 +++- source/_components/binary_sensor.skybell.markdown | 4 +++- source/_components/binary_sensor.wemo.markdown | 2 +- source/_components/camera.ring.markdown | 2 ++ source/_components/camera.skybell.markdown | 2 ++ source/_components/light.skybell.markdown | 2 ++ source/_components/ring.markdown | 4 +++- source/_components/sensor.bbox.markdown | 4 +++- source/_components/sensor.canary.markdown | 2 +- source/_components/sensor.ecobee.markdown | 2 +- source/_components/sensor.moon.markdown | 5 ++++- source/_components/sensor.ring.markdown | 4 +++- source/_components/sensor.skybell.markdown | 4 +++- source/_components/sensor.teksavvy.markdown | 4 +++- source/_components/skybell.markdown | 2 +- source/_components/sun.markdown | 2 +- source/_components/switch.skybell.markdown | 2 ++ 20 files changed, 41 insertions(+), 16 deletions(-) diff --git a/source/_components/august.markdown b/source/_components/august.markdown index 818002e14c7..2d079065ec7 100644 --- a/source/_components/august.markdown +++ b/source/_components/august.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: august.png -ha_category: Hub +ha_category: Door bell ha_release: "0.64" ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/binary_sensor.august.markdown b/source/_components/binary_sensor.august.markdown index be793af19b8..20d2aec19d0 100644 --- a/source/_components/binary_sensor.august.markdown +++ b/source/_components/binary_sensor.august.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: august.png -ha_category: Binary Sensor +ha_category: Door bell ha_release: "0.64" ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/binary_sensor.ecobee.markdown b/source/_components/binary_sensor.ecobee.markdown index 25f58c42cbc..103c818d495 100644 --- a/source/_components/binary_sensor.ecobee.markdown +++ b/source/_components/binary_sensor.ecobee.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ecobee.png -ha_category: Binary Sensor +ha_category: Environment ha_release: 0.9 ha_iot_class: "Local Push" --- diff --git a/source/_components/binary_sensor.ring.markdown b/source/_components/binary_sensor.ring.markdown index e663d6838cc..c2f48c7163c 100644 --- a/source/_components/binary_sensor.ring.markdown +++ b/source/_components/binary_sensor.ring.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: ring.png -ha_category: Binary Sensor +ha_category: Doorbell ha_release: 0.42 ha_iot_class: "Cloud Polling" --- To get your [Ring.com](https://ring.com/) binary sensors working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). +## {% linkable_title Configuration %} + Once you have enabled the [Ring component](/components/ring), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.skybell.markdown b/source/_components/binary_sensor.skybell.markdown index d16766f316d..25558eb1cd5 100644 --- a/source/_components/binary_sensor.skybell.markdown +++ b/source/_components/binary_sensor.skybell.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: skybell.png -ha_category: Binary Sensor +ha_category: Doorbell ha_release: 0.56 ha_iot_class: "Cloud Polling" --- To get your [Skybell.com](https://skybell.com/) binary sensors working within Home Assistant, please follow the instructions for the general [Skybell component](/components/skybell). +## {% linkable_title Configuration %} + Once you have enabled the [Skybell component](/components/skybell), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/binary_sensor.wemo.markdown b/source/_components/binary_sensor.wemo.markdown index 9b304f5fc61..48fd97bc842 100644 --- a/source/_components/binary_sensor.wemo.markdown +++ b/source/_components/binary_sensor.wemo.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Belkin WeMo Binary Sensors" +title: "Belkin WeMo Binary Sensor" description: "Instructions on how to integrate Belkin WeMo binary sensors into Home Assistant." date: 2016-02-20 00:45 sidebar: true diff --git a/source/_components/camera.ring.markdown b/source/_components/camera.ring.markdown index cd4844ae4b0..7499d2a14a5 100644 --- a/source/_components/camera.ring.markdown +++ b/source/_components/camera.ring.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" To get your [Ring.com](https://ring.com/) cameras working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). Please note that downloading and playing Ring video will require a Ring Protect plan. +## {% linkable_title Configuration %} + Once you have enabled the [Ring component](/components/ring), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/camera.skybell.markdown b/source/_components/camera.skybell.markdown index a6b1155d173..61df1aeeaba 100644 --- a/source/_components/camera.skybell.markdown +++ b/source/_components/camera.skybell.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" To get your [Skybell.com](https://www.skybell.com/) cameras working within Home Assistant, please follow the instructions for the general [Skybell component](/components/skybell). +## {% linkable_title Configuration %} + Once you have enabled the [Skybell component](/components/skybell), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/light.skybell.markdown b/source/_components/light.skybell.markdown index 15723eaf076..889dbaf4caa 100644 --- a/source/_components/light.skybell.markdown +++ b/source/_components/light.skybell.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" To get your [Skybell.com](https://skybell.com/) LED light working within Home Assistant, please follow the instructions for the general [Skybell component](/components/skybell). +## {% linkable_title Configuration %} + Once you have enabled the [Skybell component](/components/skybell), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/ring.markdown b/source/_components/ring.markdown index 4daf012653f..e600e3e140a 100644 --- a/source/_components/ring.markdown +++ b/source/_components/ring.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ring.png -ha_category: Hub +ha_category: Doorbell ha_release: 0.42 --- @@ -16,6 +16,8 @@ The `ring` implementation allows you to integrate your [Ring.com](https://ring.c Currently only doorbells are supported by this sensor. +## {% linkable_title Configuration %} + To enable device linked in your [Ring.com](https://ring.com/) account, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.bbox.markdown b/source/_components/sensor.bbox.markdown index ec3be264acc..a45e4bdb5ed 100644 --- a/source/_components/sensor.bbox.markdown +++ b/source/_components/sensor.bbox.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: bbox.png -ha_category: Sensor +ha_category: Network ha_release: 0.31 ha_iot_class: "Local Push" --- @@ -19,6 +19,8 @@ The `bbox` platform uses the [Bbox Modem Router](https://fr.wikipedia.org/wiki/B Due to third party limitation, the sensors will only be available if Home Assistant and the Bbox are on the same local area network. You can check this by going to 192.168.1.254 with your web browser.

+## {% linkable_title Configuration %} + To add Bbox sensors to your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.canary.markdown b/source/_components/sensor.canary.markdown index 25efd713e39..79239f075bc 100644 --- a/source/_components/sensor.canary.markdown +++ b/source/_components/sensor.canary.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: canary.png -ha_category: Sensor +ha_category: Environment ha_release: "0.60" ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/sensor.ecobee.markdown b/source/_components/sensor.ecobee.markdown index 19491a566eb..e05a714d371 100644 --- a/source/_components/sensor.ecobee.markdown +++ b/source/_components/sensor.ecobee.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ecobee.png -ha_category: Binary Sensor +ha_category: Environment ha_release: 0.9 ha_iot_class: "Local Push" --- diff --git a/source/_components/sensor.moon.markdown b/source/_components/sensor.moon.markdown index d80c1068988..6a292040da2 100644 --- a/source/_components/sensor.moon.markdown +++ b/source/_components/sensor.moon.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Weather +ha_category: Environment ha_iot_class: "Local Polling" ha_release: 0.38 --- @@ -16,6 +16,8 @@ ha_release: 0.38 The `moon` sensor platform is tracking the moon phases. +## {% linkable_title Configuration %} + To enable the moon sensor, add the following lines to your `configuration.yaml`: ```yaml @@ -23,5 +25,6 @@ To enable the moon sensor, add the following lines to your `configuration.yaml`: sensor: - platform: moon ``` + This sensor will return one of the following values: `new_moon`, `waxing_crescent`, `first_quarter`, `waxing_gibbous`, `full_moon`, `waning_gibbous`, `last_quarter` or `waning_crescent` . diff --git a/source/_components/sensor.ring.markdown b/source/_components/sensor.ring.markdown index 898a76ffa4c..e8059abc990 100644 --- a/source/_components/sensor.ring.markdown +++ b/source/_components/sensor.ring.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: ring.png -ha_category: Sensor +ha_category: Doorbell ha_release: "0.40" ha_iot_class: "Cloud Polling" --- To get your [Ring.com](https://ring.com/) binary sensors working within Home Assistant, please follow the instructions for the general [Ring component](/components/ring). +## {% linkable_title Configuration %} + Once you have enabled the [Ring component](/components/ring), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.skybell.markdown b/source/_components/sensor.skybell.markdown index 4c9f3b5434c..023ee75738f 100644 --- a/source/_components/sensor.skybell.markdown +++ b/source/_components/sensor.skybell.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: skybell.png -ha_category: Sensor +ha_category: Doorbell ha_release: 0.56 ha_iot_class: "Cloud Polling" --- To get your [Skybell.com](https://skybell.com/) sensors working within Home Assistant, please follow the instructions for the general [Skybell component](/components/skybell). +## {% linkable_title Configuration %} + Once you have enabled the [Skybell component](/components/skybell), add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.teksavvy.markdown b/source/_components/sensor.teksavvy.markdown index 9f7a8e70faa..c55d05f3f39 100644 --- a/source/_components/sensor.teksavvy.markdown +++ b/source/_components/sensor.teksavvy.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: teksavvy.png -ha_category: Sensor +ha_category: Network ha_release: 0.62 ha_iot_class: "Cloud Polling" --- @@ -17,6 +17,8 @@ Integrate your [TekSavvy](https://myaccount.teksavvy.com/) account information i You can get your API key from [TekSavvy My Account](https://myaccount.teksavvy.com/ApiKey/ApiKeyManagement). +## {% linkable_title Configuration %} + To use your TekSavvy sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/skybell.markdown b/source/_components/skybell.markdown index 189f3a1b999..379cf3248a0 100644 --- a/source/_components/skybell.markdown +++ b/source/_components/skybell.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: skybell.png -ha_category: Hub +ha_category: Doorbell ha_release: 0.56 ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/sun.markdown b/source/_components/sun.markdown index 91d1f7903eb..2b8cf1e3313 100644 --- a/source/_components/sun.markdown +++ b/source/_components/sun.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Weather +ha_category: Environment --- The sun component will use your current location to track if the sun is above or below the horizon. The sun can be used within automation as [a trigger with an optional offset to simulate dawn/dusk][automation-trigger]. diff --git a/source/_components/switch.skybell.markdown b/source/_components/switch.skybell.markdown index 511aa39c1aa..632f5d770c9 100644 --- a/source/_components/switch.skybell.markdown +++ b/source/_components/switch.skybell.markdown @@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling" To get your [Skybell.com](https://skybell.com/) switches working within Home Assistant, please follow the instructions for the general [Skybell component](/components/skybell). +## {% linkable_title Configuration %} + Once you have enabled the [Skybell component](/components/skybell), add the following to your `configuration.yaml` file: ```yaml From 920d90f747af25d04f51ba6e3b5b573385af1dae Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 3 Sep 2018 14:27:06 +0200 Subject: [PATCH 125/164] Release 77.3 --- _config.yml | 6 +++--- source/_posts/2018-08-29-release-77.markdown | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index e56a21fade4..c4e08b970b8 100644 --- a/_config.yml +++ b/_config.yml @@ -142,13 +142,13 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 77 -current_patch_version: 2 -date_released: 2018-08-31 +current_patch_version: 3 +date_released: 2018-09-03 # 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-0772---august-31" +patch_version_notes: "#release-0773---september-3" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_posts/2018-08-29-release-77.markdown b/source/_posts/2018-08-29-release-77.markdown index 84b3c8906d6..d57d9910198 100644 --- a/source/_posts/2018-08-29-release-77.markdown +++ b/source/_posts/2018-08-29-release-77.markdown @@ -81,6 +81,18 @@ You didn't think we would forget about Lovelace, did you? This release include a [light.lifx docs]: /components/light.lifx/ [wemo docs]: /components/wemo/ +## {% linkable_title Release 0.77.3 - September 3 %} + +Frontend changes only: + +- Ask "save login" after hass connected [PR](https://github.com/home-assistant/home-assistant-polymer/pull/1631) [@awarecan] +- Show an error when invalid client id or redirect uri [PR](https://github.com/home-assistant/home-assistant-polymer/pull/1620) [@balloob] +- Disable autocapitalization of username field [PR](https://github.com/home-assistant/home-assistant-polymer/pull/1627) [@timmo001] +- Upgrade MDI icons [PR](https://github.com/home-assistant/home-assistant-polymer/pull/1630) [@balloob] +- Update translations + +[@timmo001]: https://github.com/timmo001 + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. From f8f79877eb3ce8f7c60a1a1aa421fe6e367e6c18 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 17:05:19 +0200 Subject: [PATCH 126/164] Update category --- source/_components/august.markdown | 2 +- .../_components/binary_sensor.august.markdown | 3 +- .../binary_sensor.upcloud.markdown | 2 ++ source/_components/digital_ocean.markdown | 4 +-- source/_components/doorbird.markdown | 6 ++-- .../light.blinksticklight.markdown | 2 +- source/_components/light.blinkt.markdown | 2 +- source/_components/plant.markdown | 4 ++- .../_components/sensor.cert_expiry.markdown | 4 ++- .../sensor.mold_indicator.markdown | 2 +- .../sensor.swiss_hydrological_data.markdown | 32 ++++++++++++++----- source/_components/sensor.syncthru.markdown | 2 +- source/_components/sensor.tradfri.markdown | 2 +- source/_components/sensor.upnp.markdown | 2 +- .../switch.acer_projector.markdown | 4 ++- source/_components/switch.upcloud.markdown | 4 ++- .../_components/switch.wake_on_lan.markdown | 2 +- source/_components/upcloud.markdown | 6 +++- source/_components/upnp.markdown | 4 +-- source/_components/wake_on_lan.markdown | 4 ++- source/_components/zeroconf.markdown | 2 +- 21 files changed, 65 insertions(+), 30 deletions(-) diff --git a/source/_components/august.markdown b/source/_components/august.markdown index 2d079065ec7..9231f7d2f13 100644 --- a/source/_components/august.markdown +++ b/source/_components/august.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: august.png -ha_category: Door bell +ha_category: Doorbell ha_release: "0.64" ha_iot_class: "Cloud Polling" --- diff --git a/source/_components/binary_sensor.august.markdown b/source/_components/binary_sensor.august.markdown index 20d2aec19d0..4af76c345bc 100644 --- a/source/_components/binary_sensor.august.markdown +++ b/source/_components/binary_sensor.august.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: august.png -ha_category: Door bell +ha_category: Doorbell ha_release: "0.64" ha_iot_class: "Cloud Polling" --- @@ -20,3 +20,4 @@ If you have August Doorbell, once you have enabled the [August component](/compo * Doorbell ding sensor * Doorbell motion sensor * Doorbell online sensor + diff --git a/source/_components/binary_sensor.upcloud.markdown b/source/_components/binary_sensor.upcloud.markdown index 6cae22e876c..2723cefa5bf 100644 --- a/source/_components/binary_sensor.upcloud.markdown +++ b/source/_components/binary_sensor.upcloud.markdown @@ -15,6 +15,8 @@ ha_iot_class: Cloud Polling The `upcloud` binary sensor platform allows you to monitor your UpCloud servers. +## {% linkable_title Configuration %} + To use your UpCloud servers, you first have to set up your [UpCloud hub](/components/upcloud/) and then add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/digital_ocean.markdown b/source/_components/digital_ocean.markdown index fd5d744376b..c0dc3175c29 100644 --- a/source/_components/digital_ocean.markdown +++ b/source/_components/digital_ocean.markdown @@ -16,11 +16,11 @@ ha_iot_class: "Local Polling" The `digital_ocean` component allows you to access the information about your [Digital Ocean](https://www.digitalocean.com/) droplets from Home Assistant. -### {% linkable_title Setup %} +## {% linkable_title Setup %} Obtain your API key from your [Digital Ocean dashboard](https://cloud.digitalocean.com/settings/api/tokens). -### {% linkable_title Configuration %} +## {% linkable_title Configuration %} To integrate your Digital Ocean droplets with Home Assistant, add the following section to your `configuration.yaml` file: diff --git a/source/_components/doorbird.markdown b/source/_components/doorbird.markdown index 43f30816d94..839a77a2e91 100644 --- a/source/_components/doorbird.markdown +++ b/source/_components/doorbird.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: doorbird.png -ha_category: Hub +ha_category: Doorbell ha_release: "0.54" ha_iot_class: "Local Polling" --- The `doorbird` implementation allows you to integrate your [DoorBird](http://www.doorbird.com/) device in Home Assistant. +## {% linkable_title Configuration %} + To connect your device, add the following to your `configuration.yaml` file: ```yaml @@ -94,4 +96,4 @@ Enabling any monitored condition will delete all registered notification service action: service: light.turn_on entity_id: light.side_entry_porch -``` \ No newline at end of file +``` diff --git a/source/_components/light.blinksticklight.markdown b/source/_components/light.blinksticklight.markdown index d5cc53a99fc..bdd41852704 100644 --- a/source/_components/light.blinksticklight.markdown +++ b/source/_components/light.blinksticklight.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Blinkstick" +title: "Blinkstick Light" description: "Instructions on how to setup Blinkstick lights within Home Assistant." date: 2015-10-08 10:00 sidebar: true diff --git a/source/_components/light.blinkt.markdown b/source/_components/light.blinkt.markdown index 69b72eb1d13..cee02bd7118 100644 --- a/source/_components/light.blinkt.markdown +++ b/source/_components/light.blinkt.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Blinkt!" +title: "Blinkt! Light" description: "Instructions on how to setup Blinkt! RGB LED lights within Home Assistant." date: 2017-04-30 9:00 sidebar: true diff --git a/source/_components/plant.markdown b/source/_components/plant.markdown index 6beaa00557f..df2947e19da 100644 --- a/source/_components/plant.markdown +++ b/source/_components/plant.markdown @@ -8,12 +8,14 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Other +ha_category: Environment ha_release: 0.44 --- This`plant`component lets you merge moisture, conductivity, light intensity, temperature and battery level for a plant into a single UI element. It also supports setting minimum and maximum values for each measurement and will change its state to "problem" if it is not within those limits. +## {% linkable_title Configuration %} + To use your `plant` sensor in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.cert_expiry.markdown b/source/_components/sensor.cert_expiry.markdown index 23682318933..99b0578b76b 100644 --- a/source/_components/sensor.cert_expiry.markdown +++ b/source/_components/sensor.cert_expiry.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: System Monitor +ha_category: Network ha_release: 0.44 ha_iot_class: "depends" --- The `cert_expiry` sensor fetches information from a configured URL and displays the certificate expiry in days. +## {% linkable_title Configuration %} + To add the Certificate Expiry sensor to your installation, add these options to `configuration.yaml` file: ```yaml diff --git a/source/_components/sensor.mold_indicator.markdown b/source/_components/sensor.mold_indicator.markdown index 6b337c6967f..e2d870f7924 100644 --- a/source/_components/sensor.mold_indicator.markdown +++ b/source/_components/sensor.mold_indicator.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Climate +ha_category: Environment ha_release: '0.20' ha_iot_class: "Local Polling" --- diff --git a/source/_components/sensor.swiss_hydrological_data.markdown b/source/_components/sensor.swiss_hydrological_data.markdown index 44f4d6100bd..c6110b8f7c5 100644 --- a/source/_components/sensor.swiss_hydrological_data.markdown +++ b/source/_components/sensor.swiss_hydrological_data.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: swiss-hydrological-data.png -ha_category: Weather +ha_category: Environment ha_iot_class: "Cloud Polling" ha_release: 0.22 --- @@ -19,33 +19,49 @@ ha_release: 0.22 The `swiss_hydrological_data` sensor will show you details (temperature, level, and discharge) of rivers and lakes in Switzerland. +## {% linkable_title Setup %} + The [station overview](http://www.hydrodaten.admin.ch/en/danger-levels-table.html) contains a list of all available measuring points and will help to determine the ID of station which is needed for the configuration. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: swiss_hydrological_data - station: STATION_ID + - platform: swiss_hydrological_data + station: STATION_ID ``` -Configuration variables: - -- **name** (*Optional*): Name to use in the frontend. -- **station** (*Required*): The ID of the measurement point. +{% configuration %} +station: + description: The ID of the measurement point. + required: true + type: string +name: + description: Name to use in the frontend. + required: false + type: string + default: +{% endconfiguration %} The hydrological measurings are coming from the [Swiss Federal Office for the Environment (Bundesamt für Umwelt - Abt. Hydrologie)](http://www.hydrodaten.admin.ch) and are updated almost in real-time. +## {% linkable_title Example %} + This sensor contains additional information which an easily accessed by a [template sensor](/components/sensor.template/). +{% raw %} ```yaml # Example configuration.yaml entry sensor: platform: template sensors: discharge: - value_template: '{% raw %}{{ states.sensor.aare.attributes.Discharge }}{% endraw %}' + value_template: '{{ states.sensor.aare.attributes.Discharge }}' friendly_name: 'Discharge' ``` +{% endraw %} + diff --git a/source/_components/sensor.syncthru.markdown b/source/_components/sensor.syncthru.markdown index 19b2e5d1399..f2238dda257 100644 --- a/source/_components/sensor.syncthru.markdown +++ b/source/_components/sensor.syncthru.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: samsung.png -ha_category: Sensor +ha_category: System Monitor ha_iot_class: "Local Polling" ha_release: 0.66 --- diff --git a/source/_components/sensor.tradfri.markdown b/source/_components/sensor.tradfri.markdown index 98d673d16a6..91827191509 100644 --- a/source/_components/sensor.tradfri.markdown +++ b/source/_components/sensor.tradfri.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "IKEA Trådfri sensor" +title: "IKEA Trådfri Sensor" description: "Access and control your ZigBee-based IKEA Trådfri (Tradfri) Sensors." date: 2017-04-12 22.04 sidebar: true diff --git a/source/_components/sensor.upnp.markdown b/source/_components/sensor.upnp.markdown index c9d31bcca21..027d76d9ede 100644 --- a/source/_components/sensor.upnp.markdown +++ b/source/_components/sensor.upnp.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: upnp.png -ha_category: "Other" +ha_category: Network ha_release: 0.48 ha_iot_class: "Local Polling" --- diff --git a/source/_components/switch.acer_projector.markdown b/source/_components/switch.acer_projector.markdown index 70e1ae5499f..7599cd6d96e 100644 --- a/source/_components/switch.acer_projector.markdown +++ b/source/_components/switch.acer_projector.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: acer.png -ha_category: Switch +ha_category: Multimedia ha_iot_class: "Local Polling" ha_release: 0.19 --- @@ -16,6 +16,8 @@ ha_release: 0.19 The `acer_projector` switch platform allows you to control the state of RS232 connected projectors from [Acer](http://www.acer.com). +## {% linkable_title Configuration %} + To use your Acer Projector in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.upcloud.markdown b/source/_components/switch.upcloud.markdown index 98f45d0e68d..bdd03f6af5e 100644 --- a/source/_components/switch.upcloud.markdown +++ b/source/_components/switch.upcloud.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: upcloud.png -ha_category: Switch +ha_category: System Monitor ha_release: 0.65 ha_iot_class: Cloud Polling --- The `upcloud` switch platform allows you to control (start/stop) your UpCloud servers. +## {% linkable_title Configuration %} + To use your UpCloud servers, you first have to set up your [UpCloud hub](/components/upcloud/) and then add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/switch.wake_on_lan.markdown b/source/_components/switch.wake_on_lan.markdown index 161cfcd1b50..c487c602dac 100644 --- a/source/_components/switch.wake_on_lan.markdown +++ b/source/_components/switch.wake_on_lan.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: ethernet.png -ha_category: Switch +ha_category: Network ha_release: 0.16 ha_iot_class: "Local Polling" --- diff --git a/source/_components/upcloud.markdown b/source/_components/upcloud.markdown index dcb15e41fc4..abd6d945431 100644 --- a/source/_components/upcloud.markdown +++ b/source/_components/upcloud.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -ha_category: Hub +ha_category: System Monitor ha_release: 0.65 logo: upcloud.png ha_iot_class: Cloud Polling @@ -16,8 +16,12 @@ ha_iot_class: Cloud Polling The `upcloud` component allows you to access the information about your [UpCloud](https://www.upcloud.com/) servers from Home Assistant. +## {% linkable_title Setup %} + Set up your API user credentials in your [UpCloud control panel](https://my.upcloud.com/). +## {% linkable_title Configuration %} + To integrate your UpCloud servers with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml diff --git a/source/_components/upnp.markdown b/source/_components/upnp.markdown index 842e3b25ba4..02ba10a72fd 100644 --- a/source/_components/upnp.markdown +++ b/source/_components/upnp.markdown @@ -8,13 +8,13 @@ comments: false sharing: true footer: true logo: upnp.png -ha_category: "Other" +ha_category: Network ha_release: 0.18 --- 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. -The IGD automatically creates port forwarding mappings on your router for Home Assistant, exposing your installation to the internet. The mapping will never automatically expire. Upon stopping Home Assistant, the mapping will be removed from your router. +The IGD automatically creates port forwarding mappings on your router for Home Assistant, exposing your installation to the internet. The mapping will never automatically expire. Upon stopping Home Assistant, the mapping will be removed from your router. Please note that UPnP or NAT-PMP needs to be enabled on your router for this component to work. diff --git a/source/_components/wake_on_lan.markdown b/source/_components/wake_on_lan.markdown index 2f7b1d4532d..93787c4aaef 100644 --- a/source/_components/wake_on_lan.markdown +++ b/source/_components/wake_on_lan.markdown @@ -8,13 +8,15 @@ comments: false sharing: true footer: true logo: ethernet.png -ha_category: Utility +ha_category: Network ha_release: "0.49" ha_iot_class: "Local Push" --- The `wake_on_lan` component enables the ability to send _magic packets_ to [Wake on LAN](https://en.wikipedia.org/wiki/Wake-on-LAN) capable devices, to turn them on. +## {% linkable_title Configuration %} + To use this component in your installation, add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/zeroconf.markdown b/source/_components/zeroconf.markdown index 3d054ea4d59..d1459fdd1b1 100644 --- a/source/_components/zeroconf.markdown +++ b/source/_components/zeroconf.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: avahi.png -ha_category: "Other" +ha_category: Network ha_release: 0.18 --- From 458bcdd73737791065f773173895fea3bf38c16f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 17:07:04 +0200 Subject: [PATCH 127/164] Update category --- source/_components/sensor.miflora.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index 85ad3cd03b5..92d2a4ea4fd 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: miflora.png -ha_category: DIY +ha_category: Environment ha_release: 0.29 ha_iot_class: "Local Polling" --- From cd5f5dc54044269924564523848e959bf658ea1f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 3 Sep 2018 18:48:10 +0200 Subject: [PATCH 128/164] Revert --- source/hassio/installation.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 88aac017cc6..1b17327d575 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -77,14 +77,14 @@ A detailed guide about running Hass.io as a virtual machine is available in the [etcher]: https://etcher.io/ [Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md [hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md -[pi0-w]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi0-w-2.2.img.gz -[pi1]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi-2.2.img.gz -[pi2]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi2-2.2.img.gz -[pi3-32]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi3-2.2.img.gz -[pi3-64]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_rpi3-64-2.2.img.gz +[pi0-w]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi0-w-1.10.img.gz +[pi1]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi-1.10.img.gz +[pi2]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi2-1.10.img.gz +[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi3-1.10.img.gz +[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_rpi3-64-1.10.img.gz [tinker]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_tinker-2.2.img.gz [odroid-c2]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_odroid-c2-2.2.img.gz -[vmdk]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_ova-2.2.vmdk.gz +[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.10/hassos_ova-1.10.vmdk.gz [linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio [local]: http://hassio.local:8123 [samba]: /addons/samba/ From eda7b8ce9dcf9fadb251c58e6a4a14d0cddf1b30 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Sep 2018 22:29:00 +0200 Subject: [PATCH 129/164] Update link --- source/_docs/configuration/securing.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/configuration/securing.markdown b/source/_docs/configuration/securing.markdown index 4ed3e20243e..664acbe217b 100644 --- a/source/_docs/configuration/securing.markdown +++ b/source/_docs/configuration/securing.markdown @@ -14,7 +14,7 @@ One major advantage of Home Assistant is that it's not dependent on cloud servic ### {% linkable_title Checklist %} -- [Protect your web interface with a password](/getting-started/basic/#password-protecting-the-web-interface) +- [Choose a strong password](/docs/authentication/). - Secure your host. Sources could be [Red Hat Enterprise Linux 7 Security Guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf), [CIS Red Hat Enterprise Linux 7 Benchmark](https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf), or the [Securing Debian Manual](https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html). - Restrict network access to your devices. Set `PermitRootLogin no` in your sshd config (usually `/etc/ssh/sshd_config`) and to use SSH keys for authentication instead of passwords. - Don't run Home Assistant as root – consider the Principle of Least Privilege. From f1c91676f6a82c83396344234713d30c3702eac8 Mon Sep 17 00:00:00 2001 From: "Andrey Mikhaylov (lolmaus)" Date: Tue, 4 Sep 2018 09:50:05 +0300 Subject: [PATCH 130/164] Added Razberry Board to supported devices table (#6193) since it already has it's own support page --- source/_docs/z-wave/controllers.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index fdaac560c3c..128b122649b 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -24,6 +24,7 @@ You need to have a [supported Z-Wave USB stick or module](https://github.com/Ope | Sigma Designs UZB Stick | | | | | Tricklestar | | | | | Vision USB Stick | | | | +| ZWave.me Razberry Board | ✓ | | | | ZWave.me UZB1 | ✓ | | |

From 5966611f26fe1888f000264829bbfc3eb5374473 Mon Sep 17 00:00:00 2001 From: jma89 Date: Tue, 4 Sep 2018 02:51:01 -0400 Subject: [PATCH 131/164] Clarify MQTT Advanced Configuration (#6192) Properly describe the flag that needs to be changed and provide additional info on where the .conf files need to live. (Information that took me far longer than necessary to figure out.) --- source/_addons/mosquitto.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_addons/mosquitto.markdown b/source/_addons/mosquitto.markdown index 2150b1a3080..70f591520c0 100644 --- a/source/_addons/mosquitto.markdown +++ b/source/_addons/mosquitto.markdown @@ -89,10 +89,11 @@ See the following links for more information: Add the following configuration to enable ACLs: -1. Set `customize` flag to `true` in your configuration. +1. Set the `active` flag within the `customize` section to `true` in your configuration. 2. Create a file in `/share/mosquitto` named `acl.conf` with the following contents: - ```text acl_file /share/mosquitto/accesscontrollist ``` 3. Create a file in `/share/mosquitto` named `accesscontrollist` and add contents according to your requirements. + +The `/share` folder can be found on the host filesystem under `/usr/share/hassio/share`, or via the `Share` folder through SMB (Samba). From 53c82a60675196bde2dd45e89ce2a70fa55c981a Mon Sep 17 00:00:00 2001 From: DubhAd Date: Tue, 4 Sep 2018 07:53:31 +0100 Subject: [PATCH 132/164] For the updates to the customize docs (#6188) For the updates to the customize docs, to explain how to change an entity ID --- source/images/frontend/entity_box.png | Bin 0 -> 351 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/frontend/entity_box.png diff --git a/source/images/frontend/entity_box.png b/source/images/frontend/entity_box.png new file mode 100644 index 0000000000000000000000000000000000000000..8336a978d985f1708815d427acee02f032a271f4 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|wj^(N7l!{JxM1({$v_d#0*}aI z1_nK45N51cYF`EvWH0gbb!C6V$t=pKupxEr5}=S|iEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8f1XPZ!4!i_>c_+h;L3iX8uVUdlU|MeNEUC+U;Edm5j~%{!px z9=Lu2^AoxVC!{2KwKgYF6PMfh~Zf2#}cDa&`PVdg8 z+;9zj{e&~Sr(WMmx2t`^`E3hq8fp>+zpda*X%6I^`S`{ajTV_CkJ!Z$n+|Bo^-c-2 zXIz|y=(@5#c2-Z#aeLLn p)@ Date: Tue, 4 Sep 2018 07:54:35 +0100 Subject: [PATCH 133/164] Reworking the customize docs (#6189) Reworking the customize docs: 1. Add information on using the UI to change the entity ID and name (where supported) 2. Document the use of the UI to customize 3. Rewrite the configuration block to use the new configuration block standard 4. Move the manual editing section towards the end [This change](https://github.com/home-assistant/home-assistant.io/pull/6188) provides the image referenced --- .../customizing-devices.markdown | 103 +++++++++++++----- 1 file changed, 78 insertions(+), 25 deletions(-) diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index a3dc6cc91a3..8de3aa169e0 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -10,8 +10,86 @@ footer: true redirect_from: /getting-started/customizing-devices/ --- +## {% linkable_title Changing the entity_id %} + +You can use the UI to change the `entity_id` and friendly name of supported entities. To do this: + +1. Select the entity, either from or from the frontend, or by clicking next to the entity in the dev-states menu +2. Click on the cog in the right corner of the entity's dialog +3. Enter the new name or the new entity ID (remember not to change the domain of the entity - the part before the `.`) +4. Select *Save* + +## {% linkable_title Customizing entities %} + By default, all of your devices will be visible and have a default icon determined by their domain. You can customize the look and feel of your front page by altering some of these parameters. This can be done by overriding attributes of specific entities. +### {% linkable_title Customization using the UI %} + +Under the *Configuration* menu you'll find the *Customization* menu. When you select an entity to customize, you'll see all the existing attributes listed and you can customize those, or select an additional supported attribute ([see below](/docs/configuration/customizing-devices/#possible-values)). + +#### {% linkable_title Possible values %} + +{% configuration customize %} +friendly_name: + description: Name of the entity as displayed in the UI. + required: false + type: string +homebridge_name: + description: Name of the entity in `HomeBridge`. + required: false + type: string +hidden: + description: Set to `true` to hide the entity. + required: false + type: boolean + default: False +homebridge_hidden: + description: Set to `true` to hide the entity from `HomeBridge`. + required: false + type: boolean + default: False +emulated_hue_hidden: + description: Set to `true` to hide the entity from `emulated_hue` (this will be deprecated in the near future and should be configured in [`emulated_hue`](/components/emulated_hue)). + required: false + type: boolean + default: False +entity_picture: + description: URL to use as picture for entity. + required: false + type: string +icon: + description: Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://materialdesignicons.com/cheatsheet)). Prefix name with `mdi:`, ie `mdi:home`. + required: false + type: string +assumed_state: + description: For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon. + required: false + type: boolean + default: True +device_class: + description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). + required: false + type: boolean +initial_state: + description: Sets the initial state for automations, `on` or `off`. + required: false + type: string +unit_of_measurement: + description: Defines the units of measurement, if any. + required: false + type: string +{% endconfiguration %} + +#### {% linkable_title Device Class %} + +Device class is currently supported by the following components: + +* [Binary Sensor](/components/binary_sensor/) +* [Sensor](/components/sensor/) +* [Cover](/components/cover/) + +### {% linkable_title Manual customization %} +

If you implement `customize`, `customize_domain`, or `customize_glob` you must make sure it is done inside of `homeassistant:` or it will fail.

@@ -53,30 +131,6 @@ homeassistant: homebridge_hidden: true ``` -### {% linkable_title Possible values %} - -| Attribute | Description | -| --------- | ----------- | -| `friendly_name` | Name of the entity. -| `homebridge_name` | Name of the entity in `HomeBridge`. -| `hidden` | Set to `true` to hide the entity. -| `homebridge_hidden` | Set to `true` to hide the entity from `HomeBridge`. -| `emulated_hue_hidden` | Set to `true` to hide the entity from `emulated_hue` (this will be deprecated in the near future and should be configured in [`emulated_hue`](/components/emulated_hue)). -| `entity_picture` | Url to use as picture for entity. -| `icon` | Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://materialdesignicons.com/cheatsheet)). Prefix name with `mdi:`, ie `mdi:home`. -| `assumed_state` | For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon. -| `device_class` | Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). -| `initial_state` | Sets the initial state for automations. `on` or `off`. -| `unit_of_measurement` | Defines the units of measurement, if any. - -### {% linkable_title Device Class %} - -Device class is currently supported by the following components: - -* [Binary Sensor](/components/binary_sensor/) -* [Sensor](/components/sensor/) -* [Cover](/components/cover/) - ### {% linkable_title Reloading customize %} Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change your customize section and see it being applied without having to restart Home Assistant. To call this service, go to the service developer tool icon service developer tools, select the service `homeassistant.reload_core_config` and click "CALL SERVICE". @@ -84,4 +138,3 @@ Home Assistant offers a service to reload the core configuration while Home Assi

New customize information will be applied the next time the state of the entity gets updated.

- From e2dcd24aabc00467cb706878d3ba5f0d9a13538b Mon Sep 17 00:00:00 2001 From: Charles Garwood Date: Tue, 4 Sep 2018 03:24:27 -0400 Subject: [PATCH 134/164] Update note about default auth_providers (#6184) * Update note about default auth_providers Update the warning note to specify that HA automatically configures auth_providers, and manually specifying auth_providers in configuration.yaml can cause issues * Minor changes --- source/_docs/authentication/providers.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown index b672beb0967..728ecb58b2d 100644 --- a/source/_docs/authentication/providers.markdown +++ b/source/_docs/authentication/providers.markdown @@ -27,7 +27,7 @@ To make the transition from API password to authentication system easier, we've ## {% linkable_title Configuring auth providers %}

-By configuring your own instead of using the default configuration, you take full responsibility for the authentication of the system. +Home Assistant automatically configures the standard auth providers and you **do not** need to specify `auth_providers` in your `configuration.yaml` file. Specifying `auth_providers` in your configuration will disable all auth providers that are not listed and can reduce your security or create difficulties logging in.

Authentication providers are configured in your `configuration.yaml` under the `homeassistant:` block: From 02f5a1eca7bf402a4a7707c9e6657b786d693f2b Mon Sep 17 00:00:00 2001 From: Alexander Date: Tue, 4 Sep 2018 13:25:01 +0600 Subject: [PATCH 135/164] return_to_home -> return_to_base (#6185) --- source/_components/vacuum.xiaomi_miio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/vacuum.xiaomi_miio.markdown b/source/_components/vacuum.xiaomi_miio.markdown index 3adcbc43c45..5864b32bffb 100644 --- a/source/_components/vacuum.xiaomi_miio.markdown +++ b/source/_components/vacuum.xiaomi_miio.markdown @@ -48,7 +48,7 @@ Configuration variables: ## {% linkable_title Platform Services %} -In addition to all of the services provided by the `vacuum` component (`start`, `pause`, `stop`, `return_to_home`, `locate`, `set_fan_speed` and `send_command`), the `xiaomi` platform introduces specific services to access the remote control mode of the robot. These are: +In addition to all of the services provided by the `vacuum` component (`start`, `pause`, `stop`, `return_to_base`, `locate`, `set_fan_speed` and `send_command`), the `xiaomi` platform introduces specific services to access the remote control mode of the robot. These are: - `xiaomi_remote_control_start` - `xiaomi_remote_control_stop` From d5c4ec7e304a914e3128f4cb9a8a44cfa4e922e7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 4 Sep 2018 10:59:49 +0200 Subject: [PATCH 136/164] Update category and other minor changes --- source/_components/apcupsd.markdown | 20 +++++++++++++++----- source/_components/apple_tv.markdown | 2 +- source/_components/axis.markdown | 6 +++--- source/_components/bloomsky.markdown | 15 +++++++++++---- source/_components/camera.bloomsky.markdown | 2 ++ source/_components/eufy.markdown | 18 +++++++++++------- source/_components/microsoft_face.markdown | 6 +++++- source/_components/sensor.bloomsky.markdown | 2 ++ 8 files changed, 50 insertions(+), 21 deletions(-) diff --git a/source/_components/apcupsd.markdown b/source/_components/apcupsd.markdown index fd25d00d0d5..44265218d24 100644 --- a/source/_components/apcupsd.markdown +++ b/source/_components/apcupsd.markdown @@ -8,12 +8,14 @@ comments: false sharing: true footer: true logo: apcupsd.png -ha_category: Hub +ha_category: System Monitor ha_release: 0.13 --- [APCUPSd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) is enabled on the APC device. +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml`: ```yaml @@ -21,8 +23,16 @@ To enable this sensor, add the following lines to your `configuration.yaml`: apcupsd: ``` -Configuration variables: - -- **host** (*Optional*): The hostname/IP address on which the APCUPSd NIS is being served. Defaults to `localhost`. -- **port** (*Optional*): The port on which the APCUPSd NIS is listening. Defaults to `3551`. +{% configuration %} +host: + description: The hostname/IP address on which the APCUPSd NIS is being served. + required: false + type: string + default: localhost +port: + description: The port on which the APCUPSd NIS is listening. + required: false + type: int + default: 3551 +{% endconfiguration %} diff --git a/source/_components/apple_tv.markdown b/source/_components/apple_tv.markdown index 93d192a00c2..e9008af6385 100644 --- a/source/_components/apple_tv.markdown +++ b/source/_components/apple_tv.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: apple.png -ha_category: Hub +ha_category: Multimedia ha_iot_class: "Local Push" ha_release: 0.49 --- diff --git a/source/_components/axis.markdown b/source/_components/axis.markdown index 6f9a2cc4826..6662b55300a 100644 --- a/source/_components/axis.markdown +++ b/source/_components/axis.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: axis.png -ha_category: Hub +ha_category: Camera ha_release: "0.45" ha_iot_class: "Local Polling" --- @@ -17,6 +17,8 @@ ha_iot_class: "Local Polling" Home Assistant will automatically discover their presence on your network. +## {% linkable_title Configuration %} + You can also manually configure your devices by adding the following lines to your `configuration.yaml` file: ```yaml @@ -28,8 +30,6 @@ axis: - camera ``` -Configuration variables: - ## {% linkable_title Configuration variables %} - **device** (*Required*): Unique name diff --git a/source/_components/bloomsky.markdown b/source/_components/bloomsky.markdown index 620b390e69b..1139ee7a9ad 100644 --- a/source/_components/bloomsky.markdown +++ b/source/_components/bloomsky.markdown @@ -8,15 +8,19 @@ comments: false sharing: true footer: true logo: bloomsky.png -ha_category: Hub +ha_category: Environment ha_release: 0.14 ha_iot_class: "Cloud Polling" --- 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. +## {% linkable_title Setup %} + Obtain your API key from your [BloomSky dashboard](https://dashboard.bloomsky.com). Click `developers` in the bottom left of the screen. +## {% linkable_title Configuration %} + To integrate your BloomSky hub with Home Assistant, add the following section to your `configuration.yaml` file: ```yaml @@ -25,6 +29,9 @@ bloomsky: api_key: YOUR_API_KEY ``` -Configuration variables: - -- **api_key** (*Required*): Your BloomSky API key. +{% configuration %} +api_key: + description: Your BloomSky API key. + required: true + type: string +{% endconfiguration %} diff --git a/source/_components/camera.bloomsky.markdown b/source/_components/camera.bloomsky.markdown index bd6f8a58b9e..6c600b20a84 100644 --- a/source/_components/camera.bloomsky.markdown +++ b/source/_components/camera.bloomsky.markdown @@ -16,6 +16,8 @@ ha_iot_class: "Local Polling" The `bloomsky` camera component allows you to view the current photo created by the camera in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with [BloomSky sensors](/components/sensor.bloomsky). +## {% linkable_title Configuration %} + To enable this camera in your installation, set up the [BloomSky component](/components/bloomsky) with your API key and add the following to your `configuration.yaml` file: ```yaml diff --git a/source/_components/eufy.markdown b/source/_components/eufy.markdown index 60ec2a470dd..e2c00424fd5 100644 --- a/source/_components/eufy.markdown +++ b/source/_components/eufy.markdown @@ -38,17 +38,21 @@ eufy: name: Smart Switch ``` -access_token can be obtained by running: +`access_token can be obtained by running: -``` -curl -H "Content-Type: application/json" -d '{"client_id":"eufyhome-app", "client_Secret":"GQCpr9dSp3uQpsOMgJ4xQ", "email":"USERNAME", "password":"PASSWORD"}' https://home-api.eufylife.com/v1/user/email/login | jq +```bash +$ curl -H "Content-Type: application/json" \ + -d '{"client_id":"eufyhome-app", "client_Secret":"GQCpr9dSp3uQpsOMgJ4xQ", "email":"USERNAME", "password":"PASSWORD"}' \ + https://home-api.eufylife.com/v1/user/email/login \ + | jq ``` -replacing USERNAME and PASSWORD with the Eufy username and password. This will give an access_token. Then run: +replacing USERNAME and PASSWORD with the Eufy username and password. This will give an `access_token`. Then run: -``` -curl -H token:TOKEN -H category:Home https://home-api.eufylife.com/v1/device/list/devices-and-groups | jq +```bash +$ curl -H token:TOKEN -H category:Home \ + https://home-api.eufylife.com/v1/device/list/devices-and-groups | jq ``` -replacing TOKEN with the access_token from the previous command. This will provide the local_code for each device. +replacing TOKEN with the `access_token` from the previous command. This will provide the local_code for each device. diff --git a/source/_components/microsoft_face.markdown b/source/_components/microsoft_face.markdown index d7d8cdc7ed0..2d9cb4318f4 100644 --- a/source/_components/microsoft_face.markdown +++ b/source/_components/microsoft_face.markdown @@ -8,14 +8,18 @@ comments: false sharing: true footer: true logo: microsoft.png -ha_category: Hub +ha_category: Image Processing ha_release: "0.37" --- The `microsoft_face` component platform is the main component for Microsoft Azure Cognitive service [Face](https://www.microsoft.com/cognitive-services/en-us/face-api). All data are stored in your own private instance in the Azure cloud. +## {% linkable_title Setup %} + You need an API key, which is free, but requires an [Azure registration](https://azure.microsoft.com/de-de/free/) using your Microsoft ID. The free resource (*F0*) is limited to 20 requests per minute and 30k requests in a month. If you don't want to use the Azure cloud, you can also get an API key by registering with [cognitive-services](https://www.microsoft.com/cognitive-services/en-us/subscriptions). Please note that all keys on cognitive services must be recreated every 90 days. +## {% linkable_title Configuration %} + To enable the Microsoft Face component, add the following to your `configuration.yaml`: ```yaml diff --git a/source/_components/sensor.bloomsky.markdown b/source/_components/sensor.bloomsky.markdown index 61b850de1e1..d2e1ca31a50 100644 --- a/source/_components/sensor.bloomsky.markdown +++ b/source/_components/sensor.bloomsky.markdown @@ -16,6 +16,8 @@ ha_iot_class: "Cloud Polling" The `bloomsky` sensor component allows you to view the measurements made by sensors in the [BloomSky](https://www.bloomsky.com) weather station. This can work in concert with the [BloomSky camera](/components/camera.bloomsky). +## {% linkable_title Configuration %} + To enable these sensors in your installation, set up the [BloomSky component](/components/bloomsky) with your API key add the following to your `configuration.yaml` file: ```yaml From 7eb35fcac71ba53768413eccb27b6d68992577d5 Mon Sep 17 00:00:00 2001 From: itineric <35140497+itineric@users.noreply.github.com> Date: Tue, 4 Sep 2018 11:04:15 +0200 Subject: [PATCH 137/164] Add missing color_state_address (#6194) --- source/_components/light.knx.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/light.knx.markdown b/source/_components/light.knx.markdown index 5587f134ecc..4e0e7560801 100644 --- a/source/_components/light.knx.markdown +++ b/source/_components/light.knx.markdown @@ -37,6 +37,7 @@ Configuration variables: - **state_address** (*Optional*): separate KNX group address for retrieving the switch state of the light. - **brightness_state_address** (*Optional*): separate KNX group address for retrieving the dimmed state of the light. - **color_address** (*Optional*): separate KNX group address for setting the color of the light. +- **color_state_address** (*Optional*): separate KNX group address for retrieving the color of the light. Some KNX devices can change their state internally without any messages on the KNX bus, e.g., if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object. For switching/light actuators that are only controlled by a single group address and can't change their state internally, you don't have to configure the state address. From ae19e9e8db12209cb2d7a131678dddb9da60c9f8 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 4 Sep 2018 14:55:32 +0200 Subject: [PATCH 138/164] Remove reference to HASS alexa skill via website --- source/cloud/alexa.markdown | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/source/cloud/alexa.markdown b/source/cloud/alexa.markdown index 7e140825afd..8e90a4d8eef 100644 --- a/source/cloud/alexa.markdown +++ b/source/cloud/alexa.markdown @@ -10,13 +10,13 @@ footer: true redirect_from: /components/cloud.alexa/ --- -The Alexa integration allows users to control the entities via the [Home Assistant Smart Home skill for Alexa][alexa skill]. This means that you can say things like "Alexa, turn on the kitchen light" to control your local Home Assistant. +The Alexa integration allows users to control the entities via the Home Assistant Smart Home skill for Alexa. This means that you can say things like "Alexa, turn on the kitchen light" to control your local Home Assistant. To use this integration, you need to have: - The cloud component set up. [Learn more](/components/cloud/) - An Alexa enabled device like the Amazon Echo - - Activated the [Home Assistant Smart Home skill for Alexa][alexa skill] + - Activated the Home Assistant Smart Home skill via the Alexa app You can use `configuration.yaml` to configure the entities that are being shown to Alexa and how they are exposed. @@ -110,5 +110,3 @@ Currently, the following domains are available to be used with Alexa: - scene - script (enables/disables) - switch - -[alexa skill]: https://alexa.amazon.com/spa/index.html#skills/dp/B0772J1QKB/?ref=skill_dsk_skb_sr_2 From 90246b21673c1d3d4127b86abab52265c5d729da Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 4 Sep 2018 15:08:39 +0200 Subject: [PATCH 139/164] Remove duplicate content --- source/_components/climate.daikin.markdown | 6 +----- source/_components/daikin.markdown | 18 +++++++++--------- source/_components/sensor.daikin.markdown | 11 ++--------- 3 files changed, 12 insertions(+), 23 deletions(-) diff --git a/source/_components/climate.daikin.markdown b/source/_components/climate.daikin.markdown index 2201872a15b..904b3e5fa13 100644 --- a/source/_components/climate.daikin.markdown +++ b/source/_components/climate.daikin.markdown @@ -23,11 +23,7 @@ The `daikin` climate platform integrates Daikin air conditioning systems into Ho Current temperature is displayed. -

-Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant. BRP069A42 does not support setting of fan speed or fan swing mode. -

- -The platform has been integrated with discovery so all your Daikin AC's climate devices can be automatically discovered. +## {% linkable_title Configuration %} To enable the platform, add the following lines to your `configuration.yaml` file: diff --git a/source/_components/daikin.markdown b/source/_components/daikin.markdown index 84624b5af04..d4b25765958 100644 --- a/source/_components/daikin.markdown +++ b/source/_components/daikin.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: daikin.png -ha_category: Hub +ha_category: Climate ha_release: 0.59 ha_iot_class: "Local Polling" --- @@ -16,11 +16,15 @@ ha_iot_class: "Local Polling" The `daikin` component integrates Daikin air conditioning systems into Home Assistant. -To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your 'configuration.yaml' file: +## {% linkable_title Supported hardware %} -

-Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant. -

+**Only** the european versions of Daikin ACs (models BRP069A41, 42, 43, 45). + +The model BRP069A42 does not support setting of fan speed or fan swing mode. + +Please note that some AC devices may report outside temperature only when they are turned on. + +## {% linkable_title Configuration %} To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your `configuration.yaml` file: @@ -52,7 +56,3 @@ monitored_conditions: description: The current temperature measured outside the house. {% endconfiguration %} -

-Please note that some AC devices may report outside temperature only when they are turned on. -

- diff --git a/source/_components/sensor.daikin.markdown b/source/_components/sensor.daikin.markdown index 250da44a727..5d9ba959592 100644 --- a/source/_components/sensor.daikin.markdown +++ b/source/_components/sensor.daikin.markdown @@ -16,12 +16,8 @@ ha_iot_class: "Local Polling" The `daikin` sensor platform integrates Daikin air conditioning systems into Home Assistant, enabling displaying the following parameters: -- **inside temperature** -- **outside temperature** - -

-Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant. -

+- Inside temperature +- Outside temperature ## {% linkable_title Configuration %} @@ -54,6 +50,3 @@ monitored_conditions: description: The current temperature measured outside the house. {% endconfiguration %} -

- Please note that some AC devices may report outside temperature only when they are turned on. -

From bec5ecc5ba39ee38031f64fd44def9e22fb5af36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Tue, 4 Sep 2018 21:40:59 +0200 Subject: [PATCH 140/164] Clarify what components work with weather-card (#6195) * Clarify what components work with weather-card The weathe card only works with weather components, not weather sensors - a fact that seems to be causing a bit of confusion judging from the frequent questions on discord. I know it took me a while to figure out... I hope I used the correct nomenclature. * Minor fixes. --- source/_lovelace/weather-forecast.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_lovelace/weather-forecast.markdown b/source/_lovelace/weather-forecast.markdown index b92588bd2c2..c636319db9a 100644 --- a/source/_lovelace/weather-forecast.markdown +++ b/source/_lovelace/weather-forecast.markdown @@ -34,3 +34,9 @@ entity: - type: weather-forecast entity: weather.demo_weather_north ``` + +

+ This card works only with platforms that define a `weather` entity. + + E.g., it works with [Dark Sky](https://www.home-assistant.io/components/weather.darksky/) but not [Dark Sky Sensor](https://www.home-assistant.io/components/sensor.darksky/) +

From bb68802e9b7cbebd37f5036035f5b4ed41d813d6 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Wed, 5 Sep 2018 06:50:50 +0100 Subject: [PATCH 141/164] Making title linkable (#6198) --- source/_docs/autostart/systemd.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/autostart/systemd.markdown b/source/_docs/autostart/systemd.markdown index 17211e5ed9d..6b43b19c2e1 100644 --- a/source/_docs/autostart/systemd.markdown +++ b/source/_docs/autostart/systemd.markdown @@ -78,7 +78,7 @@ ExecStopPost=/usr/bin/docker rm -f home-assistant-%i WantedBy=multi-user.target ``` -### Next Steps +### {% linkable_title Next Steps %} You need to reload `systemd` to make the daemon aware of the new configuration. From 3530b131e2b0c28854bf4ada9e2ab66f1ac6179c Mon Sep 17 00:00:00 2001 From: DubhAd Date: Wed, 5 Sep 2018 06:51:21 +0100 Subject: [PATCH 142/164] Trying to direct people away from this (#6197) Given the pain that uninformed people run into with a non-venv install, trying to push people towards the venv installs. --- source/_docs/installation/python.markdown | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/source/_docs/installation/python.markdown b/source/_docs/installation/python.markdown index a7dda882e25..7f8c01ad421 100644 --- a/source/_docs/installation/python.markdown +++ b/source/_docs/installation/python.markdown @@ -10,6 +10,10 @@ footer: true redirect_from: /getting-started/installation-python/ --- +

+If you're running a Linux-based platform, we strongly recommend you follow the instructions for a [virtual environment](/docs/installation/virtualenv/) instead. If you're running on Windows then [see here](/docs/installation/windows/#installing-in-a-python-virtual-environment) instead. +

+ Once Python is installed, execute the following code in a console: ```bash @@ -22,12 +26,10 @@ Running these commands will: - Install Home Assistant - Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123) -If you're running a Linux-based platform, we suggest you follow the instructions for a [virtual environment](/docs/installation/virtualenv/) to avoid using `root`. - Video tutorials of this process for various operating systems are available here: - [Windows 10](https://www.youtube.com/watch?v=X27eVvuqwnY) - [macOS](https://www.youtube.com/watch?v=hej6ipN86ls) - [Ubuntu 14.04](https://www.youtube.com/watch?v=SXaAG1lGNH0) -Keep in mind that the used operating systems and the shown software releases may be outdated. +Keep in mind that the operating systems used and the software releases shown may be outdated. From 426d08b5a992a5508391aa2c9069621c4119e329 Mon Sep 17 00:00:00 2001 From: Paul Annekov Date: Wed, 5 Sep 2018 12:12:15 +0300 Subject: [PATCH 143/164] Fixed branches definition in PR template (#6199) * fixed pull request template branches definition * Improve the change --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index bfbe7bd2c02..9938ea6ddb2 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,7 +5,7 @@ ## Checklist: -- [ ] Branch: Fixes, changes and adjustments should be created against `current`. New documentation for platforms/components and features should go to `next`. +- [ ] Branch: `next` is for changes and new documentation that will go public with the next [home-assistant](https://github.com/home-assistant/home-assistant) release. Fixes, changes and adjustments for the current release should be created against `current`. - [ ] The documentation follow the [standards][standards]. [standards]: https://home-assistant.io/developers/documentation/standards/ From 825a067ec51ea3f80d0d4da559d0fba53993d898 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 5 Sep 2018 12:42:36 +0200 Subject: [PATCH 144/164] Update KNX docs --- source/_components/knx.markdown | 23 +++++++++++------------ source/_components/light.knx.markdown | 5 ++++- source/_components/notify.knx.markdown | 7 ++++++- source/_components/scene.knx.markdown | 9 ++++++--- source/_components/sensor.knx.markdown | 23 ++++++++++++++++++----- source/_components/switch.knx.markdown | 11 +++++++---- 6 files changed, 52 insertions(+), 26 deletions(-) diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown index 89e9a0c4129..802b288f4c2 100644 --- a/source/_components/knx.markdown +++ b/source/_components/knx.markdown @@ -33,7 +33,7 @@ There is currently support for the following device types within Home Assistant: - [Notify](/components/notify.knx) - [Scene](/components/scene.knx) -### {% linkable_title Configuration %} +## {% linkable_title Configuration %} To use your KNX in your installation, add the following lines to your `configuration.yaml` file: @@ -77,8 +77,8 @@ knx: ```yaml knx: - fire_event: True - fire_event_filter: ["1/0/*", "6/2,3,4-6/*"] + fire_event: True + fire_event_filter: ["1/0/*", "6/2,3,4-6/*"] ``` - **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus @@ -105,21 +105,20 @@ KNX component is able to expose time or sensor values to KNX bus. The component ```yaml # Example configuration.yaml entry knx: - expose: - - type: 'temperature' - entity_id: 'sensor.owm_temperature' - address: '0/0/2' - - type: 'time' - address: '0/0/1' - - type: 'datetime' - address: '0/0/23' + expose: + - type: 'temperature' + entity_id: 'sensor.owm_temperature' + address: '0/0/2' + - type: 'time' + address: '0/0/1' + - type: 'datetime' + address: '0/0/23' ``` * **type**: Type of the exposed value. Either time or datetime or any supported type of [KNX Sensor](/components/sensor.knx/) (e.g., "temperature" or "humidity"). * **entity_id**: Entity id of the HASS component to be exposed. Not necessary for types time and datetime. * **address**: KNX group address. - ### {% linkable_title Known issues %} Due to lame multicast support the routing abstraction and the gateway scanner only work with Python >=3.5. diff --git a/source/_components/light.knx.markdown b/source/_components/light.knx.markdown index 4e0e7560801..4a229b62586 100644 --- a/source/_components/light.knx.markdown +++ b/source/_components/light.knx.markdown @@ -18,6 +18,8 @@ The `knx` light component is used as in interface to switching/light actuators. The `knx` component must be configured correctly, see [KNX Component](/components/knx). +## {% linkable_title Configuration %} + To use your KNX light in your installation, add the following lines to your `configuration.yaml` file: ```yaml @@ -31,8 +33,8 @@ light: Configuration variables: +- **address** (*Required*): KNX group address for switching the light on and off. - **name** (*Optional*): A name for this device used within Home Assistant. -- **address**: KNX group address for switching the light on and off. - **brightness_address** (Optional): KNX group address for dimming light. - **state_address** (*Optional*): separate KNX group address for retrieving the switch state of the light. - **brightness_state_address** (*Optional*): separate KNX group address for retrieving the dimmed state of the light. @@ -41,3 +43,4 @@ Configuration variables: Some KNX devices can change their state internally without any messages on the KNX bus, e.g., if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object. For switching/light actuators that are only controlled by a single group address and can't change their state internally, you don't have to configure the state address. + diff --git a/source/_components/notify.knx.markdown b/source/_components/notify.knx.markdown index 78945fc3761..4e81f1e2362 100644 --- a/source/_components/notify.knx.markdown +++ b/source/_components/notify.knx.markdown @@ -17,6 +17,8 @@ The `knx` notify platform allows you to send notifications to [KNX](http://www.k The `knx` component must be configured correctly, see [KNX Component](/components/knx). +## {% linkable_title Configuration %} + To use your KNX switch in your installation, add the following lines to your `configuration.yaml` file: ```yaml @@ -26,5 +28,8 @@ notify: address: '5/1/10' ``` +Configuration variables: + +* **address** (*Required*): KNX group address of the notification. * **name** (*Optional*): A name for this device used within Home Assistant. -* **address**: KNX group address of the notification + diff --git a/source/_components/scene.knx.markdown b/source/_components/scene.knx.markdown index e77b6571811..c9752de20c3 100644 --- a/source/_components/scene.knx.markdown +++ b/source/_components/scene.knx.markdown @@ -16,6 +16,10 @@ The `knx` scenes platform allows you to trigger [KNX](http://www.knx.org) scenes The `knx` component must be configured correctly, see [KNX Component](/components/knx). +## {% linkable_title Configuration %} + +To use your KNX scence in your installation, add the following to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry scene: @@ -27,8 +31,7 @@ scene: Configuration variables: +- **address** (*Required*): KNX group address of the binary sensor. +- **scene_number** (*Required*): KNX scene number to be activated. - **name** (*Optional*): A name for this device used within Home Assistant. -- **address**: KNX group address of the binary sensor. -- **scene_number** KNX scene number to be activated. - diff --git a/source/_components/sensor.knx.markdown b/source/_components/sensor.knx.markdown index f7e78920229..6e0921c341a 100644 --- a/source/_components/sensor.knx.markdown +++ b/source/_components/sensor.knx.markdown @@ -17,8 +17,26 @@ The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensor The `knx` component must be configured correctly, see [KNX Component](/components/knx). +## {% linkable_title Configuration %} + To use your KNX sensor in your installation, add the following lines to your `configuration.yaml` file: +```yaml +# Example configuration.yaml entry +sensor: + - platform: knx + name: Heating.Valve1 + address: '2/0/0' +``` + + + +- **address** (*Required*): KNX group address of the sensor. +- **name** (*Optional*): A name for this device used within Home Assistant. +- **type** (*Optional*): "percent", "temperature", "humidity", "illuminance", "brightness", "speed_ms", "current", "power", "electric_current", "electric_potential", "energy", "frequency", "heatflowrate", "phaseanglerad", "phaseangledeg", "powerfactor" or "speed". + +## {% linkable_title Full example %} + ```yaml # Example configuration.yaml entry sensor: @@ -31,8 +49,3 @@ sensor: address: '6/2/1' type: 'temperature' ``` - -- **name** (*Optional*): A name for this device used within Home Assistant. -- **address**: KNX group address of the sensor. -- **type** (Optional): "percent", "temperature", "humidity", "illuminance", "brightness", "speed_ms", "current", "power", "electric_current", "electric_potential", "energy", "frequency", "heatflowrate", "phaseanglerad", "phaseangledeg", "powerfactor" or "speed". - diff --git a/source/_components/switch.knx.markdown b/source/_components/switch.knx.markdown index dbddf761518..92c04b6e4c2 100644 --- a/source/_components/switch.knx.markdown +++ b/source/_components/switch.knx.markdown @@ -18,6 +18,8 @@ The `knx` switch component is used as in interface to switching actuators. The `knx` component must be configured correctly, see [KNX Component](/components/knx). +## {% linkable_title Configuration %} + To use your KNX switch in your installation, add the following to your `configuration.yaml` file: ```yaml @@ -26,12 +28,13 @@ switch: name: Kitchen.Coffee address: '1/1/6' ``` + +Configuration variables: + +* **address** (*Required*): KNX group address for switching the switch on/off. * **name** (*Optional*): A name for this device used within Home Assistant. -* **address**: KNX group address for switching the switch on/off -* **state_address**: (*Optional*) separate KNX group address for retrieving the switch state. +* **state_address** (*Optional*): separate KNX group address for retrieving the switch state. Some KNX devices can change their state internally without any messages on the KNX bus, e.g., if you configure a timer on a channel. The optional `state_address` can be used to inform Home Assistant about these state changes. If a KNX message is seen on the bus addressed to the given state address, this will overwrite the state of the switch object. For switching actuators that are only controlled by a single group address and can't change their state internally, you don't have to configure the state address. - - From fdf1d1c9f7c6bc89703f5706bfd994976089c96a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 5 Sep 2018 12:47:00 +0200 Subject: [PATCH 145/164] Remove exec permission --- source/_components/binary_sensor.bmw_connected_drive.markdown | 0 source/_components/cover.mqtt.markdown | 0 source/_components/light.template.markdown | 0 source/_components/lock.bmw_connected_drive.markdown | 0 source/_components/map.markdown | 0 source/_components/remote.harmony.markdown | 0 source/_components/remote.itach.markdown | 0 source/_components/remote.markdown | 0 source/_components/switch.digitalloggers.markdown | 0 9 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 source/_components/binary_sensor.bmw_connected_drive.markdown mode change 100755 => 100644 source/_components/cover.mqtt.markdown mode change 100755 => 100644 source/_components/light.template.markdown mode change 100755 => 100644 source/_components/lock.bmw_connected_drive.markdown mode change 100755 => 100644 source/_components/map.markdown mode change 100755 => 100644 source/_components/remote.harmony.markdown mode change 100755 => 100644 source/_components/remote.itach.markdown mode change 100755 => 100644 source/_components/remote.markdown mode change 100755 => 100644 source/_components/switch.digitalloggers.markdown diff --git a/source/_components/binary_sensor.bmw_connected_drive.markdown b/source/_components/binary_sensor.bmw_connected_drive.markdown old mode 100755 new mode 100644 diff --git a/source/_components/cover.mqtt.markdown b/source/_components/cover.mqtt.markdown old mode 100755 new mode 100644 diff --git a/source/_components/light.template.markdown b/source/_components/light.template.markdown old mode 100755 new mode 100644 diff --git a/source/_components/lock.bmw_connected_drive.markdown b/source/_components/lock.bmw_connected_drive.markdown old mode 100755 new mode 100644 diff --git a/source/_components/map.markdown b/source/_components/map.markdown old mode 100755 new mode 100644 diff --git a/source/_components/remote.harmony.markdown b/source/_components/remote.harmony.markdown old mode 100755 new mode 100644 diff --git a/source/_components/remote.itach.markdown b/source/_components/remote.itach.markdown old mode 100755 new mode 100644 diff --git a/source/_components/remote.markdown b/source/_components/remote.markdown old mode 100755 new mode 100644 diff --git a/source/_components/switch.digitalloggers.markdown b/source/_components/switch.digitalloggers.markdown old mode 100755 new mode 100644 From 2c1fdc2cd86e620e6109b5b14d8586cf3b240fad Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 5 Sep 2018 12:54:48 +0200 Subject: [PATCH 146/164] Add title --- source/_components/binary_sensor.knx.markdown | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/source/_components/binary_sensor.knx.markdown b/source/_components/binary_sensor.knx.markdown index d51c9effbb4..6f5ff097906 100644 --- a/source/_components/binary_sensor.knx.markdown +++ b/source/_components/binary_sensor.knx.markdown @@ -15,26 +15,24 @@ ha_iot_class: "Local Polling" The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) binary sensors. +## {% linkable_title Configuration %} + The `knx` component must be configured correctly, see [KNX Component](/components/knx). ```yaml # Example configuration.yaml entry binary_sensor: - platform: knx - name: "Entrance.Motion.Sensor" address: '6/0/2' - device_class: 'motion' - #significant_bit: 2 - #reset_after: 100 ``` Configuration variables: +- **address** (*Required*): KNX group address of the binary sensor. - **name** (*Optional*): A name for this device used within Home Assistant. -- **address**: KNX group address of the binary sensor. -- **device_class** (Optional): HASS device class e.g., "motion". -- **significant_bit** (Optional): Specify which significant bit of the KNX value should be used. Default is 1. -- **reset_after** (Optional): Reset back to OFF state after specified milliseconds. +- **device_class** (*Optional*): HASS device class e.g., "motion". +- **significant_bit** (*Optional*): Specify which significant bit of the KNX value should be used. Default is 1. +- **reset_after** (*Optional*): Reset back to OFF state after specified milliseconds. You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time. From 0192766d3bc08e9eec6d4e8391b5bbeb2c418772 Mon Sep 17 00:00:00 2001 From: Paul Annekov Date: Thu, 6 Sep 2018 08:06:02 +0300 Subject: [PATCH 147/164] Update Miflora documentation (#6163) * Update sensor.miflora.markdown * removed scan_interval from parameters list, added to note --- source/_components/sensor.miflora.markdown | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/source/_components/sensor.miflora.markdown b/source/_components/sensor.miflora.markdown index 92d2a4ea4fd..0e82f9a6e32 100644 --- a/source/_components/sensor.miflora.markdown +++ b/source/_components/sensor.miflora.markdown @@ -70,13 +70,10 @@ sensor: - **name** (*Optional*): The name displayed in the frontend. - **force_update** (*Optional*): Sends update events even if the value hasn't changed. - **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. -- **timeout** (*Optional*): Define the timeout value in seconds when polling (defaults to 10 if not defined) -- **retries** (*Optional*): Define the number of retries when polling (defaults to 2 if not defined) -- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined) - **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters.

-By default the sensor is only polled once every 20 minutes. So, if you set `median: 3` it will take _at least_ 40 minutes before the sensor will report a value after a Home Assistant restart. Since the values usually change very slowly, this usually isn't a big problem. Keep in mind though that reducing polling intervals will have a negative effect on the battery life. +By default the sensor is only polled once every 20 minutes (`scan_interval` is 1200 seconds by default). On a Home Assistant restart sensor will report initial value. If you set `median: 3`, it will take _at least_ 40 minutes before the sensor will report an average value. Keep in mind though that reducing polling intervals will have a negative effect on the battery life.

A full configuration example could look like the one below: From 4ef8be77ce945f70dc1874f3239fa66bfce3273b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=B8yer=20Iversen?= Date: Thu, 6 Sep 2018 11:17:31 +0200 Subject: [PATCH 148/164] Create switch.switchbot.markdown (#6186) * Create switch.switchbot.markdown * Add files via upload --- source/_components/switch.switchbot.markdown | 35 +++++++++++++++++++ source/images/supported_brands/switchbot.png | Bin 0 -> 28540 bytes 2 files changed, 35 insertions(+) create mode 100644 source/_components/switch.switchbot.markdown create mode 100644 source/images/supported_brands/switchbot.png diff --git a/source/_components/switch.switchbot.markdown b/source/_components/switch.switchbot.markdown new file mode 100644 index 00000000000..3eca50f1113 --- /dev/null +++ b/source/_components/switch.switchbot.markdown @@ -0,0 +1,35 @@ +--- +layout: page +title: "Switchbot" +description: "Instructions on how to set up Switchmate switches." +date: 2018-09-03 22:41 +sidebar: true +comments: false +sharing: true +footer: true +logo: switchbot.png +ha_category: Switch +ha_release: 0.78 +ha_iot_class: "Local Polling" +--- + +This `Switchbot` switch platform allow you to control Switchbot [devices]( https://www.switch-bot.com/). + +To enable it, add the following lines to your `configuration.yaml`: + +```yaml +switch: + - platform: switchbot + mac: 'cb:25:0b......' +``` + +{% configuration %} +mac: + description: Device MAC address. + required: true + type: string +name: + description: The name used to display the switch in the frontend. + required: false + type: string +{% endconfiguration %} diff --git a/source/images/supported_brands/switchbot.png b/source/images/supported_brands/switchbot.png new file mode 100644 index 0000000000000000000000000000000000000000..da31c5feb002fbe93c134b29efcb889d067c4386 GIT binary patch literal 28540 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

^@tVWk0P0d;X_w(6A|J}9 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 Date: Thu, 6 Sep 2018 13:53:53 +0100 Subject: [PATCH 149/164] Update sensor.twitch.markdown (#6201) * Update sensor.twitch.markdown * Add setup instructions --- source/_components/sensor.twitch.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/_components/sensor.twitch.markdown b/source/_components/sensor.twitch.markdown index d1265c1b1d5..660488a7675 100644 --- a/source/_components/sensor.twitch.markdown +++ b/source/_components/sensor.twitch.markdown @@ -16,6 +16,10 @@ ha_iot_class: "Cloud Polling" The `twitch` platform will allow you to monitor [Twitch](http://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information. +## {% linkable_title Setup %} + +Create a new app at "Register Your Application" in the [Twitch developer portal](https://glass.twitch.tv/console/apps). Then get the **Client ID** for the new app. + ## {% linkable_title Configuration %} To use Twitch with your installation, add the following to your `configuration.yaml` file: @@ -24,12 +28,17 @@ To use Twitch with your installation, add the following to your `configuration.y # Example configuration.yaml entry sensor: platform: twitch + client_id: YOUR_TWITCH_CLIENT_ID channels: - channel1 - channel2 ``` {% configuration %} +clientid: + description: Your Twitch client ID. + required: true + type: string channels: description: List of channels. required: true From 3e278811c54b8311bb29e7aa05e19c11f83bdbd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=B8yer=20Iversen?= Date: Fri, 7 Sep 2018 09:35:09 +0200 Subject: [PATCH 150/164] Minor fix in switchbot doc (#6212) --- source/_components/switch.switchbot.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/switch.switchbot.markdown b/source/_components/switch.switchbot.markdown index 3eca50f1113..ff7e8911b50 100644 --- a/source/_components/switch.switchbot.markdown +++ b/source/_components/switch.switchbot.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Switchbot" -description: "Instructions on how to set up Switchmate switches." +description: "Instructions on how to set up Switchbot switches." date: 2018-09-03 22:41 sidebar: true comments: false From 37aced25852ab5d490b4522adf38b6e0c93bd69b Mon Sep 17 00:00:00 2001 From: Dom Date: Fri, 7 Sep 2018 11:23:08 +0100 Subject: [PATCH 151/164] Yale Smart Alarm component docs (#6176) * Add New Yale Smart Alarm Component Documentation * Update Yale Alarm Documentation --- ...rm_control_panel.yale_smart_alarm.markdown | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 source/_components/alarm_control_panel.yale_smart_alarm.markdown diff --git a/source/_components/alarm_control_panel.yale_smart_alarm.markdown b/source/_components/alarm_control_panel.yale_smart_alarm.markdown new file mode 100644 index 00000000000..f2dc607b157 --- /dev/null +++ b/source/_components/alarm_control_panel.yale_smart_alarm.markdown @@ -0,0 +1,60 @@ +--- +layout: page +title: "Yale Smart Alarm Control" +description: "Instructions on how to integrate Yale Smart Alarms into Home Assistant." +date: 2018-09-01 11:11 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Alarm +ha_release: 0.78 +--- + +The `yale_smart_alarm` platform provides connectivity with the Yale Smart Alarm systems and Smart Hub through Yale's API. + +This platform supports the following services: `alarm_arm_away`, `alarm_arm_home`, `alarm_arm_night` (duplicate of home) and `alarm_disarm`. +Currently only one alarm is supported. + + +To enable, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +alarm_control_panel: + - platform: yale_smart_alarm + username: YOUR_USERNAME + password: YOUR_PASSWORD +``` + +Configuration variables: + +- **name** (*Optional*): Name of device in Home Assistant. +- **username** (*Required*): Username used to sign into the Yale app/web client. +- **password** (*Required*): Password used to sign into the Yale app/web client. +- **area_id** (*Optional*): Area ID of the device when talking to Yale's API if required ('1' by default). + +Automation example: + +```yaml +automation: + - alias: "Alarm: Disarmed Daytime" + trigger: + platform: state + entity_id: alarm_control_panel.yale_smart_alarm + to: 'disarmed' + condition: + condition: sun + before: sunset + action: + service: scene.turn_on + entity_id: scene.OnDisarmedDaytime + - alias: "Alarm: Armed Away" + trigger: + platform: state + entity_id: alarm_control_panel.yale_smart_alarm + to: 'armed_away' + action: + service: scene.turn_on + entity_id: scene.OnArmedAway +``` From baba8e85ec4c1fb731b8500173498deb8b9886fd Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Fri, 7 Sep 2018 13:29:55 +0200 Subject: [PATCH 152/164] Update switch.snmp.markdown (#5483) * Update switch.snmp.markdown Depends on https://github.com/home-assistant/home-assistant/pull/14754 * :pencil2: Removed old configuration variables header --- source/_components/switch.snmp.markdown | 123 +++++++++++++++++++++--- 1 file changed, 108 insertions(+), 15 deletions(-) diff --git a/source/_components/switch.snmp.markdown b/source/_components/switch.snmp.markdown index 59d9b239044..0d2cb6fd0fa 100644 --- a/source/_components/switch.snmp.markdown +++ b/source/_components/switch.snmp.markdown @@ -15,7 +15,7 @@ ha_release: 0.57 The `snmp` switch platform allows you to control SNMP-enabled equipment. -Currently, only SNMP OIDs that accept integer values are supported. SNMP v1 and v2c are supported. SNMP v3 is **not** supported. +Currently, only SNMP OIDs that accept integer values are supported. SNMP v1, v2c and v3 are supported. To use an SNMP switch in your installation: @@ -27,30 +27,123 @@ switch: baseoid: 1.3.6.1.4.1.19865.1.2.1.4.0 ``` -Configuration variables: - -- **baseoid** (*Required*): The SNMP BaseOID which to poll for the state of the switch. -- **command_oid** (*Optional*): The SNMP OID which to set in order to turn the switch on and off, if different from `baseoid`. -- **host** (*Optional*): The IP/host which to control. Defaults to `localhost`. -- **port** (*Optional*): The port on which to communicate. Defaults to `161`. -- **community** (*Optional*): community string to use for authentication. Defaults to `private`. -- **version** (*Optional*): SNMP version to use - either `1` or `2c`. Defaults to `1`. -- **payload_on** (*Optional*): What return value represents an `On` state for the switch. The same value is used in writes to turn on the switch if `command_payload_on` is not set. Defaults to `1`. -- **payload_off** (*Optional*): What return value represents an `Off` state for the switch. The same value is used in writes to turn off the switch if `command_payload_off` is not set. Defaults to `0`. -- **command_payload_on** (*Optional*): The value to write to turn on the switch, if different from `payload_on`. -- **command_payload_off** (*Optional*): The value to write to turn off the switch, if different from `payload_off`. +{% configuration %} +baseoid: + description: The SNMP BaseOID which to poll for the state of the switch. + required: true + type: string +command_oid: + description: The SNMP OID which to set in order to turn the switch on and off, if different from `baseoid`. + required: false + type: string +host: + description: The IP/host which to control. + required: false + type: string + default: 'localhost' +port: + description: The port on which to communicate. + required: false + type: string + default: '161' +community: + description: community string to use for authentication (SNMP v1 and v2c). + required: false + type: string + default: 'private' +username: + description: Username to use for authentication. + required: false + type: string + default: '' +auth_key: + description: Authentication key to use for SNMP v3. + required: false + type: string + default: no key +auth_protocol: + description: Authentication protocol to use for SNMP v3. + required: false + type: string + default: 'none' +priv_key: + description: Privacy key to use for SNMP v3. + required: false + type: string + default: no key +priv_protocol: + description: Privacy protocol to use for SNMP v3. + required: false + type: string + default: 'none' +version: + description: SNMP version to use - either `1`, `2c` or `3`. + required: false + type: string + default: '1' +payload_on: + description: What return value represents an `On` state for the switch. The same value is used in writes to turn on the switch if `command_payload_on` is not set. + required: false + type: string + default: '1' +payload_off: + description: What return value represents an `Off` state for the switch. The same value is used in writes to turn off the switch if `command_payload_off` is not set. + required: false + type: string + default: '0' +command_payload_on: + description: The value to write to turn on the switch, if different from `payload_on`. + required: false + type: string +command_payload_off: + description: The value to write to turn off the switch, if different from `payload_off`. + required: false + type: string +{% endconfiguration %} You should check with your device's vendor to find out the correct BaseOID and what values turn the switch on and off. -A complete example: +Valid values for auth_protocol: + +- **none** +- **hmac-md5** +- **hmac-sha** +- **hmac128-sha224** +- **hmac192-sha256** +- **hmac256-sha384** +- **hmac384-sha512** + +Valid values for priv_protocol: + +- **none** +- **des** +- **3des-ede** +- **aes-cfb-128** +- **aes-cfb-192** +- **aes-cfb-256** + +Complete examples: ```yaml switch: - platform: snmp - name: SNMP switch + name: SNMP v1 switch host: 192.168.0.2 community: private baseoid: 1.3.6.1.4.1.19865.1.2.1.4.0 payload_on: 1 payload_off: 0 + + - platform: snmp + name: SNMP v3 switch + host: 192.168.0.3 + version: '3' + username: 'myusername' + auth_key: 'myauthkey' + auth_protocol: 'hmac-sha' + priv_key: 'myprivkey' + priv_protocol: 'aes-cfb-128' + baseoid: 1.3.6.1.4.1.19865.1.2.1.4.0 + payload_on: 1 + payload_off: 0 ``` From c8f7e3f9bbb8f87048aa1dd067793e87e4372cca Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Fri, 7 Sep 2018 14:03:22 +0200 Subject: [PATCH 153/164] Update sensor.snmp.markdown (#5484) * Update sensor.snmp.markdown Depends on https://github.com/home-assistant/home-assistant/pull/14753 * :pencil2: Minor tweaks * Minor changes --- source/_components/sensor.snmp.markdown | 112 ++++++++++++++++++++---- 1 file changed, 96 insertions(+), 16 deletions(-) diff --git a/source/_components/sensor.snmp.markdown b/source/_components/sensor.snmp.markdown index f492d5ef3a7..9c78766582b 100644 --- a/source/_components/sensor.snmp.markdown +++ b/source/_components/sensor.snmp.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Polling" ha_release: "0.22" --- - The `snmp` sensor platform displays information available through the [Simple Network Management Protocol (SNMP)](https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol). SNMP uses a tree-like hierarchy where each node is an object, and is mainly supported by network-oriented devices such as routers, modems, and printers. To enable this sensor in your installation, add the following to your `configuration.yaml` file: @@ -26,28 +25,107 @@ sensor: baseoid: 1.3.6.1.4.1.2021.10.1.3.1 ``` -Configuration variables: +{% configuration %} +host: + description: The IP address of your host, eg. `192.168.1.32`. + required: true + type: string + default: 'localhost' +baseoid: + description: The OID where the information is located. It's advised to use the numerical notation. + required: true + type: string +port: + description: The SNMP port of your host. + required: Option + type: string + default: '161' +community: + description: "The SNMP community which is set for the device for SNMP v1 and v2c. Most devices have a default community set to `public` with read-only permission (which is sufficient)." + required: false + type: string + default: 'public' +username: + description: Username to use for authentication. + required: false + type: string + default: '' +auth_key: + description: Authentication key to use for SNMP v3. + required: false + type: string + default: no key +auth_protocol: + description: Authentication protocol to use for SNMP v3. + required: false + type: string + default: 'none' +priv_key: + description: Privacy key to use for SNMP v3. + required: false + type: string + default: no key +priv_protocol: + description: Privacy protocol to use for SNMP v3. + required: false + type: string + default: 'none' +version: + description: "Version of SNMP protocol, `1`, `2c` or `3`. Version `2c` or higher is needed to read data from 64-bit counters." + required: false + type: string + default: '1' +name: + description: Name of the SNMP sensor. + required: false + type: string +unit_of_measurement: + description: Defines the unit of measurement of the sensor, if any. + required: false + type: string +value_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to parse the value." + required: false + type: template +accept_errors: + description: "Determines whether the sensor should start and keep working even if the SNMP host is unreachable or not responding. This allows the sensor to be initialized properly even if, for example, your printer is not on when you start Home Assistant." + required: false + type: string + default: false +default_value: + description: "Determines what value the sensor should take if `accept_errors` is set and the host is unreachable or not responding. If not set, the sensor will have value `unknown` in case of errors." + required: false + type: string +{% endconfiguration %} -- **host** (*Required*): The IP address of your host, eg. `192.168.1.32`. -- **baseoid** (*Required*): The OID where the information is located. It's advised to use the numerical notation. -- **port** (*Option*): The SNMP port of your host. Defaults to `161`. -- **community** (*Optional*): The SNMP community which is set for the device. Most devices have a default community set to `public` with read-only permission (which is sufficient). -- **version** (*Optional*) version of SNMP protocol, `1` or `2c`. Defaults to `1`. Version `2c` is needed to read data from 64-bit counters. -- **name** (*Optional*): Name of the SNMP sensor. -- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any. -- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to parse the value. -- **accept_errors** (*Optional*): Determines whether the sensor should start and keep working even if the SNMP host is unreachable or not responding. This allows the sensor to be initialized properly even if, for example, your printer is not on when you start Home Assistant. Defaults to `false`. -- **default_value** (*Optional*): Determines what value the sensor should take if `accept_errors` is set and the host is unreachable or not responding. If not set, the sensor will have value `unknown` in case of errors. +Valid values for auth_protocol: + +- **none** +- **hmac-md5** +- **hmac-sha** +- **hmac128-sha224** +- **hmac192-sha256** +- **hmac256-sha384** +- **hmac384-sha512** + +Valid values for priv_protocol: + +- **none** +- **des** +- **3des-ede** +- **aes-cfb-128** +- **aes-cfb-192** +- **aes-cfb-256** ## {% linkable_title Finding OIDs %} -OIDs may vary on different systems because they are vendor-specific. Beside the device's manual, the [OID Repository](http://www.oid-info.com/) is a good place to start if you are looking for OIDs. As an example, the following OIDs are for the load of a Linux systems. +OIDs may vary on different systems because they are vendor-specific. Besides the device's manual, the [OID Repository](http://www.oid-info.com/) is a good place to start if you are looking for OIDs. As an example, the following OIDs are for the load of a Linux system. - 1 minute Load: `1.3.6.1.4.1.2021.10.1.3.1` - 5 minute Load: `1.3.6.1.4.1.2021.10.1.3.2` - 15 minute Load: `1.3.6.1.4.1.2021.10.1.3.3` -There is a large amount of tools available to work with SNMP. `snmpwalk` let you easily retrieve the value of a OID. +There is a large amount of tools available to work with SNMP. `snmpwalk` let you easily retrieve the value of an OID. ```bash $ snmpwalk -Os -c public -v 2c 192.168.1.32 1.3.6.1.4.1.2021.10.1.3.1 @@ -58,10 +136,11 @@ laLoad.1 = STRING: 0.19 ### {% linkable_title Printer uptime minutes %} -According to the most common SNMP standard, the uptime of a device is accessible under OID `1.3.6.1.2.1.1.3.0`. The value represented using a format called `TimeTicks`, in units of hundredth of a second. +According to the most common SNMP standard, the uptime of a device is accessible under OID `1.3.6.1.2.1.1.3.0`. The value represented using a format called `TimeTicks`, in units of hundredths of a second. To create a sensor that displays the uptime for your printer in minutes, you can use this configuration: +{% raw %} ```yaml # Example configuration.yaml entry sensor: @@ -71,8 +150,9 @@ sensor: baseoid: 1.3.6.1.2.1.1.3.0 accept_errors: true unit_of_measurement: 'minutes' - value_template: {% raw %}'{{((value | int) / 6000) | int}}'{% endraw %} + value_template: '{{((value | int) / 6000) | int}}' ``` +{% endraw %} The `accept_errors` option will allow the sensor to work even if the printer is not on when Home Assistant is first started: the sensor will just display a `-` instead of a minute count. From 60b694bf0f00b98261ca32552cc7eed284e7dcf8 Mon Sep 17 00:00:00 2001 From: mvn23 Date: Sat, 8 Sep 2018 00:04:09 +0200 Subject: [PATCH 154/164] Documentation for OpenTherm Gateway climate platform (#6118) * Add documentation for component climate.opentherm_gw * Update to adhere to standards * Changed wording from "component" to "device" as it is not a component * Minor changes * Add quotes * Fix location of space --- .../_components/climate.opentherm_gw.markdown | 61 ++++++++++++++++++ source/images/supported_brands/opentherm.png | Bin 0 -> 20615 bytes 2 files changed, 61 insertions(+) create mode 100644 source/_components/climate.opentherm_gw.markdown create mode 100644 source/images/supported_brands/opentherm.png diff --git a/source/_components/climate.opentherm_gw.markdown b/source/_components/climate.opentherm_gw.markdown new file mode 100644 index 00000000000..bbed48193d3 --- /dev/null +++ b/source/_components/climate.opentherm_gw.markdown @@ -0,0 +1,61 @@ +--- +layout: page +title: "OpenTherm Gateway" +description: "Control your OpenTherm Gateway from Home Assistant." +date: 2018-08-29 16:23 +sidebar: true +comments: false +sharing: true +footer: true +logo: opentherm.png +ha_category: Climate +ha_release: 0.78 +ha_iot_class: "Local Push" +--- + + +The `opentherm_gw` climate platform is used to control the [OpenTherm Gateway](http://otgw.tclcode.com/) from Home Assistant. + +# {% linkable_title Configuration %} + +```yaml +# Example configuration.yaml entry +climate: + - platform: opentherm_gw + device: /dev/ttyUSB0 +``` + +{% configuration %} +device: + description: "Path to OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)." + required: true + type: string +name: + description: The name for the device within Home Assistant. + required: false + type: string + default: OpenTherm Gateway +precision: + description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Supported values are `0.1`, `0.5` and `1.0`." + required: false + type: float + default: "`0.5` for Celsius and `1.0` for Fahrenheit." +floor_temperature: + description: Some thermostats round all temperatures down to the lower value according to their precision. Default behaviour for Home Assistant is to round temperatures to the nearest value. Set this to `True` to override Home Assistant and round to the lower value according to the configured `precision`. + required: false + type: boolean +{% endconfiguration %} + +# {% linkable_title Example %} + +A full configuration example with the OpenTherm Gateway connected to a remote host running `ser2net` looks like the one below. + +```yaml +# Full example configuration.yaml entry +climate: + - platform: opentherm_gw + device: socket://otgw.example.org:2345 + name: Thermostat + precision: 0.5 + floor_temperature: True +``` diff --git a/source/images/supported_brands/opentherm.png b/source/images/supported_brands/opentherm.png new file mode 100644 index 0000000000000000000000000000000000000000..459f60e67369392ffee6022c3fad0b619b8ed5a4 GIT binary patch literal 20615 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 literal 0 HcmV?d00001 From d02b9106f0a9ccfc0b9023612e7e9ac6f7fbc960 Mon Sep 17 00:00:00 2001 From: Florian Werner Date: Sat, 8 Sep 2018 01:10:31 +0200 Subject: [PATCH 155/164] Update statistics sensor (#6034) --- source/_components/sensor.statistics.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.statistics.markdown b/source/_components/sensor.statistics.markdown index a169c2cc71d..d28f73eabee 100644 --- a/source/_components/sensor.statistics.markdown +++ b/source/_components/sensor.statistics.markdown @@ -14,7 +14,7 @@ ha_release: "0.30" --- -The `statistics` sensor platform consumes the state from other sensors. Besides the maximum and the minimum values, the total, mean, median, variance and the standard deviation are also available as attributes. If it's a binary sensor then only state changes are counted. +The `statistics` sensor platform consumes the state from other sensors. It exports the `mean` value as state and the following values as attributes: `count`, `mean`, `median`, `stdev`, `variance`, `total`, `min`, `max`, `min_age`, `max_age`, `change`, `average_change` and `change_rate`. If it's a binary sensor then only state changes are counted. If you are running the [recorder](/components/recorder/) component, on startup the data is read from the database. So after a restart of the platform, you will immediately have data available. If you're using the [history](/components/history/) component, this will automatically also start the `recorder` component on startup. If you are *not* running the `recorder` component, it can take time till the sensor starts to work because a couple of attributes need more than one value to do the calculation. @@ -43,6 +43,7 @@ Configuration variables: - **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Stats`. - **sampling_size** (*Optional*): Size of the sampling. If the limit is reached then the values are rotated. Defaults to `20`. - **max_age** (*Optional*): Maximum age of measurements. Setting this to a time interval will cause older values to be discarded. +- **precision** (*Optional*): Defines the precision of the calculated values, through the argument of round(). Defaults to `2`.

From 7218029b3405581284959b30a357c27a852fe194 Mon Sep 17 00:00:00 2001 From: Pavel Pletenev Date: Sat, 8 Sep 2018 14:34:56 +0200 Subject: [PATCH 156/164] Docs for Habitica component (#5923) * Docs for Habitica component (1/2) Signed-off-by: delphi * Added sensor docs. Updated docs to match habitica code. Signed-off-by: delphi * Fix docs according to docs Signed-off-by: delphi * Fix typos and code review Signed-off-by: delphi --- source/_components/habitica.markdown | 132 ++++++++++++++++++ source/_components/sensor.habitica.markdown | 21 +++ .../images/screenshots/habitica_new_task.png | Bin 0 -> 2535 bytes source/images/supported_brands/habitica.png | Bin 0 -> 5677 bytes 4 files changed, 153 insertions(+) create mode 100644 source/_components/habitica.markdown create mode 100644 source/_components/sensor.habitica.markdown create mode 100644 source/images/screenshots/habitica_new_task.png create mode 100644 source/images/supported_brands/habitica.png diff --git a/source/_components/habitica.markdown b/source/_components/habitica.markdown new file mode 100644 index 00000000000..fbd51c31267 --- /dev/null +++ b/source/_components/habitica.markdown @@ -0,0 +1,132 @@ +--- +layout: page +title: "Habitica" +description: "Instructions on enabling Habitica support for your Home Assistant" +date: 2018-08-09 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: habitica.png +ha_category: Hub +ha_version: 0.78 +ha_iot_class: "Cloud Polling" +--- + +This component allows you to monitor and manage your Habitica profile. This component exposes the [Habitica's API](https://habitica.com/apidoc/) as a Home Assistant service. It supports multiple users and allows you to automate checking out your habits and daily tasks or casting magics using Home Assistant. +This component enables usage of [`sensor.habitica` platform.](/components/sensor.habitica/) +To use the component you should use this example configuration: + +```yaml +# Minimum viable configuration.yaml entry +habitica: + - api_user: 'REPLACE_ME_WITH_YOUR_USER_ID' + api_key: 'REPLACE_ME_WITH_YOUR_API_KEY' +``` + +You can specify several users, providing `api_user` and `api_key` for each. +At runtime you will be able to use API for each respective user by their Habitica's username. +You can override this by passing `name` key, this value will be used instead of the username. +If you are hosting your own instance of Habitica, you can specify a URL to it in `url` key. + +{% configuration %} +api_user: + description: "Habitica's API user ID. This value can be grabbed from [account setting](https://habitica.com/user/settings/api)" + required: true + type: string +api_key: + description: "Habitica's API password (token). This value can be grabbed from [account setting](https://habitica.com/user/settings/api) by pressing 'Show API token'" + required: true + type: string +name: + description: "Override for Habitica's username. Will be used for service calls" + required: false + type: string + default: Deduced at startup +url: + description: "URL to your Habitica instance, if you are hosting your own" + required: false + type: string + default: http://habitica.com +sensors: + description: List of sensors to generate for this user. If you don't specify this entry then the default (all sensors) will be generated. If you specify this entry empty then no sensors will be generated. + required: false + type: list + default: all (`name`, `hp`, `maxHealth`, `mp`, `maxMP`, `exp`, `toNextLevel`, `lvl`, `gp`, `class`) +{% endconfiguration %} + +### {% linkable_title API Service Parameters %} + +The API is exposed to Home Assistant as a service called `habitica.api_call`. To call it you should specify this keys in service data: + +| Service data attribute | Required | Type | Description | +|----------------------|--------|--------|----------------| +| `name` | yes | string | Habitica's username as per `configuration.yaml` entry. | +| `path` | yes | [string] | Items from API URL in form of an array with method attached at the end. See the example below. | +| `args` | no | map | Any additional json or url parameter arguments. See the example below and [apidoc](https://habitica.com/apidoc/). | + +A successful call to this service will fire an event `habitica_api_call_success`. + +| Event data attribute | Type | Description | +|----------------------|--------|----------------| +| `name` | string | Copied from service data attribute. | +| `path` | [string] | Copied from service data attribute. | +| `data` | map | Deserialized `data` field of JSON object Habitica's server returned in response to api call. For more info see [docs](https://habitica.com/apidoc/). | + +#### Let's consider some examples on how to call the service. + +For example, let's say that there is a configured `habitica` platform for user `xxxNotAValidNickxxx` with their respective `api_user` and `api_key`. +Let's create a new task (a todo) for this user via Home Assistant. There is an [API call](https://habitica.com/apidoc/#api-Task-CreateUserTasks) for this purpose. +To create a new task one should hit `https://habitica.com/api/v3/tasks/user` endpoint with `POST` request with a json object with task properties. +So let's call the API on `habitica.api_call`. +* The `name` key becomes `xxxNotAValidNickxxx`. +* The `path` key is trickier. + * Remove 'https://habitica.com/api/v3/' at the beginning of the endpoint URL. + * Split the remaining on slashes (/) and **append the lowercase method** at the end. + * You should get `["tasks", "user", "post"]`. To get a better idea of the API you are recommended to try all of the API calls in IPython console [using this package](https://github.com/ASMfreaK/habitipy/blob/master/README.md). +* The `args` key is more or less described in the [docs](https://habitica.com/apidoc/). + +Combining all together: +call `habitica.api_call` with data +``` +{ + "name": "xxxNotAValidNickxxx", + "path": ["tasks", "user", "post"], + "args": {"text": "Use API from Home Assistant", "type": "todo"} +} +``` + +This call will create a new todo on `xxxNotAValidNickxxx`'s account with text `Use API from Home Assistant` like this: + +![example task created](/images/screenshots/habitica_new_task.png) + +Also an event `habitica_api_call_success` will be fired with the following data: +``` +{ + "name": "xxxNotAValidNickxxx", + "path": ["tasks", "user", "post"], + "data": { + "challenge": {}, + "group": {"approval": {"required": false, + "approved": false, + "requested": false}, + "assignedUsers": [], + "sharedCompletion": "recurringCompletion"}, + "completed": false, + "collapseChecklist": false, + "type": "todo", + "notes": "", + "tags": [], + "value": 0, + "priority": 1, + "attribute": "str", + "text": "Use API from Home Assistant", + "checklist": [], + "reminders": [], + "_id": "NEW_TASK_UUID", + "createdAt": "2018-08-09T18:03:27.759Z", + "updatedAt": "2018-08-09T18:03:27.759Z", + "userId": "xxxNotAValidNickxxx's ID", + "id": "NEW_TASK_UUID"} +} +``` diff --git a/source/_components/sensor.habitica.markdown b/source/_components/sensor.habitica.markdown new file mode 100644 index 00000000000..4e94148bb9f --- /dev/null +++ b/source/_components/sensor.habitica.markdown @@ -0,0 +1,21 @@ +--- +layout: page +title: "Habitica Sensor" +description: "Instructions on enabling Habitica support for your Home Assistant" +date: 2018-08-09 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: habitica.png +ha_category: Sensor +ha_iot_class: "Cloud Polling" +ha_version: 0.78 +--- + +The `habitica` sensor platform allows you to view and monitor your player data from [Habitica](https://habitica.com/) in Home Assistant. + +

+You must have the [`habitica` component](/components/habitica/) +configured to use this platform. After configuring that component, sensors specified there will automatically appear. +

diff --git a/source/images/screenshots/habitica_new_task.png b/source/images/screenshots/habitica_new_task.png new file mode 100644 index 0000000000000000000000000000000000000000..dd21d3a3b6c8a1c60824ba028f9df04422d14c17 GIT binary patch literal 2535 zcmb7GXHb*t68_*IgaAi#L{T6JMg*jb5+y(+M+}4_N;lGbmqU>r3mzgMMIcBCC?SA! z>4F4=fI$?cgVIargdTw$ax-`4&fI@@?w@^kc6Mf;eP;LB_qmBNS_mu(1^_@vU+?B! z0N{GY@wGtQ9Q(CmrkeBo7J$+>1A#z4r*BUI0DrFjO&zn4?6vVwvy;OTd>aTg{%E6{ z+>b5&fP_7C;w1sWB44f6D3Ys|}QNmKxVt_pR%zg!n*x69v8X{!>bfl zHWn=xif0WYI|Q;ePqtH{deJjui`9+8uu!jn^FYYSjqEV#H1H6khVX(e)2WYLU zEX{ElEf_|NcUP6E!huRfh3+lC;b?+P=!K*EllCe#Z394SCw{VYQ>>;}jp`)>JR&${ zs&_JmWn<6(N`L?#0O2>XpIQ6fz@s6TY_#xcJzxW65`Fogi*E=GNS>m>fTY;EWb~<1 zX*yiXS#ZD2j2(=-zrFl4Tjva7D_0yoFLZ^UF1ZF!R=m07Yn2Sp}3m zE8tNt@tI2wdZ!S6Fpv=tx^NB|rQmCqTDdVb{Y4R*(#=S%ux>7Y4xt?Gy}A|P6M*TH zuQ;gPaK>6Vk=;exRqmw7goT!TS$`4t;@b#i#oEo$TG`#rTQxDNnU#flv)I?Mu$rOi z-xL#5g=Ll>9W{$6K4|+ydaTh}-OY71 zDXG$0jc(f#_4Gs=QtGO-qW7<&cO=;Mwz2{qE4($d(J=Ds$B#yOi(&Vzx>Df+>8n2c zU=tBx;mq~eGt7@~Q{4Lc>u`;(P^tVPJv9$hAg$FQz_ruD!h*klVmpYAfPIQThtM}Q zGX$wFAL9_d0O_uhC*UqGJ*CAHm(rEl!5gg(39|$RTh)*UG)k!rRHNa7pP}kn8j&bA zhE!?5**k>>GHivUsI{b$(PlP2<1FO5lJ^|mFHvF!ySld4Ur+u^JiRjH{cVxl@$lfl zm7$=`Pu3scsHAMAw;FvMIa!-qHhs;QB&XD3s_heY z#i$>WJS|U%bQ~a8Rbfoc#KpxI7w4>OA}csU8IxP_i~nAky3?VO-DJ9!W~%G)OX=M% zm(RAVfS={<-BFZs9?D*tn6R}Jh{G7*CO6F+Q&OB*c@5tk7&daUJ9~TQqrc>6+02u} za63gWy~w5ok$RvzC48x=EMJX~nOJkq93kai+9H)A1f}v9i#wkrE6P9f&^N+n7PX+> zygqwRDdp$r=({lW&~9EN((e6zi8Eu$3~$PJfB&|&9&P33?Fm|Bcom34!R>vSnBcO} zQ0ESn^U*Y6>TXcp*U%mZPD6Qx#yLpFERD9&bJdOf^!lImxr{?|ScEP!#i zcNc~CFmT!xX*qqXQ{@U24!0%A4SB8{QhL!N()B6Zrh`Mn@M@a9Kqe7wAxLsNm&CSn z-lKE-Z#(@h2(3}nf;mQ*VU}+ZT*k-7E(epvc2CVYFA!2wDT6p!sc0AL1X#azEdAl8 z_0-gBlh6$IT#?7E7QuXX0}8z-*L0zNAE*j(jx%sD>(f4JHo`{hWR8&gmrg6`y;AXy z_?+H#xaUf|9=T_IiL0*2CmXpuNAIM)D*k-w$U#?^jG5O5$;mfGO0Fce;1~nSDTB+8 z537F<4GYr@*|_mGkh!_^g$+q0^)K~g_Z%){re#<+sZ|HdNaLcGW?ZHNu4oG=2*6PI z`g%)_0yH*i9NjQaGoQe1*Rif5nKVLLTTOm}Vww>Z{fs=KcU12wv5sH;jMBI!?_$aBsD6cL;+yL?FcbURlg-~rpAnsNIW zO4%TeXHDlP4Thp^QKi?{iS(~F4bGdfkD~lKsXZ5?Lqba|aE*Uq4-$%=n-Ymc?M&6d zo}Tr%{2GMsUi|m&m)ttxI-AU= zbIS4g!z*H7JSA@k26z zyvyA0Y{_}xIXyD-;1cw;)=7f4LU$iWFjGTRcaZlMT?NWT42hhd8=$Xie6t*7|Kwkf CPt$e) literal 0 HcmV?d00001 diff --git a/source/images/supported_brands/habitica.png b/source/images/supported_brands/habitica.png new file mode 100644 index 0000000000000000000000000000000000000000..a90f684be213adf6285e98e8e5c21671b3f7f52a GIT binary patch literal 5677 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 LGwhK~K+^vJ50@73 literal 0 HcmV?d00001 From c43ac57f4217c95ee2e83420d4d430c52bcb4cc3 Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Sat, 8 Sep 2018 06:56:44 -0700 Subject: [PATCH 157/164] Demonstrate that complex templates can be used for script delays (#6224) * Demonstrate that complex templates can be used for script delays * Fix escaping * Start comments with a capital letter --- source/_docs/scripts.markdown | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index 7534ae05787..9d8b8a218b6 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -67,10 +67,19 @@ Delays are useful for temporarily suspending your script and start it at a later ```yaml # Waits 1 minute - delay: - # supports milliseconds, seconds, minutes, hours, days + # Supports milliseconds, seconds, minutes, hours, days minutes: 1 ``` +{% raw %} +```yaml +# Waits however many seconds input_number.second_delay is set to +- delay: + # Supports milliseconds, seconds, minutes, hours, days + seconds: "{{ states('input_number.second_delay') }}" +``` +{% endraw %} + {% raw %} ```yaml # Waits however many minutes input_number.minute_delay is set to @@ -85,14 +94,14 @@ Wait until some things are complete. We support at the moment `wait_template` fo {% raw %} ```yaml -# wait until media player have stop the playing +# Wait until media player have stop the playing - wait_template: "{{ is_state('media_player.floor', 'stop') }}" ``` {% endraw %} {% raw %} ```yaml -# wait for sensor to trigger or 1 minute before continuing to execute. +# Wait for sensor to trigger or 1 minute before continuing to execute. - wait_template: "{{ is_state('binary_sensor.entrance', 'on') }}" timeout: '00:01:00' continue_on_timeout: 'true' @@ -125,7 +134,7 @@ You can also get the script to abort after the timeout by using `continue_on_tim {% raw %} ```yaml -# wait until a valve is < 10 or continue after 1 minute. +# Wait until a valve is < 10 or continue after 1 minute. - wait_template: "{{ states.climate.kitchen.attributes.valve|int < 10 }}" timeout: '00:01:00' continue_on_timeout: 'false' From 40d816c7ba384c40d18ba3bc5bc2471ad6bf3450 Mon Sep 17 00:00:00 2001 From: mvn23 Date: Sun, 9 Sep 2018 09:42:25 +0200 Subject: [PATCH 158/164] Add note to OpenTherm Gateway documentation (#6230) Add a note about update propagation speed to the OpenTherm Gateway documentation. --- source/_components/climate.opentherm_gw.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/climate.opentherm_gw.markdown b/source/_components/climate.opentherm_gw.markdown index bbed48193d3..4b67af4667b 100644 --- a/source/_components/climate.opentherm_gw.markdown +++ b/source/_components/climate.opentherm_gw.markdown @@ -46,6 +46,10 @@ floor_temperature: type: boolean {% endconfiguration %} +

+The OpenTherm protocol is based on polling. The thermostat sends requests to the boiler at specific intervals. As a result, it may take some time for changes to propagate between Home Assistant and the thermostat. +

+ # {% linkable_title Example %} A full configuration example with the OpenTherm Gateway connected to a remote host running `ser2net` looks like the one below. From 817498f2e8d00def3509340b6891c9e9fce3fe48 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 9 Sep 2018 10:16:29 +0200 Subject: [PATCH 159/164] Add service data sample --- source/_components/wake_on_lan.markdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/_components/wake_on_lan.markdown b/source/_components/wake_on_lan.markdown index 93787c4aaef..87603ad2338 100644 --- a/source/_components/wake_on_lan.markdown +++ b/source/_components/wake_on_lan.markdown @@ -36,3 +36,13 @@ Send a _magic packet_ to wake up a device with 'Wake-On-LAN' capabilities. |---------------------------|----------|-------------------------------------------------------| | `mac` | no | MAC address of the device to wake up. | | `broadcast_address` | yes | Optional broadcast IP where to send the magic packet. | + + +Sample service data: + +```json +{ + "mac":"00:40:13:ed:f1:32" +} +``` + From 1d7b020ce26ffb4337efa14a6ae8ef8068591a09 Mon Sep 17 00:00:00 2001 From: Julian Kahnert Date: Mon, 10 Sep 2018 12:40:22 +0200 Subject: [PATCH 160/164] update geizhals doc (#6026) * update geizhals doc * :pencil2: Tweak --- source/_components/sensor.geizhals.markdown | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.geizhals.markdown b/source/_components/sensor.geizhals.markdown index c9780740569..636751da35b 100644 --- a/source/_components/sensor.geizhals.markdown +++ b/source/_components/sensor.geizhals.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling" ha_release: "0.51" --- - The `geizhals` sensor will give you the best price of a product from [Geizhals](https://geizhals.de) or related site. With this information can be used in e.g., automations to notify you when a price drops. To enable this sensor, add the following lines to your `configuration.yaml` file: @@ -23,16 +22,16 @@ To enable this sensor, add the following lines to your `configuration.yaml` file sensor: - platform: geizhals name: qc35 - product_id: 1453021 + product_id: 1696985 ``` Configuration variables: - **name** (*Required*): The internal name of the product in Home Assistant. -- **product_id** (*Required*): ID of the product. Get the ID from the geizhals website of your chosen product by clicking on the *Price History* tab, e.g., [here](https://geizhals.de/?phist=1453021). The URL of this site reveals the ID, e.g., with `product_id: 1453021`. +- **product_id** (*Required*): ID of the product. Get the ID from the Geizhals website of your chosen product by opening the *Price History* in a new browser tab (right-click on the price history > open in new tab). +The URL of this site reveals the ID, e.g. `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`. - **description** (*Optional*): The name of the product in the front end. -- **domain** (*Optional*): Domain which should be used for the request. Set this to `geizhals.at`, `geizhals.eu`, `geizhals.de`, `skinflint.co.uk` or `cenowarka.pl`. Defaults to `geizhals.de`. -- **regex** (*Optional*): Regular expression to parse the price. Default: `\D\s(\d*)[\,|\.](\d*)`. +- **locale** (*Optional*): Localisation which should be used for the request. Set this to `AT`, `EU`, `DE`, `UK` or `PL`. Defaults to `DE`. #### {% linkable_title Extended example %} @@ -41,8 +40,7 @@ Configuration variables: sensor: - platform: geizhals name: qc35 - product_id: 1453021 + product_id: 1696985 description: "Bose QC35" - domain: 'geizhals.de' - regex: '\D\s(\d*)[\,|\.](\d*)' + locale: "DE" ``` From 3d76207eeafdec7556f1f047e2cffcc10e5a325a Mon Sep 17 00:00:00 2001 From: Pawel Date: Mon, 10 Sep 2018 13:19:44 +0200 Subject: [PATCH 161/164] Support for switch radio preset Onkyo (#6107) --- .../_components/media_player.onkyo.markdown | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/source/_components/media_player.onkyo.markdown b/source/_components/media_player.onkyo.markdown index 630182ba6df..0737d7a9124 100644 --- a/source/_components/media_player.onkyo.markdown +++ b/source/_components/media_player.onkyo.markdown @@ -79,3 +79,26 @@ List of source names: - multi-ch - xm - sirius + +### {% linkable_title Example `play_media` script %} + +The `play_media` function can be used in script to play radio station by preset number. +Not working for NET radio. + +```yaml +# Example play_media script +# +script: + radio1: + alias: "Radio 1" + sequence: + - service: media_player.turn_on + data: + entity_id: media_player.onkyo + - service: media_player.play_media + data: + entity_id: media_player.onkyo + media_content_type: "radio" + media_content_id: "1" + +``` From 769c6323d893a79b8b5e31d3133726cef3d85056 Mon Sep 17 00:00:00 2001 From: Louis-Dominique Dubeau Date: Mon, 10 Sep 2018 07:21:06 -0400 Subject: [PATCH 162/164] Add the documentation for the new base_url option for tts. (#6219) * Add the documentation for the new base_url option for tts. * Clarify where base_url may be set. * Convert the parameter table to use the configuration template. * :pencil2: Tweaks --- source/_components/tts.markdown | 56 +++++++++++++++++++++++++++------ 1 file changed, 47 insertions(+), 9 deletions(-) diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 5fc0d8de47b..0b333959348 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -10,11 +10,11 @@ footer: true ha_release: 0.35 --- -Text-to-speech (TTS) enables Home Assistant to speak to you. +Text-to-Speech (TTS) enables Home Assistant to speak to you. ## {% linkable_title Configuring a `tts` platform %} -To get started, add the following lines to your `configuration.yaml` (example for google): +To get started, add the following lines to your `configuration.yaml` (example for Google): ```yaml # Example configuration.yaml entry for google tts service @@ -23,28 +23,66 @@ tts: ```

-Depending on your setup, you might need to set a base URL (`base_url`) inside the [http component](/components/http/). +Depending on your setup, you might need to set a base URL (`base_url`) inside the [http component](/components/http/) or in the parameters of this component.

The following optional parameters can be used with any platform. However, the TTS component will only look for global settings under the configuration of the first configured platform: -| Parameter | Default | Description | -|---------------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `cache` | True | Allow TTS to cache voice file to local storage. | -| `cache_dir` | tts | Folder name or path to a folder for caching files. | -| `time_memory` | 300 | Time to hold the voice data inside memory for fast play on a media player. Minimum is 60 s and the maximum 57600 s (16 hours). | +{% configuration %} +cache: + description: Allow TTS to cache voice file to local storage. + required: false + type: boolean + default: True +cache_dir: + description: Folder name or path to a folder for caching files. + required: false + type: string + default: tts +time_memory: + description: Time to hold the voice data inside memory for fast play on a media player. Minimum is 60 s and the maximum 57600 s (16 hours). + required: false + type: int + default: 300 +base_url: + description: A base URL to use *instead* of the one set in the [http component](/components/http/). It is used as-is by the `tts` component. In particular, you need to include the protocol scheme `http://` or `https://` and the correct port number. They will not be automatically added for you. + required: false + type: string + default: value of ``http.base_url`` +{% endconfiguration %} The extended example from above would look like the following sample: ```yaml -# Example configuration.yaml entry for google tts service +# Example configuration.yaml entry for Google TTS service tts: - platform: google cache: true cache_dir: /tmp/tts time_memory: 300 + base_url: http://192.168.0.10:8123 ``` +## {% linkable_title When do you need to set `base_url` here? %} + +The general answer is "whenever the global `base_url` set in [http component](/components/http/) is not adequate to allow the `say` service to run". The `say` service operates by generating a media file that contains the speech corresponding to the text passed to the service. Then the `say` service sends a message to the media device with a URL pointing to the file. The device fetches the media file at the URL and plays the media. Some combinations of a media device, network configuration and Home Assistant configuration can make it so that the device cannot fetch the media file. + +The following sections describe some of the problems encountered with media devices. + +### {% linkable_title Self-signed certificates %} + +This problem occurs when your Home Assistant instance is configured to be accessed through SSL, and you are using a self-signed certificate. + +The `tts` service will send an `https://` URL to the media device, which will check the certificate, and reject it. So it won't play your file. If you could make the device accept your certificate, it would play the file. However, many media devices do not allow changing settings to accept self-signed certificates. Ultimately, your option may be to serve files to the device as `http://` rather than `https://`. To do this, you *could* change the `base_url` setting in [http component](/components/http/), but that would turn off SSL for all services that use `base_url`. Instead, setting a `base_url` for the `tts` service allows turning off SSL only for this component. + +### {% linkable_title Google cast devices %} + +The Google cast devices (Google Home, Chromecast, etc.) present the following problems: + +* They [reject self-signed certificates](#self-signed-certificates). + +* They do not work with URLs that contain hostnames established by local naming means. Let's say your Home Assistant instance is running on a machine made known locally as `ha`. All your machines on your local network are able to access it as `ha`. However, try as you may, your cast device won't download the media files from your `ha` machine. That's because your cast device ignores your local naming setup. In this example, the `say` service creates a URL like `http://ha/path/to/media.mp3` (or `https://...` if you are using SSL). Setting a `base_url` that contains the IP address of your server works around this issue. By using an IP address, the cast device does not have to resolve the hostname. + ## {% linkable_title Service say %} The `say` service support `language` and on some platforms also `options` for set, i.e., *voice, motion, speed, etc*. The text for speech is set with `message`. From a390b8d2faebb876af44f7d74270712c4c967a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=B8yer=20Iversen?= Date: Mon, 10 Sep 2018 13:49:50 +0200 Subject: [PATCH 163/164] Adds Switchmate documentation (#6031) * Create switch.switchmate.markdown * Add switchmate logo * Update switch.switchmate.markdown * Update switch.switchmate.markdown * Update switch.switchmate.markdown * Update switch.switchmate.markdown * Update switch.switchmate.markdown * Update switch.switchmate.markdown * :pencil2: Typo fix --- source/_components/switch.switchmate.markdown | 36 ++++++++++++++++++ .../supported_brands/switchmate-logo-rgb.png | Bin 0 -> 17081 bytes 2 files changed, 36 insertions(+) create mode 100644 source/_components/switch.switchmate.markdown create mode 100644 source/images/supported_brands/switchmate-logo-rgb.png diff --git a/source/_components/switch.switchmate.markdown b/source/_components/switch.switchmate.markdown new file mode 100644 index 00000000000..b6e53624eed --- /dev/null +++ b/source/_components/switch.switchmate.markdown @@ -0,0 +1,36 @@ +--- +layout: page +title: "Switchmate" +description: "Instructions on how to set up Switchmate switches." +date: 2018-08-17 22:41 +sidebar: true +comments: false +sharing: true +footer: true +logo: switchmate-logo-rgb.png +ha_category: Switch +ha_release: 0.78 +ha_iot_class: "Local Polling" +--- + +This `Switchmate` switch platform allows you to control Switchmate [devices]( https://www.mysimplysmarthome.com/products/switchmate-switches/). + +To enable it, add the following lines to your `configuration.yaml`: + +```yaml +switch: + - platform: switchmate + mac: 'cb:25:0b......' +``` + +{% configuration %} +mac: + description: Device MAC address. + required: true + type: string +name: + description: The name used to display the switch in the frontend. + required: false + type: string +{% endconfiguration %} + diff --git a/source/images/supported_brands/switchmate-logo-rgb.png b/source/images/supported_brands/switchmate-logo-rgb.png new file mode 100644 index 0000000000000000000000000000000000000000..97030d5c6a552399aed0bab6c3e199a592977d32 GIT binary patch literal 17081 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 literal 0 HcmV?d00001 From 136993ea07af32cd0f164d8161efb9428cb3678a Mon Sep 17 00:00:00 2001 From: Kevin Siml Date: Mon, 10 Sep 2018 14:00:38 +0200 Subject: [PATCH 164/164] add new Pushsafer Parameter (#6049) * Update notify.pushsafer.markdown * Update notify.pushsafer.markdown * Update notify.pushsafer.markdown * Update notify.pushsafer.markdown * Update notify.pushsafer.markdown * Change format * Update notify.pushsafer.markdown * Update notify.pushsafer.markdown --- source/_components/notify.pushsafer.markdown | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/_components/notify.pushsafer.markdown b/source/_components/notify.pushsafer.markdown index 5b1ce8ed54c..6060016e1c5 100644 --- a/source/_components/notify.pushsafer.markdown +++ b/source/_components/notify.pushsafer.markdown @@ -12,7 +12,6 @@ ha_category: Notifications ha_release: 0.39 --- - The [Pushsafer service](https://www.pushsafer.com/) is a platform for the notify component. This allows you to send messages to the user using Pushsafer. In order to get a private or alias key you need to go to the [Pushsafer website](https://www.pushsafer.com) and register. @@ -90,6 +89,10 @@ Message to two devices and one device group with formatted text and local image. "url": "https://www.home-assistant.io/", "urltitle": "Open Home Assistant", "time2live": "10", + "priority": "2", + "retry": "60", + "expire": "600", + "answer": "1", "picture1": { "path":"C:\\Users\\Kevin\\AppData\\Roaming\\.homeassistant\\image-760-testimage.jpg" }