From 092e0e8962c00afc226b10f2fddd137b01428914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Vran=C3=ADk?= Date: Thu, 22 Dec 2016 11:11:32 +0100 Subject: [PATCH 001/157] Update hdmi_cec.markdown --- source/_components/hdmi_cec.markdown | 29 +++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown index 6cbfcd2e05c..911c0d9570a 100644 --- a/source/_components/hdmi_cec.markdown +++ b/source/_components/hdmi_cec.markdown @@ -13,7 +13,7 @@ ha_release: 0.23 ha_iot_class: "Local Push" --- -The CEC component provides services that allow selecting the active device, powering on all devices, and setting all devices to standby. Devices are defined in the configuration file by associating HDMI port number and a device name. Connected devices that provide further HDMI ports, such as Soundbars and AVRs are also supported. Devices are listed from the perspective of the CEC-enabled Home Assistant device. Any connected device can be listed, regardless of whether it supports CEC. Ideally the HDMI port number on your device will map correctly the CEC physical address. If it does not, use `cec-client` (part of the `libcec` package) to listen to traffic on the CEC bus and discover the correct numbers. +The HDMI CEC component provides services that allow selecting the active device, powering on all devices, setting all devices to standby and creates switch entites for HDMI devices. Devices are defined in the configuration file by associating HDMI port number and a device name. Connected devices that provide further HDMI ports, such as Soundbars and AVRs are also supported. Devices are listed from the perspective of the CEC-enabled Home Assistant device. Any connected device can be listed, regardless of whether it supports CEC. Ideally the HDMI port number on your device will map correctly the CEC physical address. If it does not, use `cec-client` (part of the `libcec` package) to listen to traffic on the CEC bus and discover the correct numbers. ## {% linkable_title CEC Setup %} @@ -81,25 +81,32 @@ In the following example, a Pi Zero running Home Assistant is on a TV's HDMI por ```yaml hdmi_cec: devices: - 1: Pi Zero - 2: - 1: Fire TV Stick - 2: Chromecast - 3: Another Device - 3: BlueRay player + TV: 0.0.0.0 + Pi Zero: 1.0.0.0 + Fire TV Stick: 2.1.0.0 + Chromecast: 2.2.0.0 + Another Device: 2.3.0.0 + BlueRay player: 3.0.0.0 ``` ## {% linkable_title Services %} ### {% linkable_title Select Device %} -Call the `hdmi_cec/select_device` service with the name of the device to select, for example: +Call the `hdmi_cec/select_device` service with the name of the device from config or entity_id or prysical address"to select it, for example: ```json -{ - "device": "Chromecast" -} +{"device": "Chromecast"} ``` + +```json +{"device": "switch.hdmi_3"} +``` + +```json +{"device": "1.1.0.0"} +``` + So an Automation action using the example above would look something like this. ```yaml From 7856b00acee09b2d9946034dab0ea63a6c7faac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Vran=C3=ADk?= Date: Fri, 23 Dec 2016 16:59:58 +0100 Subject: [PATCH 002/157] support for old config --- source/_components/hdmi_cec.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown index 911c0d9570a..60611b83ef7 100644 --- a/source/_components/hdmi_cec.markdown +++ b/source/_components/hdmi_cec.markdown @@ -78,6 +78,7 @@ language: ??? In the following example, a Pi Zero running Home Assistant is on a TV's HDMI port 1. HDMI port 2 is attached to a AV receiver. Three devices are attached to the AV receiver on HDMI ports 1 through 3. +You can use either direct mapping name to physical address of device ```yaml hdmi_cec: devices: @@ -88,6 +89,18 @@ hdmi_cec: Another Device: 2.3.0.0 BlueRay player: 3.0.0.0 ``` +or port mapping tree +```yaml +hdmi_cec: + devices: + 1: Pi Zero + 2: + 1: Fire TV Stick + 2: Chromecast + 3: Another Device + 3: BlueRay player +``` +Choose just one schema. Mixing both approaches is not possible. ## {% linkable_title Services %} From fd40b4fa9702c6929beeee3da6f850b082d40e66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Vran=C3=ADk?= Date: Fri, 23 Dec 2016 17:12:34 +0100 Subject: [PATCH 003/157] Update hdmi_cec.markdown --- source/_components/hdmi_cec.markdown | 43 +++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown index 60611b83ef7..575769d2e28 100644 --- a/source/_components/hdmi_cec.markdown +++ b/source/_components/hdmi_cec.markdown @@ -106,7 +106,7 @@ Choose just one schema. Mixing both approaches is not possible. ### {% linkable_title Select Device %} -Call the `hdmi_cec/select_device` service with the name of the device from config or entity_id or prysical address"to select it, for example: +Call the `hdmi_cec/select_device` service with the name of the device from config or entity_id or physical address"to select it, for example: ```json {"device": "Chromecast"} @@ -137,6 +137,47 @@ Call the `hdmi_cec/power_on` service (no arguments) to power on any devices that Call the `hdmi_cec/standby` service (no arguments) to place in standby any devices that support this function. +### {% linkable_title Change volume level %} + +Call the `hdmi_cec/volume` service with one of following commands: + +#### Volume up +Increase volume three times: +```json +{"up": 3} +``` +Keep increasing volume until release is called: +```json +{"up": "press"} +``` +Stop increasing volume: +```json +{"up": "release"} +``` + + +#### Volume down +Decrease volume three times: +```json +{"down": 3} +``` +Keep decreasing volume until release is called: +```json +{"down": "press"} +``` +Stop decreasing volume: +```json +{"down": "release"} +``` + +#### Volume mute +Toggle mute: +```json +{"mute": ""} +``` +value is ignores. + + ## {% linkable_title Useful References %} * [CEC overview](http://wiki.kwikwai.com/index.php?title=The_HDMI-CEC_bus) From 976a4106e1efa35fe03c064d490ae2a7026e0e2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Vran=C3=ADk?= Date: Mon, 26 Dec 2016 23:16:43 +0100 Subject: [PATCH 004/157] specifying default platform --- source/_components/hdmi_cec.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown index 575769d2e28..11ce78e1438 100644 --- a/source/_components/hdmi_cec.markdown +++ b/source/_components/hdmi_cec.markdown @@ -102,6 +102,12 @@ hdmi_cec: ``` Choose just one schema. Mixing both approaches is not possible. +Another option you can use in config is specifiing of default platform of HDMI devices. "switch" and "media_player" are supported. Switch is default. +```yaml +hdmi_cec: + platform: media_player +``` + ## {% linkable_title Services %} ### {% linkable_title Select Device %} From 862b66615298f703e36a496678422606a464da62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Vran=C3=ADk?= Date: Sun, 1 Jan 2017 13:05:23 +0100 Subject: [PATCH 005/157] Update hdmi_cec.markdown --- source/_components/hdmi_cec.markdown | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown index 11ce78e1438..07c08e45ce9 100644 --- a/source/_components/hdmi_cec.markdown +++ b/source/_components/hdmi_cec.markdown @@ -102,11 +102,25 @@ hdmi_cec: ``` Choose just one schema. Mixing both approaches is not possible. -Another option you can use in config is specifiing of default platform of HDMI devices. "switch" and "media_player" are supported. Switch is default. +Another option you can use in config is `platform` which specifying of default platform of HDMI devices. "switch" and "media_player" are supported. Switch is default. ```yaml hdmi_cec: platform: media_player ``` +Then you set individual platform for devices in customizations: +```yaml +homeassistant: + customize: + hdmi_cec.hdmi_5: + platform: media_player +``` + +And the last option is `host`. PyCEC supports bridging CEC commands over TCP. When you start pyCEC on machine with HDMI port (`python -m pycec`), you can then run homeassistant on another machine and connect to CEC over TCP. Specify TCP address of pyCEC server: +```yaml +hdmi_cec: + host: 192.168.1.3 +``` + ## {% linkable_title Services %} From c77d2ad5ec23e20a0623841d3a2bb3dc4c2f58a1 Mon Sep 17 00:00:00 2001 From: Colin O'Dell Date: Sun, 15 Jan 2017 14:38:15 -0500 Subject: [PATCH 006/157] Document the steam_source option for Amcrest cameras (#1735) * Document the steam_source option for Amcrest cameras See https://github.com/home-assistant/home-assistant/pull/5217 * Add note about improving MJPEG image quality --- source/_components/camera.amcrest.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_components/camera.amcrest.markdown b/source/_components/camera.amcrest.markdown index 90c24ad853b..2240215809c 100644 --- a/source/_components/camera.amcrest.markdown +++ b/source/_components/camera.amcrest.markdown @@ -33,4 +33,6 @@ Configuration variables: - **name** (*Optional*): This parameter allows you to override the name of your camera. The default is "Amcrest Camera". - **port** (*Optional*): The port that the camera is running on. The default is 80. - **resolution** (*Optional*): This parameter allows you to specify the camera resolution. For a high resolution (1080/720p), specify the option `high`. For VGA resolution (640x480p), specify the option `low`. If omitted, it defaults to *high*. +- **stream_source** (*Optional*): The data source for the live stream. `mjpeg` will use the camera's native MJPEG stream, whereas `snapshot` will use the camera's snapshot API to create a stream from still images. If omitted, it defaults to *mjpeg*. +**Note:** Amcrest cameras with newer firmwares no longer have the ability to stream `high` definition video with MJPEG encoding. You may need to use `low` resolution stream or the `snapshot` stream source instead. If the quality seems too poor, lower the `Frame Rate (FPS)` and max out the `Bit Rate` settings in your camera's configuration manager. From 76f0881d49f5efbc7002d2a5093c77eb20716642 Mon Sep 17 00:00:00 2001 From: Colin O'Dell Date: Sun, 15 Jan 2017 14:45:21 -0500 Subject: [PATCH 007/157] Inform users that Docker now includes ffmpeg (#1782) Prior to this release, some people may have extended the base Docker image to install `ffmpeg` or `libav` themselves. This is no longer necessary. We should therefore alert these users to this change so they're not installing extra/conflicting packages. --- source/_posts/2017-01-14-iss-usps-images-packages.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index 9762db10ad9..c627059c1c4 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -69,6 +69,7 @@ The new [image processing component][image] currently works with [number plates] - Media player - SqueezeBox: Switch to JSON-RPC ([@dasos]) - Scripts: Support for `last_triggered` ([@Danielhiversen]) - Media player: Support for `SUPPORT_PLAY` flag ([@armills]) +- Docker: `ffmpeg` is now included by default ([@colinodell]) - Minor and not so minor features and bug fixes by [@balloob], [@pvizeli], [@fabaff], [@mezz64], [@andrey-git], [@aequitas], [@abmantis], [@turbokongen], [@jabesq], [@michaelarnauts], [@kellerza], [@titilambert], [@btorresgil], [@henworth], [@armills], [@mjg59], [@Giannie], [@n8henrie], [@magicus], [@florianholzapfel], [@MrMep], [@bah2830], [@happyleavesaoc], [@lwis], [@glance-], [@markferry], and [@nikdoof]. ## {% linkable_title Breaking changes %} @@ -96,6 +97,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [@balloob]: https://github.com/balloob [@brandonweeks]: https://github.com/brandonweeks [@btorresgil]: https://github.com/btorresgil +[@colinodell]: https://github.com/colinodell [@Danielhiversen]: https://github.com/Danielhiversen [@danieljkemp]: https://github.com/danieljkemp [@danielperna84]: https://github.com/danielperna84 From 9f5b9975b9e3279ebd83adb2ef5fd991795c3ca6 Mon Sep 17 00:00:00 2001 From: Gianluca Barbaro Date: Sun, 15 Jan 2017 23:06:35 +0100 Subject: [PATCH 008/157] Update keyboard_remote.markdown (#1774) * Update keyboard_remote.markdown Added info and examples on events when keyboard disconnects or reconnects. Added info on how to set permissions on the event input device file. * Update keyboard_remote.markdown * Update keyboard_remote.markdown * Update keyboard_remote.markdown --- source/_components/keyboard_remote.markdown | 54 +++++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/source/_components/keyboard_remote.markdown b/source/_components/keyboard_remote.markdown index 62dd5844035..93f203dcfce 100644 --- a/source/_components/keyboard_remote.markdown +++ b/source/_components/keyboard_remote.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Keyboard" +title: "Keyboard Remote" description: "Instructions how to use a keyboard to remote control Home Assistant." date: 2016-09-28 14:39 sidebar: true @@ -23,13 +23,13 @@ The `evdev` package is used to interface with the keyboard and thus this is Linu ```yaml # Example configuration.yaml entry keyboard_remote: - device_descriptor: '/dev/input/by-id/foo' + device_descriptor: '/dev/input/event12' type: 'key_up' ``` Configuration variables: -- **device_descriptor** (*Required*): List of URLS for your feeds. +- **device_descriptor** (*Required*): Path to the local event input device file that corresponds to the keyboard. - **type** (*Required*): Possible values are `key_up`, `key_down`, and `key_hold`. Be careful, `key_hold` will fire a lot of events. And an automation rule to breathe life into it: @@ -46,3 +46,51 @@ automation: service: light.turn_on entity_id: light.all ``` + +## {% linkable_title Disconnections %} +This component manages disconnections and re-connections of the keyboard, for example in the case of a bluetooth device that turns off automatically to preserve battery. + +If the keyboard disconnects, the component will fire an event `keyboard_remote_disconnected`. +When the keyboard reconnects an event `keyboard_remote_connected` will be fired. + +Here's an automation example that plays a sound through a media player whenever the keyboard connects/disconnects: +```yaml +automation: + - alias: Keyboard Connected + trigger: + platform: event + event_type: keyboard_remote_connected + action: + - service: media_player.play_media + data: + entity_id: media_player.speaker + media_content_id: keyboard_connected.wav + media_content_type: music + - alias: Keyboard Disconnected + trigger: + platform: event + event_type: keyboard_remote_disconnected + action: + - service: media_player.play_media + data: + entity_id: media_player.speaker + media_content_id: keyboard_disconnected.wav + media_content_type: music +``` + +## {% linkable_title Permissions %} +There might be permissions problems with the event input device file. If this is the case, the user that hass runs as must be allowed read and write permissions with: +``` +sudo setfacl -m u:HASS_USER:rw /dev/input/event* +``` +where `HASS_USER` is the user hass runs as and `event*` is the event input device file your keyboard is connected to. + +If you want to make this permanent, you can use a udev rule that sets it for your event input device. Add a file `/etc/udev/rules.d/99-userdev-input.rules` containing: +``` +KERNEL=="event*", SUBSYSTEM=="input", RUN+="/usr/bin/setfacl -m u:HASS_USER:rw $env{DEVNAME}" +``` + +You can check the ACLs permission with +``` +getfacl /dev/input/event* +``` From 54ea7df94d6b354ce016b83004a39272593b554d Mon Sep 17 00:00:00 2001 From: Mathew Peterson Date: Mon, 16 Jan 2017 01:17:57 -0600 Subject: [PATCH 009/157] Fix/openalpr docs (#1790) * Fixes image_processing.openalpr_cloud.markdown Fixes image_processing.openalpr_cloud.markdown with correct configuration variables * Fixes image_processing.openalpr_local.markdown Fixes image_processing.openalpr_local.markdown with correct configuration variables --- .../_components/image_processing.openalpr_cloud.markdown | 5 +++-- .../_components/image_processing.openalpr_local.markdown | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/source/_components/image_processing.openalpr_cloud.markdown b/source/_components/image_processing.openalpr_cloud.markdown index cb856a44890..366578664d6 100644 --- a/source/_components/image_processing.openalpr_cloud.markdown +++ b/source/_components/image_processing.openalpr_cloud.markdown @@ -21,6 +21,7 @@ ha_release: 0.36 # Example configuration.yaml entry image_processing: - platform: openalpr_cloud + api_key: 'sk_abcxyz123456' region: eu source: - entity_id: camera.garage @@ -28,8 +29,8 @@ image_processing: Configuration variables: - **region** (*Required*): Country or region. List of supported [values](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). -- **alpr_bin** (*Optional*): The command line tool alpr from OpenALPR software for local processing. Defaults to `alpr`. -- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. +- **api_key** (*Required*): You need an API key from [OpenALPR Cloud](https://cloud.openalpr.com/). +- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. - **source** array (*Required*): List of image sources. - **entities** (*Required*): A list of devices to add in Home Assistant. - **name** (*Optional*): This parameter allows you to override the name of your OpenALPR entity. diff --git a/source/_components/image_processing.openalpr_local.markdown b/source/_components/image_processing.openalpr_local.markdown index 11e8818445a..ddf911d6d44 100644 --- a/source/_components/image_processing.openalpr_local.markdown +++ b/source/_components/image_processing.openalpr_local.markdown @@ -35,11 +35,11 @@ $ wget -O- -q http://plates.openalpr.com/h786poj.jpg | alpr - ### {% linkable_title Configuration Home Assistant %} + ```yaml # Example configuration.yaml entry image_processing: - - platform: openalpr_cloud - api_key: 'sk_abcxyz123456' + - platform: openalpr_local region: eu source: - entity_id: camera.garage @@ -47,8 +47,8 @@ image_processing: Configuration variables: - **region** (*Required*): Country or region. List of supported [values](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). -- **api_key** (*Required*): You need an API key from [OpenALPR Cloud](https://cloud.openalpr.com/). -- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. +- **alpr_bin** (*Optional*): The command line tool alpr from OpenALPR software for local processing. Defaults to `alpr`. +- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. - **source** array (*Required*): List of image sources. - **entities** (*Required*): A list of devices to add in Home Assistant. - **name** (*Optional*): This parameter allows you to override the name of your OpenALPR entity. From f4e21d20d2753ae2d603fe8aec7edbb6db7e90c6 Mon Sep 17 00:00:00 2001 From: whhsw Date: Mon, 16 Jan 2017 19:44:36 +0800 Subject: [PATCH 010/157] Add new parameter to sensor.aqi (#1739) * Add new parameter to sensor.aqi A city might have more stations than is needed. Adding an optional station parameter to restrict results. * Update sensor.waqi.markdown --- source/_components/sensor.waqi.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.waqi.markdown b/source/_components/sensor.waqi.markdown index 73260b00339..21e549bea7b 100644 --- a/source/_components/sensor.waqi.markdown +++ b/source/_components/sensor.waqi.markdown @@ -22,13 +22,17 @@ To enable this sensor, add the following lines to your `configuration.yaml` file sensor: - platform: waqi locations: - - beijin + - beijing + stations: + - Beijing US Embassy ``` Configuration variables: - **locations** (*Required*): a list of location names to look for air quality data. In case a specific location has multiple registered stations all of them will be added to Home Assistant +- **stations** (*Optional*): a list of station names to look for air quality data. Station should be within locations specified above. + The value reported is an overall AQ index for the location. The values of the index can be interpreted as following: AQI | Status | Description From 343bf99d5028a56b1fc0d7989db6f01dcab2455e Mon Sep 17 00:00:00 2001 From: Alex Mekkering Date: Tue, 17 Jan 2017 09:08:18 +0100 Subject: [PATCH 011/157] Add support for remote (TCP/IP) DSMR sensors (i.e. via ser2net) (#1699) * Add support for remote (TCP/IP) DSMR sensors (i.e. via ser2net) * Processed review comment and added ser2net config --- source/_components/sensor.dsmr.markdown | 41 ++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/source/_components/sensor.dsmr.markdown b/source/_components/sensor.dsmr.markdown index d71e6aa083e..b8f864e90d0 100644 --- a/source/_components/sensor.dsmr.markdown +++ b/source/_components/sensor.dsmr.markdown @@ -33,10 +33,15 @@ This component is known to work for: - Kaifa E0026 - Kamstrup 382JxC (DSMR 2.2) -And USB serial converters: +,USB serial converters: - Cheap (Banggood/ebay) Generic PL2303 - https://sites.google.com/site/nta8130p1smartmeter/webshop +- https://www.sossolutions.nl/slimme-meter-kabel + +And Serial to network proxies: + +- ser2net - http://ser2net.sourceforge.net/ ```yaml # Example configuration.yaml entry @@ -46,13 +51,14 @@ sensor: Configuration variables: -- **port** string (*Optional*): Serial port to which Smartmeter is connected (default: /dev/ttyUSB0). -- **dsmr_version_** string (*Optional*): Version of DSMR used by meter, choices: 2.2, 4 (default: 2.2). +- **port** string (*Optional*): Serial port to which Smartmeter is connected (default: /dev/ttyUSB0 (connected to USB port)). For remote (i.e. ser2net) connections, use TCP port number to connect to (i.e. 2001). +- **host** string (*Optional*): Host to which Smartmeter is connected (default: '' (connected via serial or USB, see **port**)). For remote connections, use IP address of host to connect to (i.e. 192.168.1.13). +- **dsmr_version** string (*Optional*): Version of DSMR used by meter, choices: 2.2, 4 (default: 2.2). -A full configuration example can be found below: +Full configuration examples can be found below: ```yaml -# Example configuration.yaml entry +# Example configuration.yaml entry for USB/serial connected Smartmeter sensor: - platform: dsmr port: /dev/ttyUSB1 @@ -69,6 +75,31 @@ group: - sensor.gas_consumption ``` +```yaml +# Example configuration.yaml entry for remote (TCP/IP, i.e. via ser2net) connection to host which is connected to Smartmeter +sensor: + - platform: dsmr + host: 192.168.1.13 + port: 2001 + dsmr_version: 4 + +group: + meter_readings: + name: Meter readings + entities: + - sensor.power_consumption_low + - sensor.power_consumption_normal + - sensor.power_production_low + - sensor.power_production_normal + - sensor.gas_consumption +``` + +Optional configuration example for ser2net: +```sh +# Example /etc/ser2net.conf for proxying USB/serial connections to DSMRv4 smart meters +2001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS +``` + [HASSbian](/getting-started/installation-raspberry-pi-image/) users have to give dialout permission to the user `homeassistant`: ``` From 353f403fc1439ee9cb3e583df27dd7f4f5f5847f Mon Sep 17 00:00:00 2001 From: Giel Janssens Date: Tue, 17 Jan 2017 09:09:27 +0100 Subject: [PATCH 012/157] Add documentation for Netatmo Presence (#1607) * Add Netatmo Thermostat * fixes * devices -> optional * remove-optional-devices * Add Netatmo Presence * tags are supported --- .../binary_sensor.netatmo.markdown | 26 ++++++++++++------- source/_components/camera.netatmo.markdown | 4 +-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/source/_components/binary_sensor.netatmo.markdown b/source/_components/binary_sensor.netatmo.markdown index 09911dd896f..92717748bc1 100644 --- a/source/_components/binary_sensor.netatmo.markdown +++ b/source/_components/binary_sensor.netatmo.markdown @@ -14,7 +14,7 @@ ha_release: 0.31 ### {% linkable_title Basic Configuration %} -The `netatmo` binary sensor platform is consuming the information provided by a [Netatmo Welcome](https://www.netatmo.com) camera. This component allows you to get the latest event seen by the camera. +The `netatmo` binary sensor platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to get the latest event seen by the camera. To enable the Netatmo binary sensor, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your binary sensor. @@ -28,27 +28,35 @@ binary_sensor: platform: netatmo home: home_name timeout: 15 + offset: 90 cameras: - camera_name1 - monitored_conditions: + welcome_sensors: - Someone known - - Someone unknown + - Someone unknown - Motion + presence_sensors: + - Outdoor motion + - Outdoor human + - Outdoor animal + - Outdoor vehicle ``` Configuration variables: - **home** (*Optional*): Will use the cameras of this home only. -- **timeout** (*Optional*): The binary sensors will reflect the events from the last X minutes (default: 15) +- **timeout** (*Optional*): The Welcome binary sensors will reflect the events from the last X minutes. (default: 15) +- **offset** (*Optional*): The Presence binary sensors will stay on for X seconds after detection. (default: 90) - **cameras** array (*Optional*): Cameras to use. Multiple entities allowed. - 'camera_name': Name of the camera to display. -- **monitored_conditions** array (*Optional*): List of monitored conditions. +- **welcome_sensors** array (*Optional*): List of monitored conditions. - 'Someone known' - 'Someone unknown' - 'Motion' +- **presence_sensors** array (*Optional*): List of monitored conditions. + - 'Outdoor motion' + - 'Outdoor human' + - 'Outdoor animal' + - 'Outdoor vehicle' If **home** and **cameras** is not provided, all cameras will be used. If multiple cameras are available then each monitored conditions will create a specific sensor for each camera - -

-[Welcome tags](https://www.netatmo.com/product/security/welcome/tags) are not yet supported, but will be in a next update. -

diff --git a/source/_components/camera.netatmo.markdown b/source/_components/camera.netatmo.markdown index 0c0c2b7a693..b569974d829 100644 --- a/source/_components/camera.netatmo.markdown +++ b/source/_components/camera.netatmo.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Netatmo Camera" -description: "Instructions how to integrate Netatmo camera into Home Assistant." +description: "Instructions how to integrate Netatmo cameras into Home Assistant." date: 2016-06-02 08:10 sidebar: true comments: false @@ -14,7 +14,7 @@ ha_release: 0.22 ### {% linkable_title Basic Configuration %} -The `netatmo` camera platform is consuming the information provided by a [Netatmo Welcome](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera. +The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera. To enable the Netatmo camera, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your camera. From fa639775818b8dcee8056397fdfcf9fdad010dc8 Mon Sep 17 00:00:00 2001 From: Christiaan Blom Date: Tue, 17 Jan 2017 09:10:10 +0100 Subject: [PATCH 013/157] Add Discord notification component documentation (#1767) * Added Discord component page * Changed description * Add discord image --- source/_components/notify.discord.markdown | 66 +++++++++++++++++++++ source/images/supported_brands/discord.png | Bin 0 -> 4131 bytes 2 files changed, 66 insertions(+) create mode 100644 source/_components/notify.discord.markdown create mode 100644 source/images/supported_brands/discord.png diff --git a/source/_components/notify.discord.markdown b/source/_components/notify.discord.markdown new file mode 100644 index 00000000000..a3fb4c7b61d --- /dev/null +++ b/source/_components/notify.discord.markdown @@ -0,0 +1,66 @@ +--- +layout: page +title: "Discord" +description: "Instructions how to add Discord notifications to Home Assistant." +date: 2016-01-14 15:15 +sidebar: true +comments: false +sharing: true +footer: true +logo: discord.png +ha_category: Notifications +--- + +The [Discord service](https://discordapp.com/) is a platform for the notify component. This allows components to send messages to the user using Discord. + +In order to get a token you need to go to the [Discord My Apps page](https://discordapp.com/developers/applications/me) and create a new application. Once the application is ready, create a bot user. Retreive the client ID and the (hidden) token of your bot for later. + +When setting up the application you can use this [icon](https://home-assistant.io/demo/favicon-192x192.png). + +### {% linkable_title Configuration %} + +To use Discord notifications, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +notify: + - name: NOTIFIER_NAME + platform: discord + token: A1aB2b.C3cD4d-E5eF6f +``` + +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`. +- **token** (*Required*): Your bot's token. + +### {% linkable_title Using the bot %} +Bots can only send messages to servers. To add the bot to a server you are an admin on, use the Discord OAuth2 Authorization page: + +[https://discordapp.com/api/oauth2/authorize?client_id=1234567890&scope=bot&permissions=0](https://discordapp.com/api/oauth2/authorize?client_id=1234567890&scope=bot&permissions=0) + +Replace the client ID with the appropriate one from the [Discord My Apps page](https://discordapp.com/developers/applications/me). + +Once the bot user has been added to your server, get the channel ID of the channel you want the bot to operate in. +* In The Discord app go to Settings > Appearance > Check developer mode +* Right click channel name > Copy ID + +This channel ID has to be used as the target when calling the notification service. Multiple channel IDs can be specified, across multiple servers. + +#### {% linkable_title Example service payload %} + +```json +{ + "message": "A message from Home Assistant", + "target": [ + "1234567890", + "0987654321" + ] +} +``` + +### {% linkable_title Notes %} + +For more information about creating and authorizing bots, visit the [OAuth2 information page](https://discordapp.com/developers/docs/topics/oauth2) + +To use notifications effectively, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/images/supported_brands/discord.png b/source/images/supported_brands/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..5e2872e486b2b590c662b964dac6f56f66bd5bb6 GIT binary patch literal 4131 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 e?^yp|E0}4LPknIOVzukv7X35EI Date: Tue, 17 Jan 2017 03:11:34 -0500 Subject: [PATCH 014/157] Added documentation to Amcrest camera sensors (#1763) * Added documentation to Amcrest camera sensors * Added scan_interval option and changed release to 0.37 --- source/_components/sensor.amcrest.markdown | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 source/_components/sensor.amcrest.markdown diff --git a/source/_components/sensor.amcrest.markdown b/source/_components/sensor.amcrest.markdown new file mode 100644 index 00000000000..dc5e0d80d26 --- /dev/null +++ b/source/_components/sensor.amcrest.markdown @@ -0,0 +1,43 @@ +--- +layout: page +title: "Amcrest IP Camera" +description: "Instructions how to integrate Amcrest IP cameras sensors within Home Assistant." +date: 2017-01-13 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: amcrest.png +ha_category: Sensor +ha_release: 0.37 +--- + +The `amcrest` sensor allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant. + +To enable the `amcrest` sensors on your camera, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: amcrest + host: IP_ADDRESS + username: USERNAME + password: PASSWORD + monitored_conditions: + - motion_detector + - sdcard + - ptz_preset +``` + +Configuration variables: + +- **host** (*Required*): The IP address or hostname of your camera. If using hostname, make sure the DNS works as expected. +- **username** (*Required*): The username for accessing your camera. +- **password** (*Required*): The password for accessing your camera. +- **name** (*Optional*): This parameter allows you to override the name of your camera. The default is "Amcrest Camera". +- **port** (*Optional*): The port that the camera is running on. The default is 80. +- **scan_interval** (*Optional*): Defines the update interval of the sensor in seconds. The default is 10 seconds. +- **monitored_conditions** array (*Required*): Conditions to display in the frontend. The following conditions can be monitored. + - **motion_detector**: Return True/False when a motion is detected + - **sdcard**: Return the SD card usage by reporting the total and used space + - **ptz_preset**: Return the number of PTZ preset positions configured for the given camera From 7fc6b4782c65cfb7148d83cb60437c616f4aeae9 Mon Sep 17 00:00:00 2001 From: Whytey Date: Tue, 17 Jan 2017 19:34:18 +1000 Subject: [PATCH 015/157] Zabbix (#1596) * Markdown documentation for the zabbix component and sensors * Initial commit, matches the current PR for the component/sensor --- source/_components/sensor.zabbix.markdown | 40 +++++++++++++++++++++ source/_components/zabbix.markdown | 42 +++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 source/_components/sensor.zabbix.markdown create mode 100644 source/_components/zabbix.markdown diff --git a/source/_components/sensor.zabbix.markdown b/source/_components/sensor.zabbix.markdown new file mode 100644 index 00000000000..7253916859b --- /dev/null +++ b/source/_components/sensor.zabbix.markdown @@ -0,0 +1,40 @@ +--- +layout: page +title: "Zabbix Sensor" +description: "Instructions how to integrate Zabbix Triggers sensors within Home Assistant." +date: 2016-12-13 22:57 +sidebar: true +comments: false +sharing: true +footer: true +logo: +ha_category: Sensor +ha_release: 0.35 +--- + + +The `zabbix` sensor platform let you monitor the current count of active triggers for your [Zabbix](http://www.zabbix.com/) monitoring instance. + +

+You must have the [Zabbix component](/components/zabbix/) configured to use those sensors. +

+ +To set it up, add the following information to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: zabbix + triggers: + name: Important Hosts Trigger Count + hostids: [10051,10081,10084] + individual: true +``` + +Configuration variables: + +- **triggers** (*Required*): Specifies that this sensor is for Zabbix 'triggers'. In the future there will be other Zabbix sensors. +- **name** (*Optional*): Allows you to specify the name for the Sensor, otherwise the host name, as stored in Zabbix, is used. This is useful when you are specifying a list of hostids to monitor as a single count. +- **hostids** (*Optional*): This is a list of Zabbis hostids that we want to filter our count on. +- **individual** (*Optional*): A 'true'/'false' to specify whether we should show individual sensors when a list of hostsids is provided. If false, the sensor state will be the count of all triggers for the specified hosts (or all hosts within the Zabbix instance, if hostids isn't provided). + diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown new file mode 100644 index 00000000000..c113092c3c9 --- /dev/null +++ b/source/_components/zabbix.markdown @@ -0,0 +1,42 @@ +--- +layout: page +title: "Zabbix" +description: "Instructions how to integrate Zabbix into Home Assistant." +date: 2016-12-13 22:57 +sidebar: true +comments: false +sharing: true +footer: true +logo: g +ha_category: +featured: false +ha_release: 0.35 +--- + +The Zabbix component is the main component to connect to a Zabbix monitoring instance via the Zabbix API. + +```yaml +zabbix: + host: 192.168.0.100 + username: zabbix_user + password: zabbix_password +``` + +Configuration variables: +- **host** (*Required*): Your Zabbix server. +- **path** (*Optional*): Path to your Zabbix install. Defaults to `/zabbix/`. +- **ssl** (*Optional*): Set to `True` if your Zabbix installation is using SSL. Default to `False`. +- **username** (*Optional*): Your Zabbix username. +- **password** (*Optional*): Your Zabbix password. + +### {% linkable_title Full configuration %} + +```yaml +# Example configuration.yaml entry +zoneminder: + host: ZABBIX_HOST + path: ZABBIX_PATH + ssl: False + username: USERNAME + password: PASSWORD +``` From d2702ddc01a6a61d9f00e2dea07c6c2e13feb5b2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 17 Jan 2017 09:06:34 +0100 Subject: [PATCH 016/157] Add @jmvermeulen --- source/developers/credits.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 1146cb15a5b..624008d1b37 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -143,6 +143,7 @@ This page contains a list of people who have contributed in one way or another t - [Jesse Newland](https://github.com/jnewland) - [jgriff2](https://github.com/jgriff2) - [jnimmo](https://github.com/jnimmo) +- [Job Vermeulen](https://github.com/jmvermeulen) - [Joel Asher Friedman](https://github.com/joelash) - [Joe McMonagle](https://github.com/joemcmonagle) - [Johan Bloemberg](https://github.com/aequitas) @@ -274,5 +275,4 @@ This page contains a list of people who have contributed in one way or another t - [wokar](https://github.com/wokar) - [Zac Mrowicki](https://github.com/zmrow) - This page is irregularly updated. As a base we use the Github [contributors overview](https://github.com/home-assistant/home-assistant/graphs/contributors) of the Home Assistant git repository and the [overview](https://github.com/home-assistant/home-assistant.io/graphs/contributors) for [home-assistant.io](https://home-assistant.io). If you think that you are missing, please let us know or add yourself. From 71e079773e25fedfac60755166a27bbfdb4b34c5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 17 Jan 2017 10:41:09 +0100 Subject: [PATCH 017/157] Update Zabbix docs and add logo --- source/_components/sensor.zabbix.markdown | 10 +++++----- source/_components/zabbix.markdown | 14 ++++++++------ source/images/supported_brands/zabbix.png | Bin 0 -> 2670 bytes 3 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 source/images/supported_brands/zabbix.png diff --git a/source/_components/sensor.zabbix.markdown b/source/_components/sensor.zabbix.markdown index 7253916859b..9a3a123a8ab 100644 --- a/source/_components/sensor.zabbix.markdown +++ b/source/_components/sensor.zabbix.markdown @@ -7,12 +7,12 @@ sidebar: true comments: false sharing: true footer: true -logo: -ha_category: Sensor -ha_release: 0.35 +logo: zabbix.png +ha_category: System Monitor +ha_release: 0.37 +ha_iot_class: "Local Polling" --- - The `zabbix` sensor platform let you monitor the current count of active triggers for your [Zabbix](http://www.zabbix.com/) monitoring instance.

@@ -33,7 +33,7 @@ sensor: Configuration variables: -- **triggers** (*Required*): Specifies that this sensor is for Zabbix 'triggers'. In the future there will be other Zabbix sensors. +- **triggers** array(*Required*): Specifies that this sensor is for Zabbix 'triggers'. In the future there will be other Zabbix sensors. - **name** (*Optional*): Allows you to specify the name for the Sensor, otherwise the host name, as stored in Zabbix, is used. This is useful when you are specifying a list of hostids to monitor as a single count. - **hostids** (*Optional*): This is a list of Zabbis hostids that we want to filter our count on. - **individual** (*Optional*): A 'true'/'false' to specify whether we should show individual sensors when a list of hostsids is provided. If false, the sensor state will be the count of all triggers for the specified hosts (or all hosts within the Zabbix instance, if hostids isn't provided). diff --git a/source/_components/zabbix.markdown b/source/_components/zabbix.markdown index c113092c3c9..41c9e643155 100644 --- a/source/_components/zabbix.markdown +++ b/source/_components/zabbix.markdown @@ -7,22 +7,24 @@ sidebar: true comments: false sharing: true footer: true -logo: g -ha_category: +logo: zabbix.png +ha_category: System Monitor featured: false -ha_release: 0.35 +ha_release: 0.37 --- -The Zabbix component is the main component to connect to a Zabbix monitoring instance via the Zabbix API. +The `zabbix` component is the main component to connect to a [Zabbix](http://www.zabbix.com/) monitoring instance via the Zabbix API. + +To set the Zabbix component up, add the following information to your `configuration.yaml` file: ```yaml +# Example configuration.yaml entry zabbix: host: 192.168.0.100 - username: zabbix_user - password: zabbix_password ``` Configuration variables: + - **host** (*Required*): Your Zabbix server. - **path** (*Optional*): Path to your Zabbix install. Defaults to `/zabbix/`. - **ssl** (*Optional*): Set to `True` if your Zabbix installation is using SSL. Default to `False`. diff --git a/source/images/supported_brands/zabbix.png b/source/images/supported_brands/zabbix.png new file mode 100644 index 0000000000000000000000000000000000000000..0a62d6df936684befe6bb974499a845816a8d833 GIT binary patch literal 2670 zcmV-!3X%1RP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW2onzg0L`tk!2kdN24YJ`L;(K) z{{a7>y{D4^0156%L_t(|+U;8lY!p=#ZBbwqNfD!HHN*&F0YOv@f`T8^7^9L}iV{sQ z{$e7=Pt*`dh>5{pVi1IwXoy0r_z8)|h($3(K8gsoJ8ysOZoA#>wp+Tp?RNivyt8li z&UE%OZ)UnilbyWKFnx31oqOK9_uPA@b*8$y+W23Onh9zU)SY|yos0~gn9mtK02rG;uw@O84S`# z0-t|IVGgt5%sNPbL*# z3ZIIbOr+F=)Y-E*r}xe~6|L0Q+>G-hM~)B{2w~Fjd++JNFPF`-KsdB{v-n6Zm+b9j z-09ZKE@M(7mlHO}#~+h2n*&xH{rq!wX#l5v$r8cA(n>7}~lV*d#+R(s0EHh>#>~>rX{BUKL2*2uCz8sHi zW^4>!nBjZVO=*J&% zE&HNHq)K@q$aOvZFus2_8U>HaLX^F)y@uM`X3vJ3k>7r!|4mq}#tDVcw|%=9PVT!; z^C{%x%S9LEQYoaVdLX1YCHwj?#CBhI9nSYW{j~UkZEd7VsXfTGG&JOrNeuGfwHTj` zb#w?Uc(ZIgPA5Y+)CnQaPM0hZQ%NNrbLg(Mi<2B!}~n& z^!@jQId+ch*>kQCr7f3Uiub9<1DWaJVQzxxjJ2^5QWt6tIQmAdbcW<-o_*^rTo+u9 z{!>U5fP^?FVM&NzaQ}X;8Z}a?*66-{Vi|(t2=n9SY12@}@R1`@6@j~pLF=K1be=+< zl;3j?>=J~h%B}sGntiMWSZcu&Tx#w`bOgLg)r^&K}sVXvD2p$4o7BmRLsgVnZ5@eP^`|t8^t<1 zWzyn=q}*<)al?lX18Xbk>a{`0pYLtkkbeqcd)2C{bSgk6$1S%A_))%l!wp0Y{Gp$I zqUIO9-XLz=3x4TWP%2!Abhqi2CIfc3M7jEj5*9)l&OO3RwD2bPY zSk6r-gnT03*ocWdEr%Mb0U_uew^&3B^0i}CPT2q9hhmm}?X@LeCUX3^z}o$OBLjq? zLx*~nEgLs(y%oHWd)>Ox{rjb7$n)&8iq#qS`t@>YD^@sHuO58)WpEo}pmI7f0niU2 zpU59NBy*(xUArbY7J|630|#(30;M*p=RpwR1akQI-<@UVc%FPxJmt;Jdgu(7uVX>_ zjFW-UXrMDRDucp&z^Uq5?zi{xg*>avk3xptOVBwD)9J$qtb!2>IUfmMzjoxn>Bdv~;2Eo+)a5sIAUGz!n>ad-rk$ zl~Mx(Xshn|^L3p+oMxvT zW`;IusfQOW65>|=M|V?`+V4owQl!2<<@HiYDVNL0e0Cw57LB!WBm1{A_z|qFu`&3~ zH`2&Dv~{bDi^;#8nKP%Pw9fpwN%r(ezk>obG(gBRJ%vhA&|Fld%JXm z+S@TRky;!KS6nQWK?t#5CN2EyuW^nm?j*QM6&G0`1WG9Gzdd^txfpH#=6OV_c+-@I zuv4Ok=F7KzJFSnlWp2?}d-oFEWo}_ZWHP-gS8Aw{ z655R^^e+|LqI3YileT64JqZ1~ck@K1sY$jxQNx3r_uebru-y18ljTYW0zl^|7bpv1 zTN|S^2+xqoK{CMdDRAt}8B&yFCu}w;Eg)=m2YT)25M-`h>ykEsr%rW0_E=d39(e??cPw2BG(qw27Wnqr%{RM2ei>$>xkw~MQzmnIIT8n5Y|Qw!Wx9N c@gE)k07VN%?J>%bSpWb407*qoM6N<$f^@ Date: Tue, 17 Jan 2017 20:52:42 +0100 Subject: [PATCH 018/157] Skybeacon docs (#1802) * Add @Whytey * Add Skybeacon docs --- source/_components/sensor.skybeacon.markdown | 33 ++++++++++++++++++++ source/developers/credits.markdown | 1 + 2 files changed, 34 insertions(+) create mode 100644 source/_components/sensor.skybeacon.markdown diff --git a/source/_components/sensor.skybeacon.markdown b/source/_components/sensor.skybeacon.markdown new file mode 100644 index 00000000000..f7fd535b3bd --- /dev/null +++ b/source/_components/sensor.skybeacon.markdown @@ -0,0 +1,33 @@ +--- +layout: page +title: "Skybeacon sensor" +description: "Instructions on how to integrate MiFlora BLE plant sensor with Home Assistant." +date: 2017-01-17 10:00 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: DIY +ha_release: 0.37 +ha_iot_class: "Local Polling" +--- + +The `skybeacon` sensor platform supports [CR2477](http://cnsky9.en.alibaba.com)-powered [iBeacon](https://en.wikipedia.org/wiki/IBeacon)/eddystone sensors that come with temperature/sensor module. + +To use your Skybeacon sensor in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: skybeacon + mac: "xx:xx:xx:xx:xx:xx" + monitored_conditions: + - temperature + - humidity +``` + +- **mac** (*Required*): The MAC address of your sensor. You can find this be running `hcitool lescan` from command line. +- **monitored_conditions** array (*Required*): The paramaters that should be monitored. + - **temperature**: Temperature at the sensor's location. + - **humidity**: Humidity at the sensor's location. + diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index 624008d1b37..796e2256214 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -269,6 +269,7 @@ This page contains a list of people who have contributed in one way or another t - [vladonemo](https://github.com/vladonemo) - [Warren Konkel](https://github.com/wkonkel) - [webworxshop](https://github.com/webworxshop) +- [Whytey](https://github.com/Whytey) - [Willems Davy](https://github.com/joyrider3774) - [William Scanlon](https://github.com/w1ll1am23) - [wind-rider](https://github.com/wind-rider) From d5d7a1967c33663a604ec61cb395d0a126ec0920 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 17 Jan 2017 20:53:00 +0100 Subject: [PATCH 019/157] Add tado docs (#1801) --- .../_components/device_tracker.tado.markdown | 34 ++++++++++++++++++ source/images/supported_brands/tado.png | Bin 0 -> 8809 bytes 2 files changed, 34 insertions(+) create mode 100644 source/_components/device_tracker.tado.markdown create mode 100644 source/images/supported_brands/tado.png diff --git a/source/_components/device_tracker.tado.markdown b/source/_components/device_tracker.tado.markdown new file mode 100644 index 00000000000..a9d3101b3e9 --- /dev/null +++ b/source/_components/device_tracker.tado.markdown @@ -0,0 +1,34 @@ +--- +layout: page +title: "Tado" +description: "Instructions how to integrate Tado into Home Assistant." +date: 2015-10-08 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: tado.png +ha_category: Presence Detection +ha_release: 0.37 +--- + +The `tado` device tracker is using the [Tado Smart Thermostat](https://www.tado.com/) and it's support for person presence detection based on smartphone location by geofencing. + +This tracker uses the Tado API to determine if a mobile device is at home. + +To use theTado platform in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry for SNMP version 1 +device_tracker: + - platform: tado + username: YOUR_USERNAME + password: YOUR_PASSWORD +``` + +Configuration variables: + +- **username** (*Required*): The username for your Tado account. +- **password** (*Required*): The password for your Tado account. + +See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/images/supported_brands/tado.png b/source/images/supported_brands/tado.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d84c297f07b6f8bc7bbfc4f26dc262e465a0c GIT binary patch literal 8809 zcmV-vB9`5WP)xQxX(mdABm%d)Pn?lV93-gmFH z_S)y;`h476drMdMoPEw&dwsp@ecxw2@4JZoxRS)IBKdwv7m_@~+SV={yngL3W18QP z^f40CQg)Bb{ul3yi^SR1+Vux=eJe1MoV@=K(!ot=-hF ztg+r7-dsiM0)QU?U;s2o&K#V^i|ZoU05C!NLRbi9aYe%0Amb0ClkuU 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 literal 0 HcmV?d00001 From 7ef569b3c4d2c09bdd535b2221986786b387e71f Mon Sep 17 00:00:00 2001 From: jmvermeulen Date: Tue, 17 Jan 2017 22:52:37 +0100 Subject: [PATCH 020/157] input_boolean supports 'input_boolean.toggle' as well. --- source/_components/input_boolean.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/input_boolean.markdown b/source/_components/input_boolean.markdown index 28b053296b3..fa05489a7fa 100644 --- a/source/_components/input_boolean.markdown +++ b/source/_components/input_boolean.markdown @@ -51,7 +51,7 @@ automation: message: "Honey, I'm home!" ``` -You can also set or change the status of an `input_boolean` by using `input_boolean.turn_on` and `input_boolean.turn_off` in your automations. +You can also set or change the status of an `input_boolean` by using `input_boolean.turn_on`, `input_boolean.turn_off` or `input_boolean.toggle` in your automations. ```yaml - service: input_boolean.turn_on From 67564362aadbfba04db2ddd5f05eea1f5963d290 Mon Sep 17 00:00:00 2001 From: Job Vermeulen Date: Tue, 17 Jan 2017 23:43:46 +0100 Subject: [PATCH 021/157] Tado device tracker small doc improvements (#1806) * Device tracker Tado docs small typos correction * Added additional docs for Tado device tracker --- source/_components/device_tracker.tado.markdown | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/_components/device_tracker.tado.markdown b/source/_components/device_tracker.tado.markdown index a9d3101b3e9..69795adcf30 100644 --- a/source/_components/device_tracker.tado.markdown +++ b/source/_components/device_tracker.tado.markdown @@ -2,7 +2,7 @@ layout: page title: "Tado" description: "Instructions how to integrate Tado into Home Assistant." -date: 2015-10-08 12:00 +date: 2017-01-17 12:00 sidebar: true comments: false sharing: true @@ -16,10 +16,10 @@ The `tado` device tracker is using the [Tado Smart Thermostat](https://www.tado. This tracker uses the Tado API to determine if a mobile device is at home. -To use theTado platform in your installation, add the following to your `configuration.yaml` file: +To use the Tado platform in your installation, add the following to your `configuration.yaml` file: ```yaml -# Example configuration.yaml entry for SNMP version 1 +# Example configuration.yaml entry for Tado device_tracker: - platform: tado username: YOUR_USERNAME @@ -31,4 +31,7 @@ Configuration variables: - **username** (*Required*): The username for your Tado account. - **password** (*Required*): The password for your Tado account. +After configuration, your device has to be at home at least once before showing up as 'home' or 'away'. +Polling Tado API for presence information will occure at most once every 30 seconds. + See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. From 133a62bdf40b59a6005d633ddb9ea1470500e0e3 Mon Sep 17 00:00:00 2001 From: R1chardTM Date: Tue, 17 Jan 2017 23:58:01 +0100 Subject: [PATCH 022/157] Move Nest sensor configuration to Nest component (#1650) * Move Nest sensor configuration to Nest component * Remove support for empty monitored condion list * Add Nest sensors by default with opt-out --- .../_components/binary_sensor.nest.markdown | 20 ++++++------------- source/_components/sensor.nest.markdown | 14 ++++++------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/source/_components/binary_sensor.nest.markdown b/source/_components/binary_sensor.nest.markdown index fd6a92396c6..c466222c056 100644 --- a/source/_components/binary_sensor.nest.markdown +++ b/source/_components/binary_sensor.nest.markdown @@ -16,33 +16,25 @@ ha_release: pre 0.7 The `nest` binary sensor platform lets you monitor various states of your [Nest](https://nest.com) devices.

-You must have the [Nest component](/components/nest/) configured to use these sensors. The `nest` binary sensor will automatically be setup when you do. +You must have the [Nest component](/components/nest/) configured to use these sensors. The binary sensors will be setup if the `nest` component is configured and the required configuration for the `nest binary sensor` is set.

-To customize which binary sensors are enabled, you can add the following to your `configuration.yaml` file: +To enable binary sensors and customize which sensors are setup, you can extend the [Nest component](/components/nest/) configuration in your `configuration.yaml` file with the following settings: ```yaml # Example configuration.yaml entry -binary_sensor: - - platform: nest +nest: + binary_sensors: monitored_conditions: - 'fan' - - 'is_using_emergency_heat' + - 'target' ``` -If you leave `monitored_conditions` blank, all sensors that are available for your devices will be used. +By default all binary sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all binary sensors for the [Nest component](/components/nest/). Configuration variables: - **monitored_conditions** array (*Optional*): States to monitor. - - online - - fan - - is\_using\_emergency\_heat - - is\_locked - - has\_leaf - - motion\_detected - - person\_detected - - sound\_detected The following conditions are available by device: diff --git a/source/_components/sensor.nest.markdown b/source/_components/sensor.nest.markdown index 8087d51eb26..6f26b81bc8c 100644 --- a/source/_components/sensor.nest.markdown +++ b/source/_components/sensor.nest.markdown @@ -16,21 +16,20 @@ ha_release: pre 0.7 The `nest` sensor platform lets you monitor sensors connected to your [Nest](https://nest.com) devices.

-You must have the [Nest component](/components/nest/) configured to use these sensors. The `nest` binary sensor will automatically be setup when you do. +You must have the [Nest component](/components/nest/) configured to use these sensors. The sensors will be setup if the `nest` component is configured and the required configuration for the `nest sensor` is set.

-To customize which sensors are enabled, you can add the following to your `configuration.yaml` file: - +To enable sensors and customize which sensors are setup, you can extend the [Nest component](/components/nest/) configuration in your `configuration.yaml` file with the following settings: ```yaml # Example configuration.yaml entry -sensor: - - platform: nest +nest: + sensors: monitored_conditions: - 'temperature' - 'target' ``` -If you leave `monitored_conditions` blank, all sensors that are available for your devices will be included. +By default all sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all sensors for the [Nest component](/components/nest/). Configuration variables: @@ -46,6 +45,7 @@ The following conditions are available by device: - hvac\_state: The currently active state of the HVAC system, `heating`, `cooling`, or `off`. - Nest Protect: - co\_status - - smoke\_status + - smoke\_status + - batter\_health - Nest Camera: none From 98bf2b5f07b2f36678aed695127735359dc8a2bd Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 19 Jan 2017 00:08:17 +0100 Subject: [PATCH 023/157] Add Deprecated note (#1812) --- source/_components/openalpr.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_components/openalpr.markdown b/source/_components/openalpr.markdown index f99797d6d20..3d7ba776577 100644 --- a/source/_components/openalpr.markdown +++ b/source/_components/openalpr.markdown @@ -8,12 +8,16 @@ comments: false sharing: true footer: true logo: openalpr.png -ha_category: Automation +ha_category: Deprecated featured: false ha_release: 0.29 ha_iot_class: "Local Push" --- +

+**This platform has been deprecated in favor of the "[OpenALPR image processing](/components/image_processing.openalpr_local/)" platform and will be removed in the future. Please use the "OpenALPR image processing" platform.** +

+ [OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates recorded with a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/).

From 5a267437d3d4820c3d2f6ce7cb4305dbf840e6a4 Mon Sep 17 00:00:00 2001 From: David McNett Date: Thu, 19 Jan 2017 13:23:54 -0600 Subject: [PATCH 024/157] Add component documentation for media_player/anthemav (#1701) * media_player/anthemav: Initial Commit Adding preliminary component page for media_player/anthemav with logo and rudimentary configuration information. This is just a placeholder so I could verify my local rake setup and confirm that I can maintain the page. * media_player/anthemav component page content * Presuming version 0.36 for next release * Why does my proofreading ability only improve post commit? * Amend options to reflect changes in platform * Style changes for conformity * Copy Paste Foul --- .../media_player.anthemav.markdown | 71 ++++++++++++++++++ source/images/supported_brands/anthemav.png | Bin 0 -> 41859 bytes 2 files changed, 71 insertions(+) create mode 100644 source/_components/media_player.anthemav.markdown create mode 100644 source/images/supported_brands/anthemav.png diff --git a/source/_components/media_player.anthemav.markdown b/source/_components/media_player.anthemav.markdown new file mode 100644 index 00000000000..2e5a4424f92 --- /dev/null +++ b/source/_components/media_player.anthemav.markdown @@ -0,0 +1,71 @@ +--- +layout: page +title: "Anthem A/V Receivers" +description: "Instructions how to integrate Anthem A/V Receivers into Home Assistant." +date: 2016-12-31 23:11 +sidebar: true +comments: false +sharing: true +footer: true +logo: anthemav.png +ha_category: Media Player +ha_iot_class: "Local Push" +ha_release: 0.36 +--- + +Both [Anthem]'s current and last generation of A/V Receivers and and Processors +support IP-based, network control. This Home Assistant platform adds proper +"local push" support for any of these receivers on your network. + +## {% linkable_title Supported Models %} + +* MRX 520, MRX 720, MRX 1120, and AVM 60 +* MRX 310, MRX 510, MRX 710 + +Support is provided through the Python [anthemav] module. Older, RS-232 +serial-based units like the D2v use a different protocol entirely and are not +currently supported. + +[Anthem]: http://www.anthemav.com/ +[anthemav]: https://github.com/nugget/python-anthemav + + +## {% linkable_title Configuration %} + +```yaml +# Example configuration.yaml entry +media_player: + - platform: anthemav + host: 10.0.0.42 + port: 14999 +``` + +### Configuration Variables + +- **host** (*Required*): The host name or address of the device. +- **port** (*Optional*): The port number. Defaults to 14999. +- **name** (*Optional*): The name of the device used in the frontend. + +## Notes and Limitations + +- The tuner is currently unsupported as are the `media_player` play, pays, + prev, and next controls. + +- Enabling this platform will set and enforce "Standby IP Control On" in your Anthem + device. You almost certainly want this. If you disable it on the device, it + will just get re-enabled by Home Assistant. + +- Only Zone 1 is currently supported. + +

+ This platform will maintain a persistent connection to the network control + port which will prevent any other application from communicating with the + receiver. This includes the Anthem iOS and Android remote control apps as + well as the ARC-2 Anthem Room Calibration software. You will need to disable + this platform and restart Home Assistant if you want to use another + application that makes use of the network control port. +

+ *The underlying Python module has hooks for halting and resuming the network + connection but those functions are currently unsupported by the Home + Assistant platform.* +

diff --git a/source/images/supported_brands/anthemav.png b/source/images/supported_brands/anthemav.png new file mode 100644 index 0000000000000000000000000000000000000000..cb322e35a3e7704bcb1775bbc5470a39c06ec898 GIT binary patch literal 41859 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 Tdtb5800000NkvXXu0mjfmvPJE literal 0 HcmV?d00001 From 36d087ec8fdf7bd08cccaec5e1dade74ae736dd9 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 19 Jan 2017 12:07:55 -0800 Subject: [PATCH 025/157] Add docs for Avion dimmer switches (#1811) --- source/_components/light.avion.markdown | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 source/_components/light.avion.markdown diff --git a/source/_components/light.avion.markdown b/source/_components/light.avion.markdown new file mode 100644 index 00000000000..34e882699e6 --- /dev/null +++ b/source/_components/light.avion.markdown @@ -0,0 +1,39 @@ +--- +layout: page +title: "Avion" +description: "Instructions on how to setup GE Avion Bluetooth dimmers within Home Assistant." +date: 2017-01-17 23:17 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Light +ha_iot_class: "Assumed State" +featured: false +ha_release: 0.37 +--- + +Support for the Avion Bluetooth dimmer switch [Avi-On](http://avi-on.com/). To enable these lights, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: avion + devices: + 00:21:4D:00:00:01: + name: Light 1 + api_key: Gr35a/rt3RgaRenl9ag8Ba== + 00:21:3D:20:00:a1: + name: Bulb 2 + api_key: Gr35a/rt3RgaRenl9ag8Ba== +``` + +Configuration variables: + +- **devices**: A list of devices with their bluetooth address, a custom name to use in the frontend and the API key. The API key can be obtained by executing the following command: + +``` +curl -X POST -H "Content-Type: application/json" -d '{"email": "fakename@example.com", "password": "password"}' https://admin.avi-on.com/api/sessions | jq +``` + +with the email and password fields replaced with those used when registering the device via the mobile app. The passphrase field of the output should be used as the API key in the configuration. From 68ec2638ac0c7a5ccd20d2907137ebe11bcb01f4 Mon Sep 17 00:00:00 2001 From: rbflurry Date: Thu, 19 Jan 2017 17:08:44 -0500 Subject: [PATCH 026/157] Update requesting_location_updates.markdown (#1826) --- .../ios/notifications/requesting_location_updates.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_ecosystem/ios/notifications/requesting_location_updates.markdown b/source/_ecosystem/ios/notifications/requesting_location_updates.markdown index 97b237ceb12..f02f63f30e3 100644 --- a/source/_ecosystem/ios/notifications/requesting_location_updates.markdown +++ b/source/_ecosystem/ios/notifications/requesting_location_updates.markdown @@ -23,7 +23,7 @@ automation action: service: notify.iOSApp data: - message: "request_location_updates" + message: "request_location_update" ``` Assuming the device receives the notification, it will attempt to get a location update within 5 seconds and report it to Home Assistant. This is a little bit hit or miss since Apple imposes a maximum time allowed for the app to work with the notification and location updates sometimes take longer than usual due to factors such as waiting for GPS acquisition. From 8892a46b516baf64e684ace641e9278401f8988e Mon Sep 17 00:00:00 2001 From: HerrHofrat Date: Thu, 19 Jan 2017 23:35:31 +0100 Subject: [PATCH 027/157] Updated valid station id list (#1831) --- source/_components/sensor.zamg.markdown | 40 ++++++++++++++----------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/source/_components/sensor.zamg.markdown b/source/_components/sensor.zamg.markdown index 0778898a3ad..f9d767448e9 100644 --- a/source/_components/sensor.zamg.markdown +++ b/source/_components/sensor.zamg.markdown @@ -17,23 +17,29 @@ The `zamg` platform uses meteorological details published by the Austrian weathe The following stations are available: -| `station_id` | Location | -| :----------- |:-----------------| -| 11010 | Linz/Hörsching | -| 11012 | Kremsmünster | -| 11022 | Retz | -| 11035 | Wien/Hohe Warte | -| 11036 | Wien/Schwechat | -| 11101 | Bregenz | -| 11121 | Innsbruck | -| 11126 | Patscherkofel | -| 11130 | Kufstein | -| 11150 | Salzburg | -| 11155 | Feuerkogel | -| 11157 | Aigen im Ennstal | -| 11171 | Mariazell | -| 11190 | Eisenstadt | -| 11204 | Lienz | +| `station_id` | Location | +| :----------- |:---------------------| +| 11010 | Linz/Hörsching | +| 11012 | Kremsmünster | +| 11022 | Retz | +| 11035 | Wien/Hohe Warte | +| 11036 | Wien/Schwechat | +| 11101 | Bregenz | +| 11121 | Innsbruck | +| 11126 | Patscherkofel | +| 11130 | Kufstein | +| 11150 | Salzburg | +| 11155 | Feuerkogel | +| 11157 | Aigen im Ennstal | +| 11171 | Mariazell | +| 11190 | Eisenstadt | +| 11204 | Lienz | +| 11240 | Graz/Flughafen | +| 11244 | Bad Gleichenberg | +| 11265 | Villacher Alpe | +| 11331 | Klagenfurt/Flughafen | +| 11343 | Sonnblick | +| 11389 | St. Pölten | To add ZAMG to your installation, add the following to your `configuration.yaml` file: From 35242e2853ff12739407f85cea331c9d3cfc71fe Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 20 Jan 2017 11:47:46 +0100 Subject: [PATCH 028/157] Still image url support for mjpeg (#1825) * Still image url support for mjpeg * Update camera.mjpeg.markdown --- source/_components/camera.mjpeg.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/camera.mjpeg.markdown b/source/_components/camera.mjpeg.markdown index 7e3bc8340db..c36a907e367 100644 --- a/source/_components/camera.mjpeg.markdown +++ b/source/_components/camera.mjpeg.markdown @@ -29,6 +29,7 @@ camera: Configuration variables: - **mjpeg_url** (*Required*): The URL your camera serves the video on, eg. http://192.168.1.21:2112/ +- **still_image_url** (*Optional*): The URL for thumbmail picture if camera support that. - **name** (*Optional*): This parameter allows you to override the name of your camera. - **username** (*Optional*): The username for accessing your camera. - **password** (*Optional*): The password for accessing your camera. From 5dbd42fd3601332bb5984e283828237ffaa0e23c Mon Sep 17 00:00:00 2001 From: Martin Vacula Date: Sat, 21 Jan 2017 14:24:33 +0100 Subject: [PATCH 029/157] Documentation for Beaglebone Black binary sensor (#1836) --- .../binary_sensor.bbb_gpio.markdown | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 source/_components/binary_sensor.bbb_gpio.markdown diff --git a/source/_components/binary_sensor.bbb_gpio.markdown b/source/_components/binary_sensor.bbb_gpio.markdown new file mode 100644 index 00000000000..ddb36695928 --- /dev/null +++ b/source/_components/binary_sensor.bbb_gpio.markdown @@ -0,0 +1,43 @@ +--- +layout: page +title: "BeagleBone Black GPIO Binary Sensor" +description: "Instructions how to integrate the GPIO sensor capability of a BeagleBone Black into Home Assistant." +date: 2017-01-14 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: beaglebone-black.png +ha_category: Binary Sensor +ha_release: 0.37 +--- + +The `bbb_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your [BeagleBone Black](https://beagleboard.org/black). + +To use your BeagleBone Black's GPIO in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: bbb_gpio + pins: + P8_12: + name: Door + GPIO0_26: + name: Window + bouncetime: 100 + invert_logic: true + pull_mode: UP +``` + +Configuration variables: + +- **pins** array (*Required*): Array of used pins. + - **pin_name** (*Required*): Pin numbers and corresponding names. + - **name** (*Required*): Friendly name to use for the frontend. + - **bouncetime** (*Optional*): Debounce time for reading input pin defined in miliseconds [ms]. Defaults to `50 ms`. + - **invert_logic** (*Optional*): If true, inverts the input logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH). + - **pull_mode** (*Optional*): Type of internal pull resistor connected to input. Options are 'UP' - pull-up resistor and 'DOWN' - pull-down resistor. Defaults to `UP`. + +For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. + From f8ce2049528b0d6d0f297e87c86f34a5178cfbf2 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Sat, 21 Jan 2017 14:40:19 -0800 Subject: [PATCH 030/157] Add documentation for Leviton Decora dimmer switches (#1822) --- source/_components/light.decora.markdown | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 source/_components/light.decora.markdown diff --git a/source/_components/light.decora.markdown b/source/_components/light.decora.markdown new file mode 100644 index 00000000000..2bf33a14ca6 --- /dev/null +++ b/source/_components/light.decora.markdown @@ -0,0 +1,33 @@ +--- +layout: page +title: "Decora" +description: "Instructions on how to setup Leviton Decora Bluetooth dimmers within Home Assistant." +date: 2017-01-18 22:45 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Light +ha_iot_class: "Local Polling" +featured: false +ha_release: 0.37 +--- + +Support for the Decora Bluetooth dimmer switch [Leviton](http://www.leviton.com/OA_HTML/SectionDisplay.jsp?section=76697&minisite=10251). To enable these lights, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + - platform: decora + devices: + 00:21:4D:00:00:01: + name: Light 1 + api_key: 0x12345678 + 00:21:3D:20:00:a1: + name: Bulb 2 + api_key: 0x54321876 +``` + +Configuration variables: + +- **devices**: A list of devices with their bluetooth address, a custom name to use in the frontend and the API key. The API key can be obtained by downloading [this git repository](https://github.com/mjg59/python-decora) and running the read_key.py script with the Bluetooth address of the switch as the first argument. Hold the switch in the off position until the green status LED starts flashing before running the script. The output is the API key. \ No newline at end of file From e7efa6899f19996f439ba2bafdf9882ab4d307ed Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 21 Jan 2017 23:48:56 +0100 Subject: [PATCH 031/157] Add logo, update configuration sample, and update conf variables --- source/_components/light.decora.markdown | 17 ++++++++++------- source/images/supported_brands/leviton.png | Bin 0 -> 93951 bytes 2 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 source/images/supported_brands/leviton.png diff --git a/source/_components/light.decora.markdown b/source/_components/light.decora.markdown index 2bf33a14ca6..d40acae2bac 100644 --- a/source/_components/light.decora.markdown +++ b/source/_components/light.decora.markdown @@ -9,11 +9,15 @@ sharing: true footer: true ha_category: Light ha_iot_class: "Local Polling" -featured: false +logo: leviton.png ha_release: 0.37 --- -Support for the Decora Bluetooth dimmer switch [Leviton](http://www.leviton.com/OA_HTML/SectionDisplay.jsp?section=76697&minisite=10251). To enable these lights, add the following lines to your `configuration.yaml` file: +Support for the Decora Bluetooth dimmer switch [Leviton](http://www.leviton.com/OA_HTML/SectionDisplay.jsp?section=76697&minisite=10251). + +The API key can be obtained by downloading [this git repository](https://github.com/mjg59/python-decora) and running the `read_key.py` script with the Bluetooth address of the switch as the first argument. Hold the switch in the off position until the green status LED starts flashing before running the script. The output is the API key. + +To enable these lights, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -21,13 +25,12 @@ light: - platform: decora devices: 00:21:4D:00:00:01: - name: Light 1 api_key: 0x12345678 - 00:21:3D:20:00:a1: - name: Bulb 2 - api_key: 0x54321876 ``` Configuration variables: -- **devices**: A list of devices with their bluetooth address, a custom name to use in the frontend and the API key. The API key can be obtained by downloading [this git repository](https://github.com/mjg59/python-decora) and running the read_key.py script with the Bluetooth address of the switch as the first argument. Hold the switch in the off position until the green status LED starts flashing before running the script. The output is the API key. \ No newline at end of file +- **devices** array (*Required*): A list of lights to use. + - **[mac address]** (*Required*): The bluetooth address of the switch. + - **name** (*Optional*): The custom name to use in the frontend. + - **api_key** (*Required*): The API key to acces the device. diff --git a/source/images/supported_brands/leviton.png b/source/images/supported_brands/leviton.png new file mode 100644 index 0000000000000000000000000000000000000000..e3876ee9070adb5fe57961f34467e214ff0181d4 GIT binary patch literal 93951 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 literal 0 HcmV?d00001 From 1b7caca5afebe4a7eb5e17ccc6b0371f62d9786c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 22 Jan 2017 11:28:02 +0100 Subject: [PATCH 032/157] Minimize configuration sample --- source/_components/binary_sensor.bbb_gpio.markdown | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/source/_components/binary_sensor.bbb_gpio.markdown b/source/_components/binary_sensor.bbb_gpio.markdown index ddb36695928..7d8cb35055e 100644 --- a/source/_components/binary_sensor.bbb_gpio.markdown +++ b/source/_components/binary_sensor.bbb_gpio.markdown @@ -25,9 +25,6 @@ binary_sensor: name: Door GPIO0_26: name: Window - bouncetime: 100 - invert_logic: true - pull_mode: UP ``` Configuration variables: @@ -36,8 +33,8 @@ Configuration variables: - **pin_name** (*Required*): Pin numbers and corresponding names. - **name** (*Required*): Friendly name to use for the frontend. - **bouncetime** (*Optional*): Debounce time for reading input pin defined in miliseconds [ms]. Defaults to `50 ms`. - - **invert_logic** (*Optional*): If true, inverts the input logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH). - - **pull_mode** (*Optional*): Type of internal pull resistor connected to input. Options are 'UP' - pull-up resistor and 'DOWN' - pull-down resistor. Defaults to `UP`. + - **invert_logic** (*Optional*): If `true`, inverts the input logic to ACTIVE LOW. Default is `false` (ACTIVE HIGH). + - **pull_mode** (*Optional*): Type of internal pull resistor connected to input. Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor. Defaults to `UP`. For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black. From 2e84ff3ab5759466b6002e3f3a68a07e407425b0 Mon Sep 17 00:00:00 2001 From: Marcelo Moreira de Mello Date: Sun, 22 Jan 2017 17:03:02 -0500 Subject: [PATCH 033/157] Added supportability matrix link from the github page of python-amcrest project (#1850) --- source/_components/camera.amcrest.markdown | 2 ++ source/_components/sensor.amcrest.markdown | 2 ++ 2 files changed, 4 insertions(+) diff --git a/source/_components/camera.amcrest.markdown b/source/_components/camera.amcrest.markdown index 2240215809c..ffde0bffa1b 100644 --- a/source/_components/camera.amcrest.markdown +++ b/source/_components/camera.amcrest.markdown @@ -36,3 +36,5 @@ Configuration variables: - **stream_source** (*Optional*): The data source for the live stream. `mjpeg` will use the camera's native MJPEG stream, whereas `snapshot` will use the camera's snapshot API to create a stream from still images. If omitted, it defaults to *mjpeg*. **Note:** Amcrest cameras with newer firmwares no longer have the ability to stream `high` definition video with MJPEG encoding. You may need to use `low` resolution stream or the `snapshot` stream source instead. If the quality seems too poor, lower the `Frame Rate (FPS)` and max out the `Bit Rate` settings in your camera's configuration manager. + +To check if your Amcrest camera is supported/tested, visit the [supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix) link from the `python-amcrest` project. diff --git a/source/_components/sensor.amcrest.markdown b/source/_components/sensor.amcrest.markdown index dc5e0d80d26..d67ec9a0627 100644 --- a/source/_components/sensor.amcrest.markdown +++ b/source/_components/sensor.amcrest.markdown @@ -41,3 +41,5 @@ Configuration variables: - **motion_detector**: Return True/False when a motion is detected - **sdcard**: Return the SD card usage by reporting the total and used space - **ptz_preset**: Return the number of PTZ preset positions configured for the given camera + +To check if your Amcrest camera is supported/tested, visit the [supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix) link from the `python-amcrest` project. From 3be117b3af9b234153dd824356bf6841252ba813 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 23 Jan 2017 22:38:11 +0100 Subject: [PATCH 034/157] Add support for direct messaging (#1859) --- source/_components/notify.twitter.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/notify.twitter.markdown b/source/_components/notify.twitter.markdown index 8948669bfab..fe5c5d657b5 100644 --- a/source/_components/notify.twitter.markdown +++ b/source/_components/notify.twitter.markdown @@ -37,5 +37,6 @@ Configuration variables: - **consumer_secret** (*Required*): Your "Consumer Secret" (API Secret) for the application. - **access_token** (*Required*): Your "Access Token" for the application. - **access_token_secret** (*Required*): Your "Access Token Secret" for the application. +- **username** (*Optional*): Twitter handle without `@` or with `@` and quoting for direct messaging. To use notifications, please see the [getting started with automation page](/getting-started/automation/). From 7d4c17088225c9d93ed6fef56ae4e3fea5f17169 Mon Sep 17 00:00:00 2001 From: Lupin Demid Date: Tue, 24 Jan 2017 12:25:01 +0400 Subject: [PATCH 035/157] Updated docs with new params and all text style (#1820) --- source/_components/tts.yandextts.markdown | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/source/_components/tts.yandextts.markdown b/source/_components/tts.yandextts.markdown index f331c8065e6..d31fb7e2717 100644 --- a/source/_components/tts.yandextts.markdown +++ b/source/_components/tts.yandextts.markdown @@ -2,7 +2,7 @@ layout: page title: "Yandex TTS" description: "Instructions how to setup Yandex SpeechKit TTS with Home Assistant." -date: 2017-01-05 03:04 +date: 2017-01-17 03:04 sidebar: true comments: false sharing: true @@ -26,10 +26,11 @@ tts: Configuration variables: - **api_key** (*Requered*): API Key for use this service. -- **language** (*Optional*): The language to use. Defaults to `en-us`. Supported en-EN, ru-RU, uk-UK, tr-TR -- **codec** (*Optional*): Audo codec. Default is 'mp3'. Supported us mp3, wav, opus. -- **voice** (*Optional*): Speaker voice. Default is 'zahar'. Supported female voices are jane, oksana, alyss, omazh and male voices are zahar and ermil - +- **language** (*Optional*): The language to use. Defaults to `en-us`. Supported `en-EN`, `ru-RU`, `uk-UK`, `tr-TR`. +- **codec** (*Optional*): Audo codec. Default is `mp3`. Supported us `mp3`, `wav`, `opus`. +- **voice** (*Optional*): Speaker voice. Default is `zahar`. Supported female voices are `jane`, `oksana`, `alyss`, 'omazh` and male voices are `zahar` and `ermil`. +- **emotion** (*Optional*): Speaker emotional intonation. Default is `neutral`. Also supported are `good` (freindly) and `evil` (angry) +- **speed** (*Optional*): Speech speed. Default value is `1`. Highest speed is `3` and lowest `0,1` See on api [documentation](https://tech.yandex.com/speechkit/cloud/doc/dg/concepts/speechkit-dg-tts-docpage/) for details. N.B. english version of documentation is outdated. So you could receive api key [here](https://developer.tech.yandex.ru/) @@ -43,4 +44,6 @@ tts: language: 'ru-RU' codec: mp3 voice: oksana + emotion: evil + speed: 2 ``` From ff071fc2fa2f9890728536dd838ca7e53764f511 Mon Sep 17 00:00:00 2001 From: Aaron Polley Date: Tue, 24 Jan 2017 08:42:08 +0000 Subject: [PATCH 036/157] Added Documentation for Piglow component (#1760) --- source/_components/light.piglow.markdown | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 source/_components/light.piglow.markdown diff --git a/source/_components/light.piglow.markdown b/source/_components/light.piglow.markdown new file mode 100644 index 00000000000..0923275a30b --- /dev/null +++ b/source/_components/light.piglow.markdown @@ -0,0 +1,23 @@ +--- +layout: page +title: "Piglow" +description: "Instructions how to setup Piglow LED's within Home Assistant." +date: 2017-01-13 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: raspberry-pi.png +ha_category: Light +--- + + +The `piglow` platform lets you control the [Piglow](https://shop.pimoroni.com/products/piglow) lights on your Raspberry Pi from within Home Assistant. + +To add piglow to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +light: + platform: piglow +``` From e19273e8472420aa3efed68a2243974ade219eb3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 24 Jan 2017 10:02:35 +0100 Subject: [PATCH 037/157] Add show_on_map option (#1837) * Add show_on_map option * Add logo for ISS * Add docs for ISS binary sensor * Add deprecated warning --- source/_components/binary_sensor.iss.markdown | 29 ++++++++++++++++++ source/_components/sensor.iss.markdown | 10 +++--- source/images/supported_brands/nasa.png | Bin 0 -> 119947 bytes 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 source/_components/binary_sensor.iss.markdown create mode 100644 source/images/supported_brands/nasa.png diff --git a/source/_components/binary_sensor.iss.markdown b/source/_components/binary_sensor.iss.markdown new file mode 100644 index 00000000000..616a44b04f9 --- /dev/null +++ b/source/_components/binary_sensor.iss.markdown @@ -0,0 +1,29 @@ +--- +layout: page +title: "International Space Station" +description: "Know if or when ISS will be above your home location" +date: 2016-12-18 10:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: nasa.png +ha_category: Binary Sensor +ha_release: 0.36 +--- + +The `iss` platform uses the [Open Notify API](http://open-notify.org/Open-Notify-API/ISS-Location-Now/) to let you know if the station is above your home location. This means that ISS is 10° above the horizon of your home. + +You can check in the attributes of the sensor to see the timestamp for the next rise of the station, its current coordinates, and the number of people in space. + +To add ISS binary sensor to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: iss +``` + +Configuration variables: + +- **show_on_map** (*Optional*): Option to show the position of the ISS on the map. Defaults to `False`. diff --git a/source/_components/sensor.iss.markdown b/source/_components/sensor.iss.markdown index 5e44a1b63c4..ca2ee55b23e 100644 --- a/source/_components/sensor.iss.markdown +++ b/source/_components/sensor.iss.markdown @@ -7,11 +7,15 @@ sidebar: true comments: false sharing: true footer: true -logo: bbox.png -ha_category: Sensor +logo: nasa.png +ha_category: Deprecated ha_release: 0.36 --- +

+**This platform has been deprecated in favor of the "[ISS](/components/binary_sensor.iss/)" platform and will be removed in the future. Please use the "iss" binary sensor platform.** +

+ The `iss` platform uses the [Open Notify API](http://open-notify.org/Open-Notify-API/ISS-Location-Now/) to let you know if the station is above your home location. This means that ISS is 10° above the horizon of your home. You can check in the attributes of the sensor how many minutes you have to wait until the next rise of the station and the number of people in space. @@ -22,5 +26,3 @@ To add ISS sensor to your installation, add the following to your `configuration sensor: - platform: iss ``` - - diff --git a/source/images/supported_brands/nasa.png b/source/images/supported_brands/nasa.png new file mode 100644 index 0000000000000000000000000000000000000000..640e5cdfb4d60e74be4f28c0ff24a1fcd0a64417 GIT binary patch literal 119947 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 F{{XS Date: Tue, 24 Jan 2017 09:43:50 +0100 Subject: [PATCH 038/157] Add ha_release --- source/_components/light.piglow.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/light.piglow.markdown b/source/_components/light.piglow.markdown index 0923275a30b..efaff38edd2 100644 --- a/source/_components/light.piglow.markdown +++ b/source/_components/light.piglow.markdown @@ -9,6 +9,7 @@ sharing: true footer: true logo: raspberry-pi.png ha_category: Light +ha_release: 0.37 --- From 6380eb337d960cc7f359d7ec6608862ce9a28570 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 24 Jan 2017 09:44:26 +0100 Subject: [PATCH 039/157] Update release number --- source/_components/ha.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/ha.markdown b/source/_components/ha.markdown index 20cbd26137d..e71a7ea5a1e 100644 --- a/source/_components/ha.markdown +++ b/source/_components/ha.markdown @@ -1,6 +1,6 @@ --- layout: page -title: "Home Assistant 0.35" +title: "Home Assistant 0.37" description: "" date: 2016-12-16 17:00 sidebar: true @@ -9,7 +9,7 @@ sharing: true footer: true logo: home-assistant.png ha_category: Release -ha_release: 0.36 +ha_release: 0.37 --- Details about the latest release can always be found at: From 606835fe1d92bf4ddeb5aa4ac49b1c00a345e7c3 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 24 Jan 2017 11:32:16 +0100 Subject: [PATCH 040/157] Update TTS for new function in 0.37 (#1863) --- source/_components/tts.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 3578244078f..2b802b148ff 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -47,6 +47,8 @@ If you are running Home Assistant over SSL or from within a container, you will ## {% 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`. + Say to all `media_player` device entities: ```yaml From 2b8c2ded7b7fd84fc6262164a2b1182e963ac57f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 24 Jan 2017 11:37:03 +0100 Subject: [PATCH 041/157] ffmpeg binary_sensor update for 0.37 (#1862) * ffmpeg binary_sensor update for 0.37 * Some cosmetical changes --- .../_components/binary_sensor.ffmpeg.markdown | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/source/_components/binary_sensor.ffmpeg.markdown b/source/_components/binary_sensor.ffmpeg.markdown index 5c7fac34e9a..35201fbea47 100644 --- a/source/_components/binary_sensor.ffmpeg.markdown +++ b/source/_components/binary_sensor.ffmpeg.markdown @@ -17,7 +17,7 @@ ha_iot_class: "Local Polling" The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant. Available are: **noise**, **motion**.

-If the `ffmpeg` process is broken, the sensor will be unavailable. To restart it, use the service *binary_sensor.ffmpeg_restart*. +If the `ffmpeg` process is broken, the sensor will be unavailable. To controll the ffmpeg process of sensor, use the service *binary_sensor.ffmpeg_start*, *binary_sensor.ffmpeg_stop*, *binary_sensor.ffmpeg_restart*.

### {% linkable_title Noise %} @@ -36,6 +36,7 @@ Configuration variables: - **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. - **tool** (*Required*): `noise`. - **name** (*Optional*): Override the name of your camera. +- **initial_state** (*Optional*): Default true. Start ffmpeg with home-assistant. - **peak** (*Optional*): Default -30. The threshold of detecting noise, in dB. 0 is very loud and -100 is low. - **duration** (*Optional*): Default 1 second. How long the noise needs to be over the peak to trigger the state. - **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new noise is over the peak. @@ -66,14 +67,15 @@ Configuration variables: - **input** (*Required*): An FFmpeg-compatible input file, stream, or feed. - **tool** (*Required*): `motion`. -- **name** (*Optional*): Override the name of your camera. -- **changes** (*Optional*): Default 10%. How much needs to change between two frames to detect it as motion (a lower value is more sensitive). -- **reset** (*Optional*): Default 20 seconds. The time to reset the state after no new motion is detected. -- **repeat** (*Optional*): Default 0 repeats (deactivate). How many events need to be detected in *repeat_time* in order to trigger a motion. -- **repeat_time** (*Optional*): Default 0 seconds (deactivate). The span of time *repeat* events need to occur in before triggering a motion. -- **extra_arguments** (*Optional*): Extra options to pass to FFmpeg, e.g. video denoise filtering. +- **name** (*Optional*): Override the name of your camera for the frontend. +- **initial_state** (*Optional*): Start `ffmpeg` with Home Assistant. Defaults to `true`. +- **changes** (*Optional*): How much needs to change between two frames to detect it as motion (a lower value is more sensitive). Defaults to 10%. +- **reset** (*Optional*): The time to reset the state after no new motion is detected. Defaults to 20 seconds. +- **repeat** (*Optional*): How many events need to be detected in *repeat_time* in order to trigger a motion. Defaults to 0 repeats (deactivated). +- **repeat_time** (*Optional*): The span of time *repeat* events need to occur in before triggering a motion. Defaults to 0 seconds (deactivated). +- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g. video denoise filtering. -To experiment with values (changes/100 is the scene value in FFmpeg): +To experiment with values (changes/100 is the scene value in `ffmpeg`): ```bash $ ffmpeg -i YOUR_INPUT -an -filter:v select=gt(scene\,0.1) -f framemd5 - @@ -83,4 +85,8 @@ If you are running into trouble with this sensor, please refer to the [troublesh #### {% linkable_title Tipps %} -- Use motion only in a customer area with [crop filter](https://ffmpeg.org/ffmpeg-filters.html#crop): ```extra_arguments: -filter:v "crop=100:100:12:34"``` +- Use motion only in a customer area with [crop filter](https://ffmpeg.org/ffmpeg-filters.html#crop): + +```yaml +extra_arguments: -filter:v "crop=100:100:12:34" +``` From 6c3df542ae70d546fbda6d04403d9bf0ece05f8b Mon Sep 17 00:00:00 2001 From: ecksun Date: Tue, 24 Jan 2017 18:21:10 +0100 Subject: [PATCH 042/157] media_player.kodi: add ssl option (#1865) --- source/_components/media_player.kodi.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.kodi.markdown b/source/_components/media_player.kodi.markdown index 6d196cb6ac6..fa3a8b64a73 100644 --- a/source/_components/media_player.kodi.markdown +++ b/source/_components/media_player.kodi.markdown @@ -31,6 +31,7 @@ Configuration variables: - **host** (*Required*): The host name or address of the device that is running XBMC/Kodi - **port** (*Optional*): The http port number. Defaults to 8080. - **name** (*Optional*): The name of the device used in the frontend. +- **ssl** (*Optional*): Connect to kodi with HTTPS. Defaults to false - **username** (*Optional*): The XBMC/Kodi HTTP username. - **password** (*Optional*): The XBMC/Kodi HTTP password. - **turn_off_action** (*Optional*): The desired turn off action. Options are `none`, `quit`, `hibernate`, `suspend`, `reboot`, or `shutdown`. Default `none`. From fa0ca7f802d45ac3090c877e563ae551f61f8b4e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 24 Jan 2017 19:54:54 +0100 Subject: [PATCH 043/157] Update var description (#1834) * Update var description * Update description --- source/_components/sensor.arest.markdown | 18 +++++++++++------- source/_components/switch.arest.markdown | 8 ++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/source/_components/sensor.arest.markdown b/source/_components/sensor.arest.markdown index 7558394c341..65635905b1c 100644 --- a/source/_components/sensor.arest.markdown +++ b/source/_components/sensor.arest.markdown @@ -10,6 +10,7 @@ footer: true logo: arest.png ha_category: Sensor ha_iot_class: "Local Polling" +ha_release: pre 0.7 --- @@ -19,8 +20,9 @@ To use your aREST enabled device in your installation, add the following to your ```yaml # Example configuration.yaml entry +sensor: - platform: arest - resource: http://10.100.0.117 + resource: http://IP_ADDRESS monitored_variables: temperature: name: temperature @@ -34,13 +36,15 @@ Configuration variables: - **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10. - **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used. - **monitored_variables** array (*Optional*): List of exposed variables. - - **name** (*Required*): The name of the variable you wish to monitor. - - **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. - - **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload. + - **[variable]** (*Required*): Name of the variable to monitor. + - **name** (*Optional*): The name to use for the frontend. + - **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. + - **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload. - **pins** array (*Optional*): List of pins to monitor. Analog pins need a leading **A** for the pin number. - - **name** (*Optional*): The name of the variable you wish to monitor. - - **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any. - - **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload. + - **[pin]** (*Required*): Pin number to use. + - **name** (*Required*): The name of the variable you wish to monitor. + - **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any. + - **value_template** (*Optional*): Defines a [template](/topics/templating/) to extract a value from the payload. The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you could use the one of the example sketches (eg. [Ethernet](https://raw.githubusercontent.com/marcoschwartz/aREST/master/examples/Ethernet/Ethernet.ino) for an Arduino with Ethernet shield). In those sketches are two variables (`temperature` and `humidity`) available which will act as endpoints. diff --git a/source/_components/switch.arest.markdown b/source/_components/switch.arest.markdown index 7960e1ff54a..a668611b16e 100644 --- a/source/_components/switch.arest.markdown +++ b/source/_components/switch.arest.markdown @@ -25,8 +25,6 @@ switch: pins: 11: name: Fan - 12: - name: Light Desk ``` If you want to use custom functions, then add the following to your `configuration.yaml` file: @@ -39,8 +37,6 @@ switch: name: Office functions: function1: - name: - function2: name: Light Desk ``` @@ -48,12 +44,12 @@ Configuration variables: - **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, eg. http://192.168.1.10 (no-trailing slash) - **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used. -- **pins** array (*Required*): An array with all used pins. +- **pins** array (*Optional*): An array with all used pins. - **name** (*Required*): The name of the pin to use in the frontend. or -- **functions** array (*Required*): An array with all used functions. +- **functions** array (*Optional*): An array with all used functions. - **name** (*Required*): The name to use in the frontend. You can still switch your pins with a web browser or a command line tool. Use the URL http://192.168.1.10/digital/8/1 to set pin 8 to high/on, the JSON response will give you the feedback. From 606a4e216bed99466f77cbd4b1f5b1e6abb7789d Mon Sep 17 00:00:00 2001 From: Nick Touran Date: Tue, 24 Jan 2017 22:08:51 -0800 Subject: [PATCH 044/157] Added documentation for Washington State DOT sensor. (#1846) --- source/_components/sensor.wsdot.markdown | 82 +++++++++++++++++++++ source/images/screenshots/wsdot_sensor.png | Bin 0 -> 30540 bytes source/images/supported_brands/wsdot.png | Bin 0 -> 10180 bytes 3 files changed, 82 insertions(+) create mode 100644 source/_components/sensor.wsdot.markdown create mode 100644 source/images/screenshots/wsdot_sensor.png create mode 100644 source/images/supported_brands/wsdot.png diff --git a/source/_components/sensor.wsdot.markdown b/source/_components/sensor.wsdot.markdown new file mode 100644 index 00000000000..36231fda386 --- /dev/null +++ b/source/_components/sensor.wsdot.markdown @@ -0,0 +1,82 @@ +--- +layout: page +title: "Washington State DOT" +description: "Instructions on how to integrate WSDOT data into your home." +date: 2017-01-21 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: wsdot.png +ha_category: Transport +ha_iot_class: "Cloud Polling" +ha_release: 0.37 +--- + +The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation](http://wsdot.com/). + + + +First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](http://wsdot.com/traffic/api/). Just enter your email address to instantly get the key. + + +Once you have the code, create `wsdot` sensors by editing your `configuration.yaml` file as follows: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: wsdot + api_key: XXXXXXXXXXXXXXXXXXXXXXX + travel_time: + - id: 95 + name: I-90 Eastbound HOV +``` + +Configuration variables: + +- **api_key** (*Required*): Your `api_key` from WSDOT. +- **scan_interval** (*Optional*): How frequently to query for new data. Default: 3 minutes. +- **travel_time** array (*Required*): List of routes. + - **id** (*Required*): Name of the route. + - **name** (*Optional*): Name of the route. Default just uses `id`. + +Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `http://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need. + +Some common examples include: +``` + 73 Issaquah-Seattle (WB PM) + 74 Seattle-Issaquah (EB AM) + 75 HOV Issaquah-Seattle (WB REV) + 76 Issaquah-Seattle (WB REV) + 77 HOV Redmond-Seattle (WB PM) + 78 HOV Seattle-Redmond (EB AM) + 79 Redmond-Seattle (WB PM) + 80 Seattle-Redmond (EB AM) + 81 HOV Redmond-Seattle via I-90 (WB PM) + 82 HOV Seattle-Redmond via I-90 (EB AM) + 83 Redmond-Seattle via I-90 (WB PM) + 84 Seattle-Redmond via I-90 (EB AM) + 85 HOV Redmond-Seattle via I-90 (WB REV) + 86 Redmond-Seattle via I-90 (WB REV) + 89 Bellevue-Seattle via 520 (WB PM) + 90 HOV Bellevue-Seattle via 520 (WB PM) + 91 HOV Seattle-Bellevue via 520 (EB AM) + 92 Seattle-Bellevue via 520 (EB AM) + 93 Bellevue-Seattle via I-90 (WB PM) + 94 HOV Bellevue-Seattle via I-90 (WB PM) + 95 HOV Seattle-Bellevue via I-90 (EB AM) + 96 Seattle-Bellevue via I-90 (EB AM) + 97 Bellevue-Seattle via I-90 (WB REV) + 98 HOV Bellevue-Seattle via I-90 (WB REV) +``` + +

+WSDOT does provide information about ferry schedules, mountain passes, tolls, etc. but so far only Travel Time data is available in this component. +

+ +Here's an example of the sensor in use: + +

+ +

+ diff --git a/source/images/screenshots/wsdot_sensor.png b/source/images/screenshots/wsdot_sensor.png new file mode 100644 index 0000000000000000000000000000000000000000..e8783388a7f9c3fdfc5772f211f5e282b1a6f5ad GIT binary patch literal 30540 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 literal 0 HcmV?d00001 diff --git a/source/images/supported_brands/wsdot.png b/source/images/supported_brands/wsdot.png new file mode 100644 index 0000000000000000000000000000000000000000..48bc20601617bf4d5f4b9f854c437d8876a695c9 GIT binary patch literal 10180 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 literal 0 HcmV?d00001 From dd44c1b1dfcdbf67fafcb1aefc93df45a385be26 Mon Sep 17 00:00:00 2001 From: Cooper Dale Date: Wed, 25 Jan 2017 07:26:59 +0100 Subject: [PATCH 045/157] template correction This one and only is working for me on HA 0.36.1 --- source/_components/tts.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/tts.markdown b/source/_components/tts.markdown index 2b802b148ff..21ab4521983 100644 --- a/source/_components/tts.markdown +++ b/source/_components/tts.markdown @@ -81,7 +81,7 @@ With a template: ```yaml service: tts.google_say data_template: - message: 'Temperature is {% raw %}{{ sensor.temperature }}{% endraw %}.' + message: "Temperature is {% raw %}{{states('sensor.temperature')}}{% endraw %}." cache: false ``` From 6b70989561d5757e2aca488c9391e11caecf41c0 Mon Sep 17 00:00:00 2001 From: Kevin Tawaststjerna Date: Wed, 25 Jan 2017 05:37:56 -0500 Subject: [PATCH 046/157] Added warning and link to how to ssh (#1780) * Added warning and link to how to enable ssh on raspbian. --- source/getting-started/installation-raspberry-pi.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/getting-started/installation-raspberry-pi.markdown b/source/getting-started/installation-raspberry-pi.markdown index 0158ec82858..9e03b2e7c77 100644 --- a/source/getting-started/installation-raspberry-pi.markdown +++ b/source/getting-started/installation-raspberry-pi.markdown @@ -26,7 +26,8 @@ There's currently three documented ways to install Home Assistant on a Raspberry This installation of Home Assistant requires the Raspberry Pi to run [Raspbian Lite](https://www.raspberrypi.org/downloads/raspbian/). The installation will be installed in a [Virtual Environment](/getting-started/installation-virtualenv) with minimal overhead. Instructions assume this is a new installation of Raspbian Lite. -Connect to the Raspberry Pi over ssh. Default password is `raspberry`. +Connect to the Raspberry Pi over ssh. Default password is `raspberry`. +You will need to enable ssh access. The raspberry pi website has instructions [here](https://www.raspberrypi.org/documentation/remote-access/ssh/). ```bash $ ssh pi@ipadress ``` From ab01a36a245c920ca513df09565eec89356334d5 Mon Sep 17 00:00:00 2001 From: Gianluca Barbaro Date: Wed, 25 Jan 2017 19:59:05 +0100 Subject: [PATCH 047/157] Update keyboard_remote.markdown (#1878) Documentation updated regarding PR #5535 --- source/_components/keyboard_remote.markdown | 33 +++++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/source/_components/keyboard_remote.markdown b/source/_components/keyboard_remote.markdown index 93f203dcfce..51bace0a050 100644 --- a/source/_components/keyboard_remote.markdown +++ b/source/_components/keyboard_remote.markdown @@ -23,14 +23,35 @@ The `evdev` package is used to interface with the keyboard and thus this is Linu ```yaml # Example configuration.yaml entry keyboard_remote: - device_descriptor: '/dev/input/event12' type: 'key_up' ``` Configuration variables: -- **device_descriptor** (*Required*): Path to the local event input device file that corresponds to the keyboard. - **type** (*Required*): Possible values are `key_up`, `key_down`, and `key_hold`. Be careful, `key_hold` will fire a lot of events. +- **device_descriptor** (*Optional*): Path to the local event input device file that corresponds to the keyboard. +- **device_name** (*Optional*): Name of the keyboard device. + +Either `device_name` or `device_descriptor` must be present in the configuration entry. Indicating a device name is useful in case of repeating disconnections and re-connections of the device (for example, a bluetooth keyboard): the local input device file might change, thus breaking the configuration, while the name remains the same. +In case of presence of multiple devices of the same model, `device_descriptor` must be used. + +A list of possible device descriptors and names is reported in the debug log at startup when the device indicated in the configuration entry could not be found. + +A full configuration for Keyboard Remote could look like the one below: + +```yaml +keyboard_remote: + device_descriptor: '/dev/input/by-id/bluetooth-keyboard' + type: 'key_up' +``` + +or like the following: + +```yaml +keyboard_remote: + device_name: 'Bluetooth Keyboard' + type: 'key_down' +``` And an automation rule to breathe life into it: @@ -51,7 +72,7 @@ automation: This component manages disconnections and re-connections of the keyboard, for example in the case of a bluetooth device that turns off automatically to preserve battery. If the keyboard disconnects, the component will fire an event `keyboard_remote_disconnected`. -When the keyboard reconnects an event `keyboard_remote_connected` will be fired. +When the keyboard reconnects, an event `keyboard_remote_connected` will be fired. Here's an automation example that plays a sound through a media player whenever the keyboard connects/disconnects: ```yaml @@ -83,14 +104,14 @@ There might be permissions problems with the event input device file. If this is ``` sudo setfacl -m u:HASS_USER:rw /dev/input/event* ``` -where `HASS_USER` is the user hass runs as and `event*` is the event input device file your keyboard is connected to. +where `HASS_USER` is the user hass runs as. -If you want to make this permanent, you can use a udev rule that sets it for your event input device. Add a file `/etc/udev/rules.d/99-userdev-input.rules` containing: +If you want to make this permanent, you can use a udev rule that sets it for all event input devices. Add a file `/etc/udev/rules.d/99-userdev-input.rules` containing: ``` KERNEL=="event*", SUBSYSTEM=="input", RUN+="/usr/bin/setfacl -m u:HASS_USER:rw $env{DEVNAME}" ``` -You can check the ACLs permission with +You can check ACLs permissions with ``` getfacl /dev/input/event* ``` From c99d76371e53dccc3cd9e3b8f4343695dec55669 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 26 Jan 2017 08:40:35 +0100 Subject: [PATCH 048/157] Add camera platform --- source/_components/binary_sensor.iss.markdown | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source/_components/binary_sensor.iss.markdown b/source/_components/binary_sensor.iss.markdown index 616a44b04f9..545e4ecb5c6 100644 --- a/source/_components/binary_sensor.iss.markdown +++ b/source/_components/binary_sensor.iss.markdown @@ -27,3 +27,16 @@ binary_sensor: Configuration variables: - **show_on_map** (*Optional*): Option to show the position of the ISS on the map. Defaults to `False`. + +### {% linkable_title Show position on map with camera platform %} + +The [generic camera platform](/components/camera.mjpeg/) offers the possibility to show the location of the ISS on Google Maps. + +```yaml +# Example configuration.yaml entry +camera: + - platform: generic + name: ISS + still_image_url: {% raw %}https://maps.googleapis.com/maps/api/staticmap?center={{ states.binary_sensor.iss.attributes.lat }},{{ states.binary_sensor.iss.attributes.long }}&zoom=5&size=500x500&maptype=roadmap&markers=color:blue%7Clabel:P%7C{{ states.binary_sensor.iss.attributes.lat }},{{ states.binary_sensor.iss.attributes.long }}{% endraw %} + limit_refetch_to_url_change: true +``` From 834fdca7bc78e1ea4c88df9e7497a722c8a6f848 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 26 Jan 2017 09:09:52 +0100 Subject: [PATCH 049/157] Remove tailing whitespaces --- source/_components/sensor.wsdot.markdown | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/source/_components/sensor.wsdot.markdown b/source/_components/sensor.wsdot.markdown index 36231fda386..3b2e163398c 100644 --- a/source/_components/sensor.wsdot.markdown +++ b/source/_components/sensor.wsdot.markdown @@ -13,9 +13,7 @@ ha_iot_class: "Cloud Polling" ha_release: 0.37 --- -The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation](http://wsdot.com/). - - +The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](http://wsdot.com/). First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](http://wsdot.com/traffic/api/). Just enter your email address to instantly get the key. @@ -37,21 +35,22 @@ Configuration variables: - **api_key** (*Required*): Your `api_key` from WSDOT. - **scan_interval** (*Optional*): How frequently to query for new data. Default: 3 minutes. - **travel_time** array (*Required*): List of routes. - - **id** (*Required*): Name of the route. + - **id** (*Required*): Name of the route. - **name** (*Optional*): Name of the route. Default just uses `id`. Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `http://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need. Some common examples include: + ``` - 73 Issaquah-Seattle (WB PM) - 74 Seattle-Issaquah (EB AM) + 73 Issaquah-Seattle (WB PM) + 74 Seattle-Issaquah (EB AM) 75 HOV Issaquah-Seattle (WB REV) - 76 Issaquah-Seattle (WB REV) - 77 HOV Redmond-Seattle (WB PM) - 78 HOV Seattle-Redmond (EB AM) - 79 Redmond-Seattle (WB PM) - 80 Seattle-Redmond (EB AM) + 76 Issaquah-Seattle (WB REV) + 77 HOV Redmond-Seattle (WB PM) + 78 HOV Seattle-Redmond (EB AM) + 79 Redmond-Seattle (WB PM) + 80 Seattle-Redmond (EB AM) 81 HOV Redmond-Seattle via I-90 (WB PM) 82 HOV Seattle-Redmond via I-90 (EB AM) 83 Redmond-Seattle via I-90 (WB PM) @@ -71,7 +70,7 @@ Some common examples include: ```

-WSDOT does provide information about ferry schedules, mountain passes, tolls, etc. but so far only Travel Time data is available in this component. +WSDOT does provide information about ferry schedules, mountain passes, tolls, etc. but so far only Travel Time data is available in this platform.

Here's an example of the sensor in use: From 10248cd3debc27c685cbc1675a1f65780ef422e5 Mon Sep 17 00:00:00 2001 From: William Scanlon Date: Thu, 26 Jan 2017 10:36:25 -0500 Subject: [PATCH 050/157] Update wink doc (#1881) * Update wink doc * Fixed yaml --- .../alarm_control_panel.wink.markdown | 31 ++++++++++++++++ .../_components/binary_sensor.wink.markdown | 20 +++++++++- source/_components/climate.wink.markdown | 16 +++++++- source/_components/cover.wink.markdown | 16 +++++++- source/_components/fan.wink.markdown | 12 +++++- source/_components/light.wink.markdown | 15 +++++++- source/_components/lock.wink.markdown | 9 ++++- source/_components/sensor.wink.markdown | 16 +++++++- source/_components/switch.wink.markdown | 11 +++++- source/_components/wink.markdown | 37 +++++++++++++------ 10 files changed, 163 insertions(+), 20 deletions(-) create mode 100644 source/_components/alarm_control_panel.wink.markdown diff --git a/source/_components/alarm_control_panel.wink.markdown b/source/_components/alarm_control_panel.wink.markdown new file mode 100644 index 00000000000..f2ea46016e4 --- /dev/null +++ b/source/_components/alarm_control_panel.wink.markdown @@ -0,0 +1,31 @@ +--- +layout: page +title: "Wink Alarm" +description: "Instructions how to setup the Wink alarms within Home Assistant." +date: 2017-01-14 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: wink.png +ha_category: Alarm +ha_release: 0.37 +--- + +No Wink hub is required to support these devices. + + +The Wink alarm platform allows you to control your [Wink](http://www.wink.com/) Canary all-in-one security camera. + +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported devices + +- Canary all-in-one security camera + + +

+The above devices are confimed to work, but others may work as well. +

+ diff --git a/source/_components/binary_sensor.wink.markdown b/source/_components/binary_sensor.wink.markdown index f50296e4d4e..10e5833a4b2 100644 --- a/source/_components/binary_sensor.wink.markdown +++ b/source/_components/binary_sensor.wink.markdown @@ -16,5 +16,23 @@ ha_iot_class: "Cloud Polling" The Wink binary sensor platform allows you to get data from your [Wink](http://www.wink.com/) binary sensors. -The requirement is that you have setup your [Wink hub](/components/wink/). +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported Binary sensor devices + +- Smoke and CO detectors (No Wink hub required for Nest) +- Window/Door sensors +- Motion sensors +- Ring Door bells (No hub required) +- Liquid presense sensors +- Z-wave lock key codes +- Lutron connected bulb remote buttons +- Wink Relay buttons and presense detection +- Wink spotter loudness and vibration (No Wink hub required) +- Wink hub devices connection status. This includes any paired hubs like Hue, Wink v1, Wink v2, Wink Relay... + +

+The above devices are confimed to work, but others may work as well. +

diff --git a/source/_components/climate.wink.markdown b/source/_components/climate.wink.markdown index 6b6a22c3b90..ae5634031f7 100644 --- a/source/_components/climate.wink.markdown +++ b/source/_components/climate.wink.markdown @@ -16,5 +16,19 @@ ha_iot_class: "Cloud Polling" The Wink climate platform allows you to get data from your [Wink](http://www.wink.com/) thermostats. -The requirement is that you have setup your [Wink hub](/components/wink/). +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported climate devices: + +- Nest (No wink hub required) +- Ecobee (No wink hub required) +- Sensi (No wink hub required) +- Carrier (Unconfirmed) +- Honeywell (No wink hub required) +- Generic Z-Wave + +

+The above devices are confimed to work, but others may work as well. +

diff --git a/source/_components/cover.wink.markdown b/source/_components/cover.wink.markdown index dc4d53b5805..6be519c7558 100644 --- a/source/_components/cover.wink.markdown +++ b/source/_components/cover.wink.markdown @@ -18,4 +18,18 @@ The following quote is from Wink. > As part of our agreement with Chamberlain, third-party access to control Chamberlain garage doors has been restricted. Please contact Chamberlain directly to inquire about permissions. -The requirement is that you have setup your [Wink hub](/components/wink/). +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported cover devices + +- Bali window treatments +- Lutron shades +- Pella motorized blinds and shades +- GoControl garage door opener +- Chamberlain (Limited functionality) (No Wink hub required) + +

+The above devices are confimed to work, but others may work as well. +

+ diff --git a/source/_components/fan.wink.markdown b/source/_components/fan.wink.markdown index 66183bbebb3..b0b8e197d94 100644 --- a/source/_components/fan.wink.markdown +++ b/source/_components/fan.wink.markdown @@ -15,5 +15,15 @@ ha_release: 0.36 The Wink fan platform allows you to control your [Wink](http://www.wink.com/) fans. -The requirement is that you have setup your [Wink hub](/components/wink/). +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported fan devices + +- Gardinier + + +

+The above devices are confimed to work, but others may work as well. +

diff --git a/source/_components/light.wink.markdown b/source/_components/light.wink.markdown index 16cbc2346a9..37d90d9846e 100644 --- a/source/_components/light.wink.markdown +++ b/source/_components/light.wink.markdown @@ -14,4 +14,17 @@ ha_category: Light The wink light platform allows you to use your [Wink](http://www.wink.com/) lights. -The requirement is that you have setup your [Wink hub](/components/wink/). +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported light devices + +- Z-wave switches with dimming +- Hue +- Lightify +- GE link + +

+The above devices are confimed to work, but others may work as well. +

+ diff --git a/source/_components/lock.wink.markdown b/source/_components/lock.wink.markdown index b12225d5b13..24dce87b856 100644 --- a/source/_components/lock.wink.markdown +++ b/source/_components/lock.wink.markdown @@ -15,5 +15,12 @@ ha_release: 0.9 The Wink lock platform allows you to control your [Wink](http://www.wink.com/) locks. -The requirement is that you have setup your [Wink hub](/components/wink/). +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported lock devices + +- Kwikset +- Schlage +- Generic Z-wave diff --git a/source/_components/sensor.wink.markdown b/source/_components/sensor.wink.markdown index 1ff2c385c5f..b162dc1d2e4 100644 --- a/source/_components/sensor.wink.markdown +++ b/source/_components/sensor.wink.markdown @@ -14,5 +14,19 @@ ha_category: Sensor The Wink sensor platform allows you to get data from your [Wink](http://www.wink.com/) sensors. -The requirement is that you have setup your [Wink hub](/components/wink/). +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported sensor devices + +- Wink Relay temperature, proximity, and humidity +- Wink Spotter temperature, humidity, and brightness (No Wink hub required) +- Wink Porkfolio balance (No Wink hub required) +- Wink eggminder (No Wink hub required) +- Nest protect Smoke and CO severity (No confirmation that this is actually reported) (No Wink hub required) +- Motion sensor temperature + +

+The above devices are confimed to work, but others may work as well. +

diff --git a/source/_components/switch.wink.markdown b/source/_components/switch.wink.markdown index 7dcb6c37990..56dadcf37ed 100644 --- a/source/_components/switch.wink.markdown +++ b/source/_components/switch.wink.markdown @@ -14,5 +14,14 @@ ha_category: Switch The Wink switch platform allows you to control your [Wink](http://www.wink.com/) switches. -The requirement is that you have setup your [Wink hub](/components/wink/). +The requirement is that you have setup [Wink](/components/wink/). + + +### Supported switch devices + +- Wink Pivot power genius (No Wink hub required) +- non-dimming Z-wave in wall switches (dimming switches show up as lights) +- Wink Relay load controlling switches +- Rachio sprinkler controller (No Wink hub required) +- iHome smart plug (No Wink hub required) diff --git a/source/_components/wink.markdown b/source/_components/wink.markdown index 71a6e0c3ab0..6a9b528a71b 100644 --- a/source/_components/wink.markdown +++ b/source/_components/wink.markdown @@ -18,20 +18,40 @@ featured: true Wink offers one, quick and simple way to connect people with the products they rely on every day in their home. -Home Assistant integrates the Wink hub and allows you to get the status and control connected switches, lights, locks, and sensors. +Home Assistant integrates with the Wink API and allows you to get the status and control connected switches, lights, locks, fan, climate devices, covers, and sensors. -To get started with the Wink API, you will first need to get yourself an API access token. Because it is very difficult right now to get access to their API, John McLaughlin has created the form below to get you one. +Check the related componets pages for actual devices that are support. + +Home Assistant offers multiple ways to authenticate to the Wink API. Each authentication method is described below. + +### Authentication with an access token. + + +To use this form of authentication obtain a token from the form below and insert it into your `configuration.yaml` -After you have gotten your access token, add the following to your `configuration.yaml`: - ```yaml wink: access_token: YOUR_ACCESS_TOKEN ``` +### Authentication with your Wink email and password. + + +This method uses the same form from above to obtain an access token, but does so without the user needing to manually do so. +This method pulls a new token on every startup of Home Assistant. + +```yaml +wink: + email: YOUR_WINK_EMAIL_ADDRESS + password: YOUR_WINK_PASSWORD +``` + +### Full oath authentication. (This is the best option!) + + You can also request API access via Wink's [contact us](http://www.wink.com/help/contact/) page. You will be provided with a client ID and a client secret via email. These can then be used in your configuration in place of the access_token this will prevent you from having to manually refresh your access token. @@ -44,13 +64,6 @@ wink: client_secret: YOUR_WINK_CLIENT_SECRET ``` -The following can also be provided to allow access to the Wink Relay sensors. This value could change at any time. - -```yaml -wink: - user_agent: Manufacturer/Home-Assistant WinkAndroid/4 -``` - Configuration variables: - **access_token** (*Required if the below aren't present.*): The retrieved access token. @@ -60,7 +73,7 @@ Configuration variables: - **client_secret** (*Required if access token isn't provided*): Your provided Wink client_secret. - **user_agent** (*Optional*): The user-agent passed in the API calls to Wink. -This will connect to the Wink hub and automatically set up any lights, switches and sensors that it finds. +This will connect to the Wink API and automatically set up any switches, lights, locks, fans, climate devices, covers, and sensors.

The Wink hub can only be accessed via the cloud. This means it requires an active internet connection and you will experience delays when controlling and updating devices (~3s). From c05021e96f9945caaf0e0ce86b9b2e2be284e8be Mon Sep 17 00:00:00 2001 From: happyleavesaoc Date: Thu, 26 Jan 2017 10:37:06 -0500 Subject: [PATCH 051/157] update usps doc (#1880) --- source/_components/sensor.usps.markdown | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/source/_components/sensor.usps.markdown b/source/_components/sensor.usps.markdown index fe81ff01c5a..a85a5e6be9b 100644 --- a/source/_components/sensor.usps.markdown +++ b/source/_components/sensor.usps.markdown @@ -12,7 +12,7 @@ ha_category: Sensor ha_release: 0.36 --- -The `usps` platform allows one to track deliveries by the [US Postal Service (USPS)](https://www.usps.com/). +The `usps` platform allows one to track deliveries by the [US Postal Service (USPS)](https://www.usps.com/). You must opt-in to [MyUSPS](https://my.usps.com/mobileWeb/pages/intro/start.action) prior to using this sensor. Doing so will confirm your address. To enable this sensor, add the following lines to your `configuration.yaml`: @@ -24,9 +24,24 @@ sensor: password: YOUR_PASSWORD ``` -Configuration options for the a TCP Sensor: +Configuration options for the USPS Sensor: -- **username** (*Required*): The username to access the USPS service. +- **username** (*Required*): The username to access the MyUSPS service. - **password** (*Required*): The password for the given username. -- **update_interval** (*Optional*): Interval in minutes for the updates. +- **name** (*Optional*): Name the sensor (default: your mailing address). +- **update_inverval** (*Optional*): Minimum time interval between updates. Default is 1 hour. Supported formats: + - `update_interval: 'HH:MM:SS'` + - `update_interval: 'HH:MM'` + - Time period dictionary, e.g.: +

update_interval:
+        # At least one of these must be specified:
+        days: 0
+        hours: 0
+        minutes: 3
+        seconds: 30
+        milliseconds: 0
+    
+

+The USPS sensor logs into the MyUSPS website to scrape package data. It does not use an API. +

From d92c215d5d902b174320bedc1fd5b11af0c308bb Mon Sep 17 00:00:00 2001 From: David McNett Date: Thu, 26 Jan 2017 09:39:32 -0600 Subject: [PATCH 052/157] media_player.anthemav ha_release version (#1882) * media_player/anthemav: Initial Commit Adding preliminary component page for media_player/anthemav with logo and rudimentary configuration information. This is just a placeholder so I could verify my local rake setup and confirm that I can maintain the page. * media_player/anthemav component page content * Current version from upstream/next * Missed 0.36 for the anthemav media player, bumping release version --- source/_components/media_player.anthemav.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.anthemav.markdown b/source/_components/media_player.anthemav.markdown index 2e5a4424f92..58fcff27e93 100644 --- a/source/_components/media_player.anthemav.markdown +++ b/source/_components/media_player.anthemav.markdown @@ -10,7 +10,7 @@ footer: true logo: anthemav.png ha_category: Media Player ha_iot_class: "Local Push" -ha_release: 0.36 +ha_release: 0.37 --- Both [Anthem]'s current and last generation of A/V Receivers and and Processors From 703a399be3874051e1b96a7d5c8eb50954e9e12c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 26 Jan 2017 09:18:02 +0100 Subject: [PATCH 053/157] Make title linkable and other small changes --- source/_components/hdmi_cec.markdown | 33 +++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/source/_components/hdmi_cec.markdown b/source/_components/hdmi_cec.markdown index 07c08e45ce9..e586904bc00 100644 --- a/source/_components/hdmi_cec.markdown +++ b/source/_components/hdmi_cec.markdown @@ -50,11 +50,13 @@ $ ln -s /usr/local/lib/python3.4/dist-packages/cec /srv/hass/hass_venv/lib/pytho ```bash ssh pi@your_raspberry_pi_ip ``` + * at the command line type: ```bash echo scan | cec-client -s -d 1 ``` + * This will give you the list of devices that are on the bus ```bash @@ -72,13 +74,15 @@ power status: on language: ??? ``` -**Note the address: line above this will be used to configure HA, this address is represented below as 3: BlueRay player** +

`address:` entry above this will be used to configure Home Assistant, this address is represented below as 3: BlueRay player. +

## {% linkable_title Configuration Example %} In the following example, a Pi Zero running Home Assistant is on a TV's HDMI port 1. HDMI port 2 is attached to a AV receiver. Three devices are attached to the AV receiver on HDMI ports 1 through 3. You can use either direct mapping name to physical address of device + ```yaml hdmi_cec: devices: @@ -89,7 +93,9 @@ hdmi_cec: Another Device: 2.3.0.0 BlueRay player: 3.0.0.0 ``` -or port mapping tree + +or port mapping tree: + ```yaml hdmi_cec: devices: @@ -100,14 +106,18 @@ hdmi_cec: 3: Another Device 3: BlueRay player ``` + Choose just one schema. Mixing both approaches is not possible. Another option you can use in config is `platform` which specifying of default platform of HDMI devices. "switch" and "media_player" are supported. Switch is default. + ```yaml hdmi_cec: platform: media_player ``` + Then you set individual platform for devices in customizations: + ```yaml homeassistant: customize: @@ -116,6 +126,7 @@ homeassistant: ``` And the last option is `host`. PyCEC supports bridging CEC commands over TCP. When you start pyCEC on machine with HDMI port (`python -m pycec`), you can then run homeassistant on another machine and connect to CEC over TCP. Specify TCP address of pyCEC server: + ```yaml hdmi_cec: host: 192.168.1.3 @@ -161,40 +172,52 @@ Call the `hdmi_cec/standby` service (no arguments) to place in standby any devic Call the `hdmi_cec/volume` service with one of following commands: -#### Volume up +#### {% linkable_title Volume up %} Increase volume three times: + ```json {"up": 3} ``` + Keep increasing volume until release is called: + ```json {"up": "press"} ``` + Stop increasing volume: + ```json {"up": "release"} ``` -#### Volume down +#### {% linkable_title Volume down %} Decrease volume three times: + ```json {"down": 3} ``` + Keep decreasing volume until release is called: + ```json {"down": "press"} ``` + Stop decreasing volume: + ```json {"down": "release"} ``` -#### Volume mute +#### {% linkable_title Volume mute %} Toggle mute: + ```json {"mute": ""} ``` + value is ignores. From b8c439792b00f27b3b6e4ed249f6665328dce4d2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 26 Jan 2017 16:43:42 +0100 Subject: [PATCH 054/157] Remove line breaks and minimize configuration sample --- .../media_player.anthemav.markdown | 36 ++++++------------- 1 file changed, 10 insertions(+), 26 deletions(-) diff --git a/source/_components/media_player.anthemav.markdown b/source/_components/media_player.anthemav.markdown index 58fcff27e93..b6223df3fd8 100644 --- a/source/_components/media_player.anthemav.markdown +++ b/source/_components/media_player.anthemav.markdown @@ -13,59 +13,43 @@ ha_iot_class: "Local Push" ha_release: 0.37 --- -Both [Anthem]'s current and last generation of A/V Receivers and and Processors -support IP-based, network control. This Home Assistant platform adds proper -"local push" support for any of these receivers on your network. +Both [Anthem]'s current and last generation of A/V Receivers and and Processors support IP-based, network control. This Home Assistant platform adds proper "local push" support for any of these receivers on your network. ## {% linkable_title Supported Models %} * MRX 520, MRX 720, MRX 1120, and AVM 60 * MRX 310, MRX 510, MRX 710 -Support is provided through the Python [anthemav] module. Older, RS-232 -serial-based units like the D2v use a different protocol entirely and are not -currently supported. +Support is provided through the Python [anthemav] module. Older, RS-232 serial-based units like the D2v use a different protocol entirely and are not currently supported. [Anthem]: http://www.anthemav.com/ [anthemav]: https://github.com/nugget/python-anthemav -## {% linkable_title Configuration %} +To use your Anthem A/V Receiver in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry media_player: - platform: anthemav - host: 10.0.0.42 - port: 14999 + host: IP_ADDRESS ``` -### Configuration Variables +Configuration variables: -- **host** (*Required*): The host name or address of the device. +- **host** (*Required*): The host name or the IP address of the device. - **port** (*Optional*): The port number. Defaults to 14999. - **name** (*Optional*): The name of the device used in the frontend. ## Notes and Limitations -- The tuner is currently unsupported as are the `media_player` play, pays, - prev, and next controls. - -- Enabling this platform will set and enforce "Standby IP Control On" in your Anthem - device. You almost certainly want this. If you disable it on the device, it - will just get re-enabled by Home Assistant. - +- The tuner is currently unsupported as are the `media_player` play, pays, prev, and next controls. +- Enabling this platform will set and enforce "Standby IP Control On" in your Anthem device. You almost certainly want this. If you disable it on the device, it will just get re-enabled by Home Assistant. - Only Zone 1 is currently supported.

- This platform will maintain a persistent connection to the network control - port which will prevent any other application from communicating with the - receiver. This includes the Anthem iOS and Android remote control apps as - well as the ARC-2 Anthem Room Calibration software. You will need to disable - this platform and restart Home Assistant if you want to use another + This platform will maintain a persistent connection to the network control port which will prevent any other application from communicating with the receiver. This includes the Anthem iOS and Android remote control apps as well as the ARC-2 Anthem Room Calibration software. You will need to disable this platform and restart Home Assistant if you want to use another application that makes use of the network control port.

- *The underlying Python module has hooks for halting and resuming the network - connection but those functions are currently unsupported by the Home - Assistant platform.* + *The underlying Python module has hooks for halting and resuming the network connection but those functions are currently unsupported by the Home Assistant platform.*

From 2255af407a61664e04bf2df0a4c30e5c9f3bbff8 Mon Sep 17 00:00:00 2001 From: Martin Rowan Date: Thu, 26 Jan 2017 17:54:48 +0000 Subject: [PATCH 055/157] Update development environment setup guide (#1804) --- .../development_environment.markdown | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/source/developers/development_environment.markdown b/source/developers/development_environment.markdown index cff766b0e10..9d8e83cf1f1 100644 --- a/source/developers/development_environment.markdown +++ b/source/developers/development_environment.markdown @@ -11,14 +11,52 @@ footer: true You'll need to set up a development environment if you want to develop a new feature or component for Home Assistant. Read on to learn how to set up. -* Visit the [Home Assistant repository](https://github.com/home-assistant/home-assistant) and click **Fork**. - -* Consider setting up a virtual environment using [`venv`](https://docs.python.org/3.4/library/venv.html) before running the setup script. +### {% linkable_title Setup Local Repository %} +Visit the [Home Assistant repository](https://github.com/home-assistant/home-assistant) and click **Fork**. +Once forked, setup your local copy of the source using the commands: ```bash $ git clone https://github.com/YOUR_GIT_USERNAME/home-assistant.git $ cd home-assistant $ git remote add upstream https://github.com/home-assistant/home-assistant.git +``` + +### {% linkable_title Prepare Your Environment %} + +#### {% linkable_title Core dependencies %} + +Install the core dependencies. +```bash +$ sudo apt-get install python3-pip python3-dev libssl-dev +``` +

+Different distributions have different package installation mechanisms and sometimes packages names as well. For example Centos would use: `sudo yum install epel-release && sudo yum install python34 python34-devel mysql-devel` +

+ +Additional dependencies exist if you you plan to perform Frontend Development, please read the [Frontend](https://home-assistant.io/developers/frontend/) section to learn more. + +#### {% linkable_title Setting up virtual environment (optional) %} + +If you plan on providing isolation to your environment using [`venv`](https://docs.python.org/3.4/library/venv.html). Within the `home-assistant` directory, create and activate your virtual environment. + +If using Python < 3.6 `pyvenv` is the recommended method of setting up virtual environments, you'll need to install the `python3-venv` package. +```bash +$ sudo apt-get install python3-venv +$ pyvenv venv +$ source venv/bin/activate +``` + +If using Python 3.6 `pyvenv` has been deprecated: +```bash +$ python3 -m venv venv +$ source venv/bin/activate +``` + +### {% linkable_title Setup and Run %} + +* On Mac OS X and Linux (remember to activate your virtual environment before running setup, if you are using one): +```bash +$ cd home-assistant $ script/setup ``` From b2bbe1d802523efcf4ddcc5358546d17b1a0d5e6 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 27 Jan 2017 10:48:13 +0100 Subject: [PATCH 056/157] Sonos update for 0.37 (#1886) --- source/_components/media_player.sonos.markdown | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/_components/media_player.sonos.markdown b/source/_components/media_player.sonos.markdown index 49fe55eb1bb..3d02389e661 100644 --- a/source/_components/media_player.sonos.markdown +++ b/source/_components/media_player.sonos.markdown @@ -24,6 +24,7 @@ media_player: - platform: sonos ``` + If you have multiple network devices, you can provide the IP address of the device that should be used for Sonos auto-discovery. ```yaml @@ -61,6 +62,7 @@ Take a snapshot of what is currently playing on one or more speakers. This servi | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | no | String or list of strings that point at `entity_id`s of coordinator speakers. +| `with_group` | yes | Should be also snapshot the group state of the speaker. ### {% linkable_title Service `sonos_restore` %} @@ -69,14 +71,16 @@ Restore a previously taken snapshot of one or more speakers. If no `entity_id` i | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | no | String or list of strings that point at `entity_id`s of coordinator speakers. +| `with_group` | yes | Should be also restore the group state of the speaker. Only if was snapshot with group. -### {% linkable_title Service `sonos_group_players` %} +### {% linkable_title Service `sonos_join` %} -Group all players together under a single coordinator. +Do group players together under a single coordinator. That will make a new group or join to exists group. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | no | String or list of a single `entity_id` that will become the coordinator speaker. +| `master` | no | A single `entity_id` that will become/hold the coordinator speaker. +| `entity_id` | no | String or list of a single `entity_id` that will group to master speaker. ### {% linkable_title Service `sonos_unjoin` %} From 734b08fecc8e5ed279d946b0172d7ea0447494be Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 27 Jan 2017 11:05:50 +0100 Subject: [PATCH 057/157] Microsoft face (#1876) * Microsoft Face * Add platform doku --- source/_components/image_processing.markdown | 21 +++++ ...rocessing.microsoft_face_identify.markdown | 38 +++++++++ .../image_processing.openalpr_cloud.markdown | 4 +- .../image_processing.openalpr_local.markdown | 2 + source/_components/microsoft_face.markdown | 78 ++++++++++++++++++ source/images/supported_brands/microsoft.png | Bin 0 -> 15663 bytes 6 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 source/_components/image_processing.microsoft_face_identify.markdown create mode 100644 source/_components/microsoft_face.markdown create mode 100644 source/images/supported_brands/microsoft.png diff --git a/source/_components/image_processing.markdown b/source/_components/image_processing.markdown index 9c07aff9bac..62bcf5e8011 100644 --- a/source/_components/image_processing.markdown +++ b/source/_components/image_processing.markdown @@ -34,3 +34,24 @@ automation: ``` The following event attributes will be present: `entity_id`, `plate`, `confidence` + +## {% linkable_title Face identify %} + +Face entities attribute have a face counter `total_faces` and all validated person as `known_faces`. + +This event is trigger after Microsoft Face identify found a known faces. + +```yaml +# Example configuration.yaml automation entry +automation: +- alias: Known person in front of my door + trigger: + platform: event + event_type: identify_face + event_data: + entity_id: image_processing.door + name: 'Hans Maier' +... +``` + +The following event attributes will be present: `entity_id`, `name`, `confidence` diff --git a/source/_components/image_processing.microsoft_face_identify.markdown b/source/_components/image_processing.microsoft_face_identify.markdown new file mode 100644 index 00000000000..c796a4136fb --- /dev/null +++ b/source/_components/image_processing.microsoft_face_identify.markdown @@ -0,0 +1,38 @@ +--- +layout: page +title: "Microsoft Face identify" +description: "Instructions how to integrate microsoft face identify into Home Assistant." +date: 2017-01-25 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: microsoft.png +ha_category: Image_Processing +featured: false +ha_release: 0.37 +--- + +The `microsoft_face_identify` image processing platform lets you use [Microsoft Face identify](https://www.microsoft.com/cognitive-services/en-us/) API through Home Assistant. + +Please refer to the [component](/components/microsoft_face/) configuration on how to setup the API key. + +For using inside automation look on [component](/components/image_processing) page. + +### {% linkable_title Configuration Home Assistant %} + +```yaml +# Example configuration.yaml entry +image_processing: + - platform: microsoft_face_identify + group: family + source: + - entity_id: camera.door +``` +Configuration variables: + +- **group** (*Required*): Micrsoft face group to detect person from it. +- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. +- **source** array (*Required*): List of image sources. + - **entity_id** (*Required*): A camera entity id to get picture from. + - **name** (*Optional*): This parameter allows you to override the name of your `image_processing` entity. diff --git a/source/_components/image_processing.openalpr_cloud.markdown b/source/_components/image_processing.openalpr_cloud.markdown index 366578664d6..7b6b819f627 100644 --- a/source/_components/image_processing.openalpr_cloud.markdown +++ b/source/_components/image_processing.openalpr_cloud.markdown @@ -15,6 +15,8 @@ ha_release: 0.36 [OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). +For using inside automation look on [component](/components/image_processing) page. + ### {% linkable_title Configuration Home Assistant %} ```yaml @@ -30,7 +32,7 @@ Configuration variables: - **region** (*Required*): Country or region. List of supported [values](https://github.com/openalpr/openalpr/tree/master/runtime_data/config). - **api_key** (*Required*): You need an API key from [OpenALPR Cloud](https://cloud.openalpr.com/). -- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. +- **confidence** (*Optional*): The minimum of confidence in percent to process with Home Assistant. Defaults to 80. - **source** array (*Required*): List of image sources. - **entities** (*Required*): A list of devices to add in Home Assistant. - **name** (*Optional*): This parameter allows you to override the name of your OpenALPR entity. diff --git a/source/_components/image_processing.openalpr_local.markdown b/source/_components/image_processing.openalpr_local.markdown index ddf911d6d44..81d6886d86f 100644 --- a/source/_components/image_processing.openalpr_local.markdown +++ b/source/_components/image_processing.openalpr_local.markdown @@ -15,6 +15,8 @@ ha_release: 0.36 [OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). +For using inside automation look on [component](/components/image_processing) page. + ### {% linkable_title Local installation %} If you want process all data locally, you need version 2.3.1 or higher of the `alpr` commandline tool. diff --git a/source/_components/microsoft_face.markdown b/source/_components/microsoft_face.markdown new file mode 100644 index 00000000000..f803fbe6075 --- /dev/null +++ b/source/_components/microsoft_face.markdown @@ -0,0 +1,78 @@ +--- +layout: page +title: "Microsoft Face" +description: "Instructions how to integrate Microsoft Face component into Home Assistant." +date: 2017-01-25 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: microsoft.png +ha_category: Hub +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 in a own private instance in the azure cloud. + +You need an API key which is free but requires a [Azure registration](https://azure.microsoft.com/de-de/free/) with your microsoft ID. The free resource (*F0*) is limit to 30K request in a month and 20 per minute. If you don't want use a azure cloud, you can also get a API key with registration on [cognitive-services](https://www.microsoft.com/cognitive-services/en-us/subscriptions) but they need to recreate all 90 days. + +To enable the Microsoft Face component, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +microsoft_face: + api_key: YOUR_API_KEY +``` + +Configuration variables: + +- **api_key** (*Required*): The API key for your Cognitive resource. +- **timeout** (*Optional)*: Set timeout for api connection (default 10sec). + +### {% linkable_title Person and Groups %} + +For most of service you need set a group or a person. So it process and detect only stuff they will given with this group. Home-Assistent create for all group a entity and allow your to show the state, person and IDs inside UI. + +For manage this feature you have following services they can call with UI, script or rest api. + +- *microsoft_face.create_group* +- *microsoft_face.delete_group* +```yaml +service: microsoft_face.create_group +data: + name: 'Family' +``` + +- *microsoft_face.create_person* +- *microsoft_face.delete_person* +```yaml +service: microsoft_face.create_person +data: + group: family + name: 'Hans Maier' +``` + +We need add image to a person. We can add multiple image for every person to make the detection better. We can take a picture from a camera or send a local image to our azure resource. + +- *microsoft_face.face_person* +```yaml +service: microsoft_face.face_person +data: + group: family + name: 'Hans Maier' + camera_entity: camera.door +``` + +For the local image we need *curl*. The personId is present in group entity as attribute. + +```bash +curl -v -X POST "https://westus.api.cognitive.microsoft.com/face/v1.0/persongroups/{GroupName}/persons/{personId}/persistedFaces" -H "Ocp-Apim-Subscription-Key: {ApiKey}" -H "Content-Type: application/octet-stream" --data "@/tmp/image.jpg" +``` + +After we done with changes on a group, we need train this group to make our AI fit to handle the new data. + +- *microsoft_face.train_group* +```yaml +service: microsoft_face.train_group +data: + group: family diff --git a/source/images/supported_brands/microsoft.png b/source/images/supported_brands/microsoft.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa04168f3dac37b0fa648b49c4312cd8d3cf901 GIT binary patch literal 15663 zcmeIZc{J2<{4cDHN~k0u2}L22En}HPB-yu+t+E><+gOIF5M@irzEt*o--iiVvd4^N zEJOCOj3vt$X70yx&+|LyKEK~{&vVYb=lSb8$LSnR`hGv(_ww4lA9S?Tn9g#ZrK6)` zQh%(XM@M%&i;nKtuhYlDPhRz)PJ%x;JRUvs(1+W4AgtYN=#*Z;U)Wq%hgsX%=-F7m z@_GH+MxKsN{*Stfl7TmVWrA#GX#8&NwXIImu}3P&f;zg_IkERuB0dN(e^77rNHVCq zhg~(utjkYr#O!R1FHjlGwd=m*8R(@vdC~gxs~)RV?yvhS_xXi>{P=N;?;YRSM zSoYs$nQg=2eSgwozP>f#r}`5=5p0xj4d==%1 z`%6)RNw-c)V6J?*TQU|%LpbSUN2_n&R8|iRMV{mV|K+%v+j9?RhORjkwbo1>oh(E6 zMVtS81po6c{f}$=KOg&ljI94{2l5|B{9liaqge?)a=s?15C-F>>MU!X?bI2&(@EFF zu6E&iS;R71(j^UX4=pD%1Ms-3M;3PiZb1a{hGTMK_j4BQpA-!Gq{XX?U*G#NcHF-6 z1l=3g_6Yy~VjlnJ%lI$H_W$z7&d>k71@=TnZfjtO&ZMn{O+tJVv_kmTgH$^TRL*d6%R&F;!3s#J0 zvokU>va*=DAs)X%FDxxBIi3yb>Q&9>ZQ*60^SDiH=aF@r?fs64Xl=5=kI?9k!{K%aM*8}!suV4-tm=Z^zkgq7R_!uYRoK`#nM(?f zh`0$h+WIGcwa5aq>b2%zM)TV9p$DR~onM8eq@+AOJ@@_0%*-A>d}zr-vofFyeSGK6 z9RhMIVt+T>oPU$w(#gq5SNBh&Kc%y)i&U4w#?74)9UcAktD%n0r`T9klVhQGiL(XI zYs)GsVty>D%vSH;r_|%7K9*23cNT{V&3XguoSh5ajqc5`v9UP~70AB+`zug-58W5Z zEoa-8s$kcfyzVP{if*+AN#11OLH4)8=aW>ZsS1A5@X3{x*%MFN9R{;{;>G#zeJrc3 z^=bXc25wsG>u1^|r4L2j%E-7;4j;jwXnBVD$2oEaMn-A^4)-@VHy6@SiZ^ctGoE-* zlb@T*OJd^36crVfl?`lIVqjxcxAn7BR4r+C1M$^jnOKj4ANw*4Bgx927-8 z$W9AzTo+Mgij#60aPNITeaU+C4n^gf!D>QC8u^guRm^@nH~LTeY7Z!9Av zmEezD=uNqK^X79dx@Igmv#^gJZ!w6eHu{p|#4MS2-NrE}l!iu_nsio0#XqH)?c>hk z&f_)F)h2X7>5S~6NXlw;OrRP+ZN4Xof#uq{<%b3+(`Zu4s;tN2r#YEqMSpz6cP_fA zD$nJi+eWt-qErK7NRt8X?(Tb+|AM;^HLshEj;Qrqj@4u*6lZ1zw_DLQ_fEHjG;D?A z0_DZoq98FgHZ~?ECf25*^~ zu&|3~?gKriP^s?tsjanjwECfkt$rZgX?7yYOe>>U$Fjt#DOuM2IGXitZ~KZ;UY@

iTnOr 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 Date: Fri, 27 Jan 2017 11:12:52 +0100 Subject: [PATCH 058/157] Use log with transparent background --- source/images/supported_brands/microsoft.png | Bin 15663 -> 14626 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/supported_brands/microsoft.png b/source/images/supported_brands/microsoft.png index 2aa04168f3dac37b0fa648b49c4312cd8d3cf901..494f15cecb0265233a086849dcad5b41453c2e96 100644 GIT binary patch literal 14626 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 D5X4~s literal 15663 zcmeIZc{J2<{4cDHN~k0u2}L22En}HPB-yu+t+E><+gOIF5M@irzEt*o--iiVvd4^N zEJOCOj3vt$X70yx&+|LyKEK~{&vVYb=lSb8$LSnR`hGv(_ww4lA9S?Tn9g#ZrK6)` zQh%(XM@M%&i;nKtuhYlDPhRz)PJ%x;JRUvs(1+W4AgtYN=#*Z;U)Wq%hgsX%=-F7m z@_GH+MxKsN{*Stfl7TmVWrA#GX#8&NwXIImu}3P&f;zg_IkERuB0dN(e^77rNHVCq zhg~(utjkYr#O!R1FHjlGwd=m*8R(@vdC~gxs~)RV?yvhS_xXi>{P=N;?;YRSM zSoYs$nQg=2eSgwozP>f#r}`5=5p0xj4d==%1 z`%6)RNw-c)V6J?*TQU|%LpbSUN2_n&R8|iRMV{mV|K+%v+j9?RhORjkwbo1>oh(E6 zMVtS81po6c{f}$=KOg&ljI94{2l5|B{9liaqge?)a=s?15C-F>>MU!X?bI2&(@EFF zu6E&iS;R71(j^UX4=pD%1Ms-3M;3PiZb1a{hGTMK_j4BQpA-!Gq{XX?U*G#NcHF-6 z1l=3g_6Yy~VjlnJ%lI$H_W$z7&d>k71@=TnZfjtO&ZMn{O+tJVv_kmTgH$^TRL*d6%R&F;!3s#J0 zvokU>va*=DAs)X%FDxxBIi3yb>Q&9>ZQ*60^SDiH=aF@r?fs64Xl=5=kI?9k!{K%aM*8}!suV4-tm=Z^zkgq7R_!uYRoK`#nM(?f zh`0$h+WIGcwa5aq>b2%zM)TV9p$DR~onM8eq@+AOJ@@_0%*-A>d}zr-vofFyeSGK6 z9RhMIVt+T>oPU$w(#gq5SNBh&Kc%y)i&U4w#?74)9UcAktD%n0r`T9klVhQGiL(XI zYs)GsVty>D%vSH;r_|%7K9*23cNT{V&3XguoSh5ajqc5`v9UP~70AB+`zug-58W5Z zEoa-8s$kcfyzVP{if*+AN#11OLH4)8=aW>ZsS1A5@X3{x*%MFN9R{;{;>G#zeJrc3 z^=bXc25wsG>u1^|r4L2j%E-7;4j;jwXnBVD$2oEaMn-A^4)-@VHy6@SiZ^ctGoE-* zlb@T*OJd^36crVfl?`lIVqjxcxAn7BR4r+C1M$^jnOKj4ANw*4Bgx927-8 z$W9AzTo+Mgij#60aPNITeaU+C4n^gf!D>QC8u^guRm^@nH~LTeY7Z!9Av zmEezD=uNqK^X79dx@Igmv#^gJZ!w6eHu{p|#4MS2-NrE}l!iu_nsio0#XqH)?c>hk z&f_)F)h2X7>5S~6NXlw;OrRP+ZN4Xof#uq{<%b3+(`Zu4s;tN2r#YEqMSpz6cP_fA zD$nJi+eWt-qErK7NRt8X?(Tb+|AM;^HLshEj;Qrqj@4u*6lZ1zw_DLQ_fEHjG;D?A z0_DZoq98FgHZ~?ECf25*^~ zu&|3~?gKriP^s?tsjanjwECfkt$rZgX?7yYOe>>U$Fjt#DOuM2IGXitZ~KZ;UY@

iTnOr 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 Date: Fri, 27 Jan 2017 11:13:56 +0100 Subject: [PATCH 059/157] Small cosmetic changes --- source/_components/image_processing.markdown | 2 +- ...rocessing.microsoft_face_identify.markdown | 2 +- .../image_processing.openalpr_cloud.markdown | 2 +- source/_components/microsoft_face.markdown | 22 ++++++++++++------- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/source/_components/image_processing.markdown b/source/_components/image_processing.markdown index 62bcf5e8011..da21d46c527 100644 --- a/source/_components/image_processing.markdown +++ b/source/_components/image_processing.markdown @@ -10,7 +10,7 @@ footer: true ha_release: 0.36 --- -Image processing enables Home Assistant to process image from [cameras][/components/#camera]. Only camera entities are supported as sources. +Image processing enables Home Assistant to process images from [cameras][/components/#camera]. Only camera entities are supported as sources. For interval control, use `scan_interval` in platform. diff --git a/source/_components/image_processing.microsoft_face_identify.markdown b/source/_components/image_processing.microsoft_face_identify.markdown index c796a4136fb..805c8c2a813 100644 --- a/source/_components/image_processing.microsoft_face_identify.markdown +++ b/source/_components/image_processing.microsoft_face_identify.markdown @@ -17,7 +17,7 @@ The `microsoft_face_identify` image processing platform lets you use [Microsoft Please refer to the [component](/components/microsoft_face/) configuration on how to setup the API key. -For using inside automation look on [component](/components/image_processing) page. +For using the result inside an automation rule, take a look at the [component](/components/image_processing/) page. ### {% linkable_title Configuration Home Assistant %} diff --git a/source/_components/image_processing.openalpr_cloud.markdown b/source/_components/image_processing.openalpr_cloud.markdown index 7b6b819f627..797c91ba434 100644 --- a/source/_components/image_processing.openalpr_cloud.markdown +++ b/source/_components/image_processing.openalpr_cloud.markdown @@ -15,7 +15,7 @@ ha_release: 0.36 [OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you to process licences plates from a camera. You can use them to open a garage door or trigger any other [automation](https://home-assistant.io/components/automation/). -For using inside automation look on [component](/components/image_processing) page. +For using the result inside an automation rule, take a look at the [component](/components/image_processing/) page. ### {% linkable_title Configuration Home Assistant %} diff --git a/source/_components/microsoft_face.markdown b/source/_components/microsoft_face.markdown index f803fbe6075..5e3d0961fcf 100644 --- a/source/_components/microsoft_face.markdown +++ b/source/_components/microsoft_face.markdown @@ -12,9 +12,9 @@ ha_category: Hub 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 in a own private instance in the azure cloud. +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 in a own private instance in the Azure cloud. -You need an API key which is free but requires a [Azure registration](https://azure.microsoft.com/de-de/free/) with your microsoft ID. The free resource (*F0*) is limit to 30K request in a month and 20 per minute. If you don't want use a azure cloud, you can also get a API key with registration on [cognitive-services](https://www.microsoft.com/cognitive-services/en-us/subscriptions) but they need to recreate all 90 days. +You need an API key which is free but requires a [Azure registration](https://azure.microsoft.com/de-de/free/) with your microsoft ID. The free resource (*F0*) is limit to 30k requests in a month and 20 per minute. If you don't want use a the Azure cloud, you can also get a API key with registration on [cognitive-services](https://www.microsoft.com/cognitive-services/en-us/subscriptions) but they need to recreate all 90 days. To enable the Microsoft Face component, add the following lines to your `configuration.yaml`: @@ -27,16 +27,17 @@ microsoft_face: Configuration variables: - **api_key** (*Required*): The API key for your Cognitive resource. -- **timeout** (*Optional)*: Set timeout for api connection (default 10sec). +- **timeout** (*Optional)*: Set timeout for the API connection. Defaults to 10s. ### {% linkable_title Person and Groups %} -For most of service you need set a group or a person. So it process and detect only stuff they will given with this group. Home-Assistent create for all group a entity and allow your to show the state, person and IDs inside UI. +For most of the services you need to set up a group or a person. This limits the processing and detection to elements provided by group. Home Assistent creates for all group a entity and allow you to show the state, person and IDs directly on the frontend. -For manage this feature you have following services they can call with UI, script or rest api. +For managing this feature, you have the following services. They can be called with the Frontend, a script, or the REST API. - *microsoft_face.create_group* - *microsoft_face.delete_group* + ```yaml service: microsoft_face.create_group data: @@ -45,6 +46,7 @@ data: - *microsoft_face.create_person* - *microsoft_face.delete_person* + ```yaml service: microsoft_face.create_person data: @@ -52,9 +54,10 @@ data: name: 'Hans Maier' ``` -We need add image to a person. We can add multiple image for every person to make the detection better. We can take a picture from a camera or send a local image to our azure resource. +You need to add an image of a person. You can add multiple images for every person to make the detection better. You can take a picture from a camera or send a local image to your Azure resource. - *microsoft_face.face_person* + ```yaml service: microsoft_face.face_person data: @@ -63,15 +66,18 @@ data: camera_entity: camera.door ``` -For the local image we need *curl*. The personId is present in group entity as attribute. +For the local image we need `curl`. The person ID is present in group entity as attribute. ```bash -curl -v -X POST "https://westus.api.cognitive.microsoft.com/face/v1.0/persongroups/{GroupName}/persons/{personId}/persistedFaces" -H "Ocp-Apim-Subscription-Key: {ApiKey}" -H "Content-Type: application/octet-stream" --data "@/tmp/image.jpg" +$ curl -v -X POST "https://westus.api.cognitive.microsoft.com/face/v1.0/persongroups/{GroupName}/persons/{personId}/persistedFaces" \ + -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \ + -H "Content-Type: application/octet-stream" --data "@/tmp/image.jpg" ``` After we done with changes on a group, we need train this group to make our AI fit to handle the new data. - *microsoft_face.train_group* + ```yaml service: microsoft_face.train_group data: From 9c0abbba36df902d03a8d04dad78c813656f9f1e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 27 Jan 2017 20:49:28 +0100 Subject: [PATCH 060/157] Put it in the 'other' category --- source/_components/ha.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/ha.markdown b/source/_components/ha.markdown index e71a7ea5a1e..7dc17aeecb6 100644 --- a/source/_components/ha.markdown +++ b/source/_components/ha.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true logo: home-assistant.png -ha_category: Release +ha_category: Other ha_release: 0.37 --- From 103586f00c7c5adb0d26f1e40a1d493583c7b8b9 Mon Sep 17 00:00:00 2001 From: John Arild Berentsen Date: Sat, 28 Jan 2017 18:10:18 +0100 Subject: [PATCH 061/157] Update lock.zwave.markdown (#1852) * Update lock.zwave.markdown * Update lock.zwave.markdown --- source/_components/lock.zwave.markdown | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/_components/lock.zwave.markdown b/source/_components/lock.zwave.markdown index f98b02e3d97..f3101f33ca7 100644 --- a/source/_components/lock.zwave.markdown +++ b/source/_components/lock.zwave.markdown @@ -13,3 +13,11 @@ ha_release: 0.19 --- To get your Z-Wave locks working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/). + +Z-Wave locks will expose three services under the lock domain to manage usercodes if the lock supports it: + +| Service | Description | +| ------- | ----------- | +| clear_usercode | Clears a usercode at code_slot X. Valid code_slots are 1-254, but max is defined by the lock. | +| get_usercode | Get a usercode from the lock at code_slot. Valid code_slots are 1-254, but max is defined by the lock. | +| set_usercode | Sets usercode to X at code_slot Y. Valid usercodes are at least 4 digits, and max defined by the lock. | From f6e14a67e7593cf55dc659edbc24a1d2dcff1fdd Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 Jan 2017 09:19:35 -0800 Subject: [PATCH 062/157] Update frontend docs --- source/_components/frontend.markdown | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/source/_components/frontend.markdown b/source/_components/frontend.markdown index 976c6f506ef..47027c322bf 100644 --- a/source/_components/frontend.markdown +++ b/source/_components/frontend.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Frontend" -description: "Offers a web framework to serve files." +description: "Offers a frontend to Home Assistant." date: 2015-12-06 21:35 sidebar: true comments: false @@ -11,14 +11,9 @@ logo: home-assistant.png ha_category: "Other" --- -The `http` component serves all files and data required for the Home Assistant frontend. You only need to add this to your configuration file if you want to change any of the default settings. - -

-It's HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet. -

+This offers the official frontend to control Home Assistant. ```yaml # Example configuration.yaml entry frontend: ``` - From 071c283dd17397cf5df68abd1a3e123ea00b4f26 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 Jan 2017 09:31:24 -0800 Subject: [PATCH 063/157] Fix blog post --- source/_posts/2017-01-14-iss-usps-images-packages.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index c627059c1c4..0ec50849ca3 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -3,12 +3,11 @@ layout: post title: "0.36: ISS, USPS, Image processing, Insteon" description: "Track packages, space stations, TrackR devices, Xiaomi, and UPC connect boxes" date: 2017-01-14 08:04:05 +0000 -date_formatted: "January 14, 2017" +date_formatted: "January 15, 2017" author: Fabian Affolter author_twitter: fabaff comments: true categories: Release-Notes -og_image: /images/blog/2016-12-0.35/social.png --- Welcome to 2017 and 0.36. We are proud to announce the first release for this year. While we are still migrating parts to async but 0.36 is focusing on new features and a lot of bug fixes. From e02cffa43a66fde61bd4a15068f92bf05b09c058 Mon Sep 17 00:00:00 2001 From: Daniel Perna Date: Sun, 15 Jan 2017 20:43:40 +0100 Subject: [PATCH 064/157] Fixed wrong syntax (#1781) --- source/_ecosystem/appdaemon/api.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_ecosystem/appdaemon/api.markdown b/source/_ecosystem/appdaemon/api.markdown index 8615d751248..af1b241f1ec 100755 --- a/source/_ecosystem/appdaemon/api.markdown +++ b/source/_ecosystem/appdaemon/api.markdown @@ -1160,7 +1160,7 @@ Each service has different parameter requirements. This argument allows you to s #### {% linkable_title Examples %} ```python -self.call_service("light.turn_on", entity_id = "light/office_lamp", color_name = "red") +self.call_service("light/turn_on", entity_id = "light.office_lamp", color_name = "red") self.call_service("notify/notify", title = "Hello", message = "Hello World") ``` ### {% linkable_title turn_on() %} From d6b047f325e8f1366798fe38c894e002bca56b35 Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Sun, 15 Jan 2017 14:47:27 -0500 Subject: [PATCH 065/157] Add instructions for installing node.js via nvm (#1770) --- source/developers/frontend.markdown | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/developers/frontend.markdown b/source/developers/frontend.markdown index 663dbb6e4bc..a30c3178196 100644 --- a/source/developers/frontend.markdown +++ b/source/developers/frontend.markdown @@ -22,15 +22,18 @@ Do not use development mode in production. Home Assistant uses aggressive cachin ## {% linkable_title Setting up the environment %} -Home Assistant will by default serve the compiled version of the frontend. To enable development mode for Home Assistant, update your `configuration.yaml` to have these lines: +Home Assistant will by default serve the compiled version of the frontend. As everything is compiled into the file `frontend.html` you do not want to work with the compiled version but with the separate files during development. To enable development mode for Home Assistant, update your `configuration.yaml` to have these lines: ```yaml http: development: 1 ``` -As everything is compiled into the file `frontend.html` you do not want to work with the compiled version but with the separate files during development. +Node.js is required to setup the frontend development environment. The preferred method of installing node.js is [nvm](https://github.com/creationix/nvm). Install nvm using the instructions in the [README](https://github.com/creationix/nvm#install-script), and install node.js by running the following command: +```bash +$ nvm install node +``` Next step is to get the frontend code. When you clone the Home Assistant repository, the frontend repository is not cloned by default. You can setup the frontend development environment by running: ```bash From 34ea396c87d413a67ae60f1ce0438833d6e282d1 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 Jan 2017 12:19:09 -0800 Subject: [PATCH 066/157] fix release notes link --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index a1b0cabf635..103288c959b 100644 --- a/_config.yml +++ b/_config.yml @@ -136,4 +136,4 @@ date_released: 2017-01-15 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. -patch_version_notes: "#release-0353---december-23" +patch_version_notes: "#" From 9a45c6cb35721cccf23198f5d0fd02c9e37de39b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 15 Jan 2017 21:25:15 +0100 Subject: [PATCH 067/157] Add TTS changes --- ...17-01-14-iss-usps-images-packages.markdown | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index 0ec50849ca3..ac8c8c90704 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -25,7 +25,7 @@ $ hass --script influxdb_migrator \ ``` ## {% linkable_title International Space Station (ISS) %} -No, unfortunately we are not going to space. The `iss` sensor is tracking the position of the International Space Station and gives your some details. +No, unfortunately we are not going to space. The `iss` sensor is tracking the position of the International Space Station and gives you some details. ## {% linkable_title Insteon local %} The support for Insteon was removed due to issues a while ago. With the `insteon_local` component support for [Insteon][insteon] is back and let one work locally with an Insteon setup. @@ -81,6 +81,7 @@ The new [image processing component][image] currently works with [number plates] - All string fields corresponding to a state will be renamed as state (former value). - Fields named value will always be stored as float. - Fields named state will always be stored as string. +- TTS cache files use now the language abbreviation as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. `HASH_PLATFORM.xxx` -> `HASH_LANG_PLATFORM.xxx`. ## {% linkable_title If you need help... %} ...don't hesitate to use our [Forum](https://community.home-assistant.io/) or join us for a little [chat](https://gitter.im/home-assistant/home-assistant). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. @@ -115,9 +116,11 @@ Experiencing issues introduced by this release? Please report them in our [issue [@jjensn]: https://github.com/jjensn [@kellerza]: https://github.com/kellerza [@kk7ds]: https://github.com/kk7ds +[@lupin-de-mid]: https://github.com/lupin-de-mid [@lwis]: https://github.com/lwis [@magicus]: https://github.com/magicus [@markferry]: https://github.com/markferry +[@MartinHjelmare]: https://github.com/MartinHjelmare [@MatoKafkac]: https://github.com/MatoKafkac [@mezz64]: https://github.com/mezz64 [@michaelarnauts]: https://github.com/michaelarnauts @@ -132,23 +135,26 @@ Experiencing issues introduced by this release? Please report them in our [issue [@rmkraus]: https://github.com/rmkraus [@scmmmh]: https://github.com/scmmmh [@technicalpickles]: https://github.com/technicalpickles +[@titilambert]: https://github.com/titilambert [@ttroy50]: https://github.com/ttroy50 [@turbokongen]: https://github.com/turbokongen [@w1ll1am23]: https://github.com/w1ll1am23 [@wardcraigj]: https://github.com/wardcraigj [@webworxshop]: https://github.com/webworxshop -[@titilambert]: https://github.com/titilambert [@Zac-HD]: https://github.com/Zac-HD -[@MartinHjelmare]: https://github.com/MartinHjelmare -[@lupin-de-mid]: https://github.com/lupin-de-mid +[apns]: https://home-assistant.io/components/notify.apns/ [beaglebone]: https://home-assistant.io/components/bbb_gpio/ [bl-switch]: https://home-assistant.io/components/switch.broadlink/ +[bom]: https://home-assistant.io/components/weather.bom/ [dublin]: https://home-assistant.io/components/sensor.dublin_public_transport/ [image]: https://home-assistant.io/components/image_processing/ +[influx]: https://home-assistant.io/components/influxdb/ [insteon]: https://home-assistant.io/components/insteon_local/ +[iss]: https://home-assistant.io/components/sensor.iss/ [kankun]: https://home-assistant.io/components/switch.kankun/ [lannouncer]: https://home-assistant.io/components/notify.lannouncer/ +[mysensors]: https://home-assistant.io/components/notify.mysensors/ [packages]: https://home-assistant.io/topics/packages/ [pico]: https://home-assistant.io/components/tts.picotts/ [ping]: https://home-assistant.io/components/device_tracker.ping/ @@ -163,11 +169,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [usps]: https://home-assistant.io/components/sensor.usps/ [wink-fan]: https://home-assistant.io/components/fan.wink/ [xiaomi]: https://home-assistant.io/components/device_tracker.xiaomi/ +[yandex]: https://home-assistant.io/components/tts.yandextts/ [yeelight]: https://home-assistant.io/components/light.yeelight/ [zengge]: https://home-assistant.io/components/light.zengge/ -[bom]: https://home-assistant.io/components/weather.bom/ -[apns]: https://home-assistant.io/components/notify.apns/ -[mysensors]: https://home-assistant.io/components/notify.mysensors/ -[influx]: https://home-assistant.io/components/influxdb/ -[iss]: https://home-assistant.io/components/sensor.iss/ -[yandex]: https://home-assistant.io/components/tts.yandextts/ + From e8f2e625f1bb7550d9df8662de35caeff48b4752 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 15 Jan 2017 21:48:28 +0100 Subject: [PATCH 068/157] Add missing logo --- source/images/supported_brands/zengge.png | Bin 0 -> 2867 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/zengge.png diff --git a/source/images/supported_brands/zengge.png b/source/images/supported_brands/zengge.png new file mode 100644 index 0000000000000000000000000000000000000000..cdfbba2587ae03f8493b26938f198005fecf4a7f GIT binary patch literal 2867 zcmV-33(WM1P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D3dl)BK~#8N?VJm+ zRaF_sK}|(X5ku}i_ku69qQ{gZG#QK)6Ev7Sv@|O+6dy5}Iwqwy*jR&Qz&+<84uxh) zk8zUMON@of3e{AaE8ecxJZ z@BdkQueJBtd-r)W(b?HKq@$zb4)`K$uMuB^YvD-Stoj8zaTI(SVQUJuVFw&R+}IV-4Qy2lDo}psh)TUJ za3TB*#s1b@1o(3B9QZq{vmI6~sDSOAAu4s2!1r4dRe|_3;AgE^0eqKQ^ATXrwy4Ak zS6WqvVxeh7TOpVYAAv8m<%42dA-ASj2>wWZ#-_Q0jK6L#_>ATH_RK@fd75? z&O_vfd|VfUf4-b=7-;M2)wFM#&1vF>7lKXanK4s(h_%p1B#X>OLQ9D~l8!wy`(AULF)T2hI=+__-*yA)6R zldZd0WKq=h@ZE|-%tfK7&AG3+$}wOfyNQ@rdt^TNiQ;L0v~?GYOo~c!nBuf-LJT|n z8@}o)$AI(hT|O?2oI-9@JbjGn>Mb5w6jgu54N{y&Rwzgz_`a(g1Bu0Ybi2EfigF8+ z)$S5e-Ngj$Pq6M{kwsC35sGUsaEUjpN zhIJPU{Miy!z<;UYUYS4WXawoL1kDGDcbwwDNS)PPH@8ya%TD|ETUW8js;Db1RKon! z3&WwjMnan_6~vDzy{hu-RoV{VYt~gPvMTCsl20nu9nK{e00{NBV!mORYbXK5Lc?U8 zPeVZq!Jj%i`?xDK+SVU?smP?L0x`cQ>AFw-#%~9 z2doM8yVSZ!Mdm~`K~J~P2sAPgaaD|XalGB%@)KyY$GcM=nG!Wk&{DLvE^B;szYW(#ioBf69vULp0FWS>{FcEI1*7WV-lK& zn76>$2s{R(jK67=)tt^mGEEN%n*0sJt<{mmT#zC+=s;Vz=3bt&p%+xT7!`c|M`MZFJdw7u;F z73xw{w)-|V{9G$mpq7FP^dCNJP&Z(^-(%Sd)LKxXE=Ot--VTBq+R6^Iy2r(ppe!;00{U5w=Wqfd;016LJjmP?z&9Ai?O!Q}DlqlwIDr^lZfe#Rw_rNnI+<;@H@YI@f&WyC|EA(G z-Jo(Bh|xXLf5XLQiU9j`xW;u*0&IGFCGn*S4`R-R|FCKyu>Bo=$-*MQ{s7eWCj$Rg z1vbN*%vW2nWxyGKg?GQ|tzuaGSXgh*699(1pn9I)?) z?H1PvAg?=Fzf>GtYi8M}Ta^mn`=Ny??qBdu7&RII$=&8X|%v=F{?oyaE@~R}|fv^p}0n`40IK%2kMk^*K zD!9%}y$6l{$Qn@xSDQHmHZSUZW=aKdIz{OJ{x6XJ)#~chQ6UhnI8ognd!*kpQ!EJ4 zDWc+*Beri?{e@;qgz6LO-be7D>__UgX6hZN7+$B7zuC+YVE3Xv3qKA&SV~+UAq^~C z@mIqCDUVMxyIzx2{dI7t3o>Aih)ODTJSk+k!2I*1F=tndbRTG5}t$aG>g%X@(k3QE0NbTDfh)bPVq2OAC8mX z;{4&S?bWuF@2~P7b&Zw+<4EY9Ln7774v9A(@cWVaG#o}&-%M$OdP*cmxdE0=1Wr_J z?jbUP^5>virjY&xx{n)BEEiRu579YzwaTTCPxa$~?_tG|ReLW$2@v^!g85!?70Q79 zc@p;{lKPRl93BU?ZuR>c;L`p^2OtI=k}q1t|B!@#7sr7ZFKYO@O&W-+5LLi7MePXW zmyo!fAYUqKKln1#tRH#HkC?--X<4N|1w9|O_U^GT#XU}0r;kQ6Ibh!(+dNoW-~H`P zy2`>zMZLyM=^$2DJF8U*=#U(4u0#;;MXh#86)UPBpV|`0&m+;{svo#?qWY~1sNx1Q zv3^bb9W%+M+kR?4c5z<{!X{emd^44bn)q;X2;y{3avMylb6!fwgdNVTLG?x`}=Qp?>O zCap%)gP=dm)pjVVK>1X--F!OtX`(v@o(QMFC(WmsK74r11DkG?Z?Kq^a56lOqUMt` z;X~$o6_zjayr_SMn$TnSSApf&jKeP#;;6&QtrJOawmPXGZnVW;ZDqHlN&+GMiP6eK z2+ye=_{KuF#udoxl%^a{Wc|nnB5B0 zXXEtXgSZr~fWJwh;@q1hq`HAnT6b9tWp}sx=yM|Zdq~~uK4~DXiMYE-FE>*J*!9Ve z>){hnpP$p{)Av?%i5f2Bl0b}pxEWCAZVeVKwUoa~J`0NgpPupRVShUo{T~DHmC{*% RbzT4f002ovPDHLkV1oEMid+By literal 0 HcmV?d00001 From 2da104c69b5ef6bfc61d36957f088d1551c90313 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 15 Jan 2017 22:25:50 +0100 Subject: [PATCH 069/157] Add missing social image --- ...017-01-14-iss-usps-images-packages.markdown | 1 + source/images/blog/2017-01-0.36/social.png | Bin 0 -> 120834 bytes 2 files changed, 1 insertion(+) create mode 100644 source/images/blog/2017-01-0.36/social.png diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index ac8c8c90704..0274096e5b1 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -8,6 +8,7 @@ author: Fabian Affolter author_twitter: fabaff comments: true categories: Release-Notes +og_image: /images/blog/2016-01-0.36/social.png --- Welcome to 2017 and 0.36. We are proud to announce the first release for this year. While we are still migrating parts to async but 0.36 is focusing on new features and a lot of bug fixes. diff --git a/source/images/blog/2017-01-0.36/social.png b/source/images/blog/2017-01-0.36/social.png new file mode 100644 index 0000000000000000000000000000000000000000..18f824453e488a8f5ebec72ee14ae560e45b6c52 GIT binary patch literal 120834 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%0A_7uoqn3>y=!ryJ!3$JVp$cGlB2iZI$9G&7?& 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 UI<$lqN50*;-B34E=jg@%0L!3&CIA2c literal 0 HcmV?d00001 From f21755b3213f201b78e4225375de306be9e67c17 Mon Sep 17 00:00:00 2001 From: Fredrik Lindqvist Date: Sun, 15 Jan 2017 22:59:38 +0100 Subject: [PATCH 070/157] Quick fix for formatting of bbb_gpio.markdown Fix formatting of link to function as a proper link. --- source/_components/bbb_gpio.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/bbb_gpio.markdown b/source/_components/bbb_gpio.markdown index 96ee54010ee..fc5142b2527 100644 --- a/source/_components/bbb_gpio.markdown +++ b/source/_components/bbb_gpio.markdown @@ -12,5 +12,5 @@ ha_category: DIY ha_release: 0.36 --- -The `bbb_gpio` component is the base for all [BeagleBone Black][https://beagleboard.org/black] related GPIO platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding pages. +The `bbb_gpio` component is the base for all [BeagleBone Black](https://beagleboard.org/black) related GPIO platforms in Home Assistant. There is no setup needed for the component itself, for the platforms please check their corresponding pages. From 0ea4594bf2105d70a4e99cc51505b99e307eda9d Mon Sep 17 00:00:00 2001 From: Martin Hjelmare Date: Mon, 16 Jan 2017 00:04:25 +0100 Subject: [PATCH 071/157] Add docs on influxdb data migration (#1786) * Add docs for migrator script. * Update release blog and link to influxdb sections. --- source/_components/influxdb.markdown | 47 ++++++++++++++++++- ...17-01-14-iss-usps-images-packages.markdown | 15 +++--- 2 files changed, 52 insertions(+), 10 deletions(-) diff --git a/source/_components/influxdb.markdown b/source/_components/influxdb.markdown index c6154faf5f4..c1382750bff 100644 --- a/source/_components/influxdb.markdown +++ b/source/_components/influxdb.markdown @@ -14,6 +14,8 @@ ha_release: 0.9 The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. For more details, [see the blog post on InfluxDB](/blog/2015/12/07/influxdb-and-grafana/). +## {% linkable_title Configuration %} + The default InfluxDB configuration doesn't enforce authentication. If you have installed InfluxDB on the same host where Home Assistant is running and haven't made any configuration changes, add the following to your `configuration.yaml` file: ```yaml @@ -33,10 +35,12 @@ Configuration variables: - **ssl** (*Optional*): Use https instead of http to connect. Defaults to false. - **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false. - **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id. +- **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in the singel same measurement. - **blacklist** (*Optional*): List of entities not logged to InfluxDB. - **whitelist** (*Optional*): List of the entities (only) that will be logged to InfluxDB. If not set, all entities will be logged. Values set by the **blacklist** option will prevail. - **tags** (*Optional*): Tags to mark the data. +## {% linkable_title Data migration %} Starting with 0.36 the InfluxDB component has a new schema to store values in the InfluxDB databases. @@ -47,13 +51,52 @@ Starting with 0.36 the InfluxDB component has a new schema to store values in th - Fields named value will always be stored as float. - Fields named state will always be stored as string. -If you need to migrate your database, you may require to run the `influxdb_migrator` script. +### {% linkable_title Migration script %} + +If you need to migrate your database, you may require to run the `influxdb_migrator` script. Run the script after upgrade to 0.36 but before first regular start of `hass` version 0.36. + +These are the steps the script will perform: +1. Create a new database (called `DBNAME__old`) to store old data. +2. Copy data from `DBNAME` database to `DBNAME__old` database. +3. Empty `DBNAME` database (using `drop` then `create`). `DBNAME` database is now considered as the new database. +4. For each measurement of `DBNAME__old` database: + 1. Read all points from the current measuremnt (by group of `1000` points by default) and convert them. + 2. Send group of points to `DBNAME` database. +5. Delete the `DBNAME__old` database if needed. + +Example to run the script: ```bash $ hass --script influxdb_migrator \ -H IP_INFLUXDB_HOST -u INFLUXDB_USERNAME -p INFLUXDB_PASSWORD \ - -o test_series -d INFLUXDB_DB_NAME + -d INFLUXDB_DB_NAME ``` +Script arguments: + +``` +required arguments: + -d dbname, --dbname dbname InfluxDB database name + +optional arguments: + -h, --help show this help message and exit + -H host, --host host InfluxDB host address + -P port, --port port InfluxDB host port + -u username, --username username + InfluxDB username + -p password, --password password + InfluxDB password + -s step, --step step How many points to migrate at the same time + -o override_measurement, --override-measurement override_measurement + Store all your points in the same measurement + -D, --delete Delete old database +``` + +- If you run the script with only the `-h` option, you will get a help printout with a short explanation of the different options. +- The host option defaults to `'127.0.0.1'`. +- The port option defaults to `8086`. +- You should be able to omit username and password, if InfluxDB authentication is disabled, which it is by default. +- The step option defaults to `1000`. + ## {% linkable_title Examples %} diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown index 0274096e5b1..8f8573d44cc 100644 --- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown +++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown @@ -17,19 +17,19 @@ Welcome to 2017 and 0.36. We are proud to announce the first release for this ye [Packages][packages] are providing a new way to organize different component's configuration parts together. With packages we offer the option to include different components or parts of configuration using any of the `!include` directives. ## {% linkable_title InfluxDB export %} -The [InfluxDB][influx] component was causing problems in a wide variety of use cases. [@titilambert] improved our InfluxDB exporter feature. It might be that you need to run the migration script to update your InfluxDB database. +The [InfluxDB][influx] component was causing problems in a wide variety of use cases. [@titilambert] improved our InfluxDB exporter feature. It might be that you need to run the [migration script](/components/influxdb/#migration-script) to update your InfluxDB database. ```bash $ hass --script influxdb_migrator \ -H IP_INFLUXDB_HOST -u INFLUXDB_USERNAME -p INFLUXDB_PASSWORD \ - -o test_series -d INFLUXDB_DB_NAME + -d INFLUXDB_DB_NAME ``` ## {% linkable_title International Space Station (ISS) %} -No, unfortunately we are not going to space. The `iss` sensor is tracking the position of the International Space Station and gives you some details. +No, unfortunately we are not going to space. The `iss` sensor is tracking the position of the International Space Station and gives you some details. ## {% linkable_title Insteon local %} -The support for Insteon was removed due to issues a while ago. With the `insteon_local` component support for [Insteon][insteon] is back and let one work locally with an Insteon setup. +The support for Insteon was removed due to issues a while ago. With the `insteon_local` component support for [Insteon][insteon] is back and let one work locally with an Insteon setup. ## {% linkable_title Image processing %} The new [image processing component][image] currently works with [number plates][plates]. But this could level the way to integrate feature like facial recognition, motion detection, or gestures control. @@ -71,10 +71,10 @@ The new [image processing component][image] currently works with [number plates] - Media player: Support for `SUPPORT_PLAY` flag ([@armills]) - Docker: `ffmpeg` is now included by default ([@colinodell]) - Minor and not so minor features and bug fixes by [@balloob], [@pvizeli], [@fabaff], [@mezz64], [@andrey-git], [@aequitas], [@abmantis], [@turbokongen], [@jabesq], [@michaelarnauts], [@kellerza], [@titilambert], [@btorresgil], [@henworth], [@armills], [@mjg59], [@Giannie], [@n8henrie], [@magicus], [@florianholzapfel], [@MrMep], [@bah2830], [@happyleavesaoc], [@lwis], [@glance-], [@markferry], and [@nikdoof]. - + ## {% linkable_title Breaking changes %} - [APNS][apns] service was moved to the `notify` domain. Use `notify.apns_NOTIFIER_NAME` instead of `apns.NOTIFIER_NAME`. -- [InfluxDB][influx] component has a new schema to store values in the InfluxDB database. You may require to run the `influxdb_migrator` script. +- [InfluxDB][influx] component has a new [schema](/components/influxdb/#data-migration) to store values in the InfluxDB database. You may require to run the [`influxdb_migrator`](/components/influxdb/#migration-script) script. You have to note: - There will not be any tags/fields named time anymore. - All numeric fields (int/float/bool) will be stored as float inside influx db. @@ -142,7 +142,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [@w1ll1am23]: https://github.com/w1ll1am23 [@wardcraigj]: https://github.com/wardcraigj [@webworxshop]: https://github.com/webworxshop -[@Zac-HD]: https://github.com/Zac-HD +[@Zac-HD]: https://github.com/Zac-HD [apns]: https://home-assistant.io/components/notify.apns/ [beaglebone]: https://home-assistant.io/components/bbb_gpio/ @@ -173,4 +173,3 @@ Experiencing issues introduced by this release? Please report them in our [issue [yandex]: https://home-assistant.io/components/tts.yandextts/ [yeelight]: https://home-assistant.io/components/light.yeelight/ [zengge]: https://home-assistant.io/components/light.zengge/ - From dafa8c80be47de40757a5b97e20ac6ee190c6ce5 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 15 Jan 2017 15:27:02 -0800 Subject: [PATCH 072/157] Add initial code review check lists --- .../asides/developers_navigation.html | 2 + .../developers/code_review_component.markdown | 40 +++++++++++ .../developers/code_review_platform.markdown | 67 +++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 source/developers/code_review_component.markdown create mode 100644 source/developers/code_review_platform.markdown diff --git a/source/_includes/asides/developers_navigation.html b/source/_includes/asides/developers_navigation.html index 9ec9e38ca0e..5fdc0d9adfc 100644 --- a/source/_includes/asides/developers_navigation.html +++ b/source/_includes/asides/developers_navigation.html @@ -25,6 +25,7 @@
  • {% active_link /developers/add_new_platform/ Support a new device (as a platform) %}
      +
    • {% active_link /developers/code_review_platform/ Checklist creating a platform %}
    • {% active_link /developers/platform_example_sensor/ Example sensor platform %}
    • {% active_link /developers/platform_example_light/ Example light platform %}
    @@ -32,6 +33,7 @@
  • {% active_link /developers/creating_components/ Adding a new component %}