From 3c769726a7af2117108425ccaae0e21f0988cee4 Mon Sep 17 00:00:00 2001 From: Colin O'Dell Date: Sat, 30 Jun 2018 05:16:37 -0400 Subject: [PATCH 01/34] Document the new http.trusted_proxies setting (#5624) Documents the setting added in https://github.com/home-assistant/home-assistant/pull/15204 --- source/_components/http.markdown | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/_components/http.markdown b/source/_components/http.markdown index 91b600b2c31..0616476bf07 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -37,8 +37,9 @@ Configuration variables: - **ssl_peer_certificate** (*Optional*): Path to the client/peer TLS/SSL certificate to accept secure connections from. - **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection. - **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://www.home-assistant.io` will allow requests from `https://www.home-assistant.io` but __not__ `http://www.home-assistant.io`. -- **use_x_forwarded_for** (*Optional*): Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You must also whitelist trusted proxies using the `trusted_networks` setting below for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored. Defaults to False. -- **trusted_networks** (*Optional*): List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. If using a reverse proxy with the `use_x_forwarded_for` option enabled, this should include the IP address/range of your proxy. This is required because all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be set with extreme care. +- **use_x_forwarded_for** (*Optional*): Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You must also whitelist trusted proxies using the `trusted_proxies` setting below for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored. Defaults to False. +- **trusted_proxies** (*Optional*): List of trusted proxies, consisting of IP addresses or networks, that are allowed to set the `X-Forwarded-For` header. This is required when using `use_x_forwarded_for` because all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be set with extreme care. +- **trusted_networks** (*Optional*): List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. If using a reverse proxy with the `use_x_forwarded_for` option enabled, requests proxied to Home Assistant with a trusted `X-Forwarded-For` header will appear to come from the IP given in that header instead of the proxy IP. - **ip_ban_enabled** (*Optional*): Flag indicating whether additional IP filtering is enabled. Defaults to False. - **login_attempts_threshold** (*Optional*): Number of failed login attempt from single IP after which it will be automatically banned if `ip_ban_enabled` is True. Defaults to -1, meaning that no new automatic bans will be added. @@ -54,7 +55,10 @@ http: cors_allowed_origins: - https://google.com - https://www.home-assistant.io - use_x_forwarded_for: False + use_x_forwarded_for: True + trusted_proxies: + - 127.0.0.1 + - ::1 trusted_networks: - 127.0.0.1 - ::1 From 74d6bbec71e01869b3de07d13e690636ef0b4e84 Mon Sep 17 00:00:00 2001 From: Carl Chan Date: Sat, 30 Jun 2018 09:42:29 -0400 Subject: [PATCH 02/34] new NUT sensor 'output' variables (#5623) * Added output variables to example Added example command line for 'upsc' to get list of NUT variables * Remove superfluous spaces --- source/_components/sensor.nut.markdown | 73 ++++++++++++++------------ 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/source/_components/sensor.nut.markdown b/source/_components/sensor.nut.markdown index cae118607b4..278d1a7673e 100644 --- a/source/_components/sensor.nut.markdown +++ b/source/_components/sensor.nut.markdown @@ -65,46 +65,51 @@ sensor: type: list {% endconfiguration %} -### {% linkable_title Example %} +### {% linkable_title Example %} Given the following example output from NUT (your variables may differ): ```yaml -'ups.timer.reboot': '0' -'battery.voltage': '27.0' -'ups.firmware.aux': 'L3 -P ' -'ups.mfr': 'American Power Conversion' -'battery.runtime.low': '120' -'ups.delay.shutdown': '20' -'ups.load': '19' -'ups.realpower.nominal': '600' -'battery.charge.warning': '50' -'battery.charge.low': '10' -'ups.vendorid': '051d' -'ups.timer.shutdown': '-1' -'ups.test.result': 'No test initiated' -'ups.firmware': '868.L3 -P.D' -'battery.mfr.date': '2015/05/08' -'ups.serial': '3B1519X19994 ' -'ups.productid': '0002' -'battery.runtime': '2552' -'battery.date': '2001/09/25' -'battery.voltage.nominal': '24.0' -'battery.type': 'PbAc' -'ups.mfr.date': '2015/05/08' -'ups.status': 'OL' -'ups.model': 'Back-UPS RS1000G' -'ups.beeper.status': 'disabled' -'battery.charge': '100' -'input.sensitivity': 'medium' -'input.transfer.low': '88' -'input.transfer.high': '147' -'input.voltage': '121.0' -'input.voltage.nominal': '120' -'input.transfer.reason': 'input voltage out of range' +$ upsc ups_name@192.168.11.5 +ups.timer.reboot: 0 +battery.voltage: 27.0 +ups.firmware.aux: L3 -P +ups.mfr: American Power Conversion +battery.runtime.low: 120 +ups.delay.shutdown: 20 +ups.load: 19 +ups.realpower.nominal: 600 +battery.charge.warning: 50 +battery.charge.low: 10 +ups.vendorid: 051d +ups.timer.shutdown: -1 +ups.test.result: No test initiated +ups.firmware: 868.L3 -P.D +battery.mfr.date: 2015/05/08 +ups.serial: 3B1519X19994 +ups.productid: 0002 +battery.runtime: 2552 +battery.date: 2001/09/25 +battery.voltage.nominal: 24.0 +battery.type: PbAc +ups.mfr.date: 2015/05/08 +ups.status: OL +ups.model: Back-UPS RS1000G +ups.beeper.status: disabled +battery.charge: 100 +input.sensitivity: medium +input.transfer.low: 88 +input.transfer.high: 147 +input.voltage: 121.0 +input.voltage.nominal: 120 +input.transfer.reason: input voltage out of range +output.current: 1.10 +output.frequency: 60.20 +output.voltage: 121.50 +output.voltage.nominal: 120 ``` -Use the values from the left hand column. Support is included for most values with 'ups', 'battery', and 'input' prefixes. +Use the values from the left hand column. Support is included for most values with 'ups', 'battery', 'input' and 'output' prefixes. ```yaml sensor: From a340cb8cbc5012c6c4146dec060370d04a5f81a3 Mon Sep 17 00:00:00 2001 From: Olaf van Zandwijk Date: Sat, 30 Jun 2018 16:36:16 +0200 Subject: [PATCH 03/34] Update Hikvision camera list (#5635) --- source/_components/binary_sensor.hikvision.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.hikvision.markdown b/source/_components/binary_sensor.hikvision.markdown index 7e931302716..97c63757163 100644 --- a/source/_components/binary_sensor.hikvision.markdown +++ b/source/_components/binary_sensor.hikvision.markdown @@ -18,7 +18,7 @@ The Hikvision Binary Sensor is a platform that parses the event stream of a [Hik The platform will automatically add all sensors to Home Assistant that are configured within the camera/nvr interface to "Notify the surveillance center" as a trigger. If you would like to hide a sensor type you can do so by either unchecking "Notify the surveillance center" in the camera configuration or by using the "ignored" customize option detailed below.

-In order for the sensors to work the hikvision user must have the 'Remote: Notify Surveillance Center/Trigger Alarm Output' permission which can be enabled from the user management section of the web interface. Also the 'WEB Authentication' needs to be set to 'digest/basic' in the security/authentication section. +In order for the sensors to work the hikvision user must have the 'Remote: Notify Surveillance Center/Trigger Alarm Output' permission which can be enabled from the user management section of the web interface. Also the 'WEB Authentication' needs to be set to 'digest/basic' in the security/authentication section.

For example, if you configure a camera with the name "Front Porch" that has motion detection and line crossing events enabled to notify the surveillance center the following binary sensors will be added to Home Assistant: @@ -44,6 +44,7 @@ This platform should work with all Hikvision cameras and nvrs, and has been conf - DS-2CD2032-I - DS-2CD2042WD-I - DS-2CD2142FWD-I +- DS-2CD2155FWD-IS To enable this sensor, the following lines are required in your `configuration.yaml` file: From 8c2e7579bd99d87de6a2300a9f83dbc4276792a4 Mon Sep 17 00:00:00 2001 From: William Scanlon Date: Mon, 2 Jul 2018 13:56:16 -0400 Subject: [PATCH 04/34] Doc to Duke Energy sensor (#5644) * Doc to Duke Energy sensor * Minor changes * Remove name * :pencil2: Tiny language tweaks --- .../_components/sensor.duke_energy.markdown | 48 ++++++++++++++++++ .../images/supported_brands/duke_energy.png | Bin 0 -> 44416 bytes 2 files changed, 48 insertions(+) create mode 100644 source/_components/sensor.duke_energy.markdown create mode 100644 source/images/supported_brands/duke_energy.png diff --git a/source/_components/sensor.duke_energy.markdown b/source/_components/sensor.duke_energy.markdown new file mode 100644 index 00000000000..35a14abd964 --- /dev/null +++ b/source/_components/sensor.duke_energy.markdown @@ -0,0 +1,48 @@ +--- +layout: page +title: "Duke Energy" +description: "Instructions on how to set Duke Energy smart meter sensors within Home Assistant." +date: 2018-07-01 09:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: duke_energy.png +ha_category: Sensor +ha_release: "0.73" +ha_iot_class: "Cloud Polling" +--- + +The `duke_energy` sensor platform allows you get the previous days usage for all of your Duke Energy smart meters. + +You will only have access to meters listed in your account at [Duke Energy Usage](https://www.duke-energy.com/my-account/usage-analysis). + +This supports both electric and gas meters. Along with previous days usage, each sensor will have attributes for the previous bills total usage and average usage. + +## {% linkable_title Configuration %} + +To enable the sensor, add the following lines to your `configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: duke_energy + username: YOUR_DUKE_USERNAME + password: YOUR_DUKE_PASSWORD +``` + +{% configuration %} +username: + description: Your Duke Energy username + required: true + type: string +password: + description: Your Duke Energy password + required: true + type: string +{% endconfiguration %} + + +

+Meter usage isn't updated until mid-morning. Prior to updating your meter will report 0 for usage starting at midnight. The API is only called to update every 2 hours from startup time. +

diff --git a/source/images/supported_brands/duke_energy.png b/source/images/supported_brands/duke_energy.png new file mode 100644 index 0000000000000000000000000000000000000000..615e60dddd0de0d1c1c06fb859e15afc36648d9d GIT binary patch literal 44416 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 J%@bJU{{Y&J$T Date: Mon, 2 Jul 2018 15:11:20 -0500 Subject: [PATCH 05/34] Update for rewritten Rachio component (#5589) * Update for rewritten Rachio component * :pencil2: Minor tweaks * :arrow_up: ha_release 0.73 * :arrow_up: ha_release 0.73 --- .../_components/binary_sensor.rachio.markdown | 31 +++++++++++++ source/_components/rachio.markdown | 43 +++++++++++++++++++ source/_components/switch.rachio.markdown | 42 ++++++------------ 3 files changed, 88 insertions(+), 28 deletions(-) create mode 100644 source/_components/binary_sensor.rachio.markdown create mode 100644 source/_components/rachio.markdown diff --git a/source/_components/binary_sensor.rachio.markdown b/source/_components/binary_sensor.rachio.markdown new file mode 100644 index 00000000000..568e9e0c558 --- /dev/null +++ b/source/_components/binary_sensor.rachio.markdown @@ -0,0 +1,31 @@ +--- +layout: page +title: "Rachio Binary Sensor" +description: "Instructions on how to use Rachio binary sensors with Home Assistant." +date: 2018-06-23 16:15 +sidebar: true +comments: false +sharing: true +footer: true +logo: rachio.png +ha_category: Hub +ha_iot_class: "Cloud Push" +ha_release: 0.73 +--- + +The `rachio` binary sensor platform allows you to view the status of your [Rachio irrigation system](http://rachio.com/). + +Once configured, a binary sensor will be added that shows whether or not each controller in the account provided is online and reachable by Rachio's servers. + +

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

+ + +To add this platform to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: rachio +``` diff --git a/source/_components/rachio.markdown b/source/_components/rachio.markdown new file mode 100644 index 00000000000..f50050f514c --- /dev/null +++ b/source/_components/rachio.markdown @@ -0,0 +1,43 @@ +--- +layout: page +title: "Rachio" +description: "Instructions on how to use Rachio with Home Assistant." +date: 2018-06-23 16:04 +sidebar: true +comments: false +sharing: true +footer: true +logo: rachio.png +ha_category: Hub +ha_iot_class: "Cloud Push" +ha_release: 0.73 +--- + +The `rachio` platform allows you to control your [Rachio irrigation system](http://rachio.com/). + +## {% linkable_title Getting your Rachio API Key %} + +1. Log in at [https://app.rach.io/](https://app.rach.io/). +1. Click the "Account Settings" menu item at the bottom of the left sidebar +1. Click "Get API Key" +1. Copy the API key from the dialog that opens. + +To add this platform to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +rachio: + api_key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx +``` + +### {% linkable_title iFrame %} + +If you would like to see and control more detailed zone information, create an [iFrame](/components/panel_iframe/) that renders the Rachio web app. + +```yaml +panel_iframe: + rachio: + title: Rachio + url: "https://app.rach.io" + icon: mdi:water-pump +``` diff --git a/source/_components/switch.rachio.markdown b/source/_components/switch.rachio.markdown index 9208a2d4754..786c3574132 100644 --- a/source/_components/switch.rachio.markdown +++ b/source/_components/switch.rachio.markdown @@ -2,25 +2,24 @@ layout: page title: "Rachio Switch" description: "Instructions on how to use Rachio switches with Home Assistant." -date: 2017-05-29 09:00 +date: 2018-06-23 16:09 sidebar: true comments: false sharing: true footer: true logo: rachio.png ha_category: Switch -ha_iot_class: "Cloud Polling" +ha_iot_class: "Cloud Push" ha_release: 0.46 --- -The `rachio` switch platform allows you to control your [Rachio irrigation system](http://rachio.com/). +The `rachio` switch platform allows you to toggle zones connected to your [Rachio irrigation system](http://rachio.com/) on and off. -## {% linkable_title Getting your Rachio API Access Token %} +Once configured, a switch will be added for every zone that is enabled on every controller in the account provided, as well as a switch to toggle each controller's standby mode. -1. Log in at [https://app.rach.io/](https://app.rach.io/). -1. Click the user button at the top right. -1. Click API Access Token. -1. Copy the API access token from the dialog that opens. +

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

To add this platform to your installation, add the following to your `configuration.yaml` file: @@ -28,17 +27,20 @@ To add this platform to your installation, add the following to your `configurat # Example configuration.yaml entry switch: - platform: rachio - access_token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ``` Configuration variables: -- **access_token** (*Required*): Your Rachio API Access Token. - **manual_run_mins** (*Optional*): For how long, in minutes, to turn on a station when the switch is enabled. Defaults to 10 minutes. +

+**Water-saving suggestion:**
+Set `manual_run_mins` to a high maximum failsafe value when using scripts to control zones. If something goes wrong with your script, Home Assistant, or you hit the Rachio API rate limit of 1700 calls per day, the controller will still turn off the zone after this amount of time. +

+ ## {% linkable_title Examples %} -In this section you find some real life examples of how to use this switch. +In this section, you find some real-life examples of how to use this switch. ### {% linkable_title `groups.yaml` example %} @@ -51,35 +53,19 @@ irrigation: entities: - group.zones_front - group.zones_back + - switch.side_yard zones_front: name: Front Yard view: false entities: - - switch.driveway - switch.front_bushes - - switch.front_garden - switch.front_yard - - switch.side_yard zones_back: name: Back Yard view: false entities: - - switch.back_bushes - switch.back_garden - switch.back_porch - - switch.back_trees -``` - -### {% linkable_title iFrame %} - -If you would like to see and control more detailed zone information, create an [iFrame](/components/panel_iframe/) that renders the Rachio web app. - -```yaml -panel_iframe: - rachio: - title: Rachio - url: "https://app.rach.io" - icon: mdi:water-pump ``` From 24023064330310b545bdc556538098df573296cc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 3 Jul 2018 12:31:47 +0200 Subject: [PATCH 06/34] Update for new API (#5654) Update for new fixer.io API --- source/_components/sensor.fixer.markdown | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/source/_components/sensor.fixer.markdown b/source/_components/sensor.fixer.markdown index 397d3b5b719..f02af8ef6b5 100644 --- a/source/_components/sensor.fixer.markdown +++ b/source/_components/sensor.fixer.markdown @@ -18,16 +18,27 @@ The `fixer` sensor will show you the current exchange rate from [Fixer.io](http: To get an overview about the available [currencies](http://api.fixer.io/latest). +## {% linkable_title Setup %} + +You need to create an [API key](https://fixer.io/product). There is a rate limit of 1000 calls per month. + +## {% linkable_title Configuration %} + To enable this sensor, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: fixer + api_key: YOUR_API_KEY target: CHF ``` {% configuration %} +api_key: + description: Your API key for [Fixer.io](http://fixer.io/). + required: true + type: string target: description: The symbol of the target currency. required: true @@ -37,9 +48,6 @@ name: required: false type: string default: Exchange rate -base: - description: The symbol of the base currency. - required: false - type: string - default: USD {% endconfiguration %} + +Details about the API are available in the [Fixer.io documentation](https://fixer.io/documentation). From ce1a6523ca31f688757be584cf3874d56b268bb4 Mon Sep 17 00:00:00 2001 From: Marcelo Moreira de Mello Date: Wed, 4 Jul 2018 06:04:20 -0400 Subject: [PATCH 07/34] Added documentation to support HTTPS URLs for SynologyDSM (#5650) * Added documentation to support HTTPS URLs for SynologyDSM * Makes SynologyDSM defaults to 5001 using SSL --- source/_components/sensor.synologydsm.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.synologydsm.markdown b/source/_components/sensor.synologydsm.markdown index 0b4b4ba197d..886a357bdaa 100644 --- a/source/_components/sensor.synologydsm.markdown +++ b/source/_components/sensor.synologydsm.markdown @@ -36,9 +36,10 @@ sensor: Configuration variables: - **host** (*Required*): The IP address of the Synology NAS to monitor. -- **port** (*Optional*): The port number on which the Synology NAS is reachable. Defaults to `5000`. +- **port** (*Optional*): The port number on which the Synology NAS is reachable. Defaults to `5001`. - **username** (*Required*): An user to connect to the Synology NAS (a separate account is advised, see the Separate User Configuration section below for details). - **password** (*Required*): The password of the user to connect to the Synology NAS. +- **ssl** (*Optional*): Determine if HTTPS should be used. Defaults to `True` which by default runs on port `5001`. - **volumes** (*Optional*): Array of volumes to monitor. Defaults to all volumes. - **disks** (*Optional*): Array of disks to monitor. Defaults to all disks. - **monitored_conditions** (*Required*): Defines a [template](/topics/templating/) to extract a value from the payload. From 13e74c272eeed656ece9a1b648a0187da6540524 Mon Sep 17 00:00:00 2001 From: Diogo Gomes Date: Wed, 4 Jul 2018 11:24:08 +0100 Subject: [PATCH 08/34] Add Camera Push (#5606) * Add camera.push * :pencil2: Language tweaks * add force_update * Revert "add force_update" This reverts commit 884e0ab8c383f69d3e295a4ae73dd231a9091df7. * cache -> buffer * :arrow_up: ha_release 0.74 --- source/_components/camera.push.markdown | 77 +++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 source/_components/camera.push.markdown diff --git a/source/_components/camera.push.markdown b/source/_components/camera.push.markdown new file mode 100644 index 00000000000..c70dee014c0 --- /dev/null +++ b/source/_components/camera.push.markdown @@ -0,0 +1,77 @@ +--- +layout: page +title: "Push" +description: "Instructions how to use Push Camera within Home Assistant." +date: 2018-06-26 23:50 +sidebar: true +comments: false +sharing: true +footer: true +logo: camcorder.png +ha_category: Camera +ha_iot_class: "Local Push" +ha_release: 0.74 +--- + +The `push` camera platform allows you to integrate images sent over HTTP POST to Home Assistant as a camera. External applications/daemons/scripts are therefore able to "stream" images through Home Assistant. + +Optionally the Push Camera can **buffer** a given number of images, creating an animation of the detected motion after the event has been recorded. + +Images are cleared on new events, and events are separated by a soft (configurable) **timeout**. + +## Integration with motionEye + +The `push` camera can as an example be used with [motionEye](https://github.com/ccrisan/motioneye/wiki) a web frontend for the motion daemon. motionEye is usually configured to save/record files ***only*** when motion is detected. It provides a hook to run a command whenever an image is saved, which can be used together with cURL to send the motion detected images to the `push` camera, as shown in this example: + +In motionEye, under **File Storage -> Run A Command** type in: +```bash +curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/camera_push/camera.push_camera +``` + +Please take note that you might need to add `-H "x-ha-access: YOUR_PASSWORD"` if you have API authentication enabled. + +Optionally configure motionEye to save only motion triggered images by going into **Still Images -> Capture Mode** and setting **Motion Triggered**. Tune your preferences under **Motion Detection**. + +In this setup, you can configure the push camera to continuously replay the last motion triggered event using a configuration such as: + +```yaml +camera: + - platform: push + name: MotionEye Outdoor + buffer: 3 + timeout: 5 +``` + +## {% linkable_title Configuration %} + +To enable this camera in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +camera: + - platform: push + name: My Push Camera +``` + +{% configuration %} +name: + description: The name you would like to give to the camera. + required: false + default: Push Camera + type: string +buffer: + description: Number of images to buffer per event. Be conservative, large buffers will starve your system memory. + required: false + default: 1 + type: string +timeout: + description: Amount of time after which the event is considered to have finished. + required: false + default: 5 seconds + type: time +field: + description: HTTP POST field containing the image file + required: false + default: image + type: string +{% endconfiguration %} From 92a6133f863990b44b86f3d2fcede1f5cd5db43c Mon Sep 17 00:00:00 2001 From: c727 Date: Sun, 8 Jul 2018 13:22:37 +0200 Subject: [PATCH 09/34] Add background settings for Lovelace (#5682) * Add background settings for Lovelace * Typo --- source/lovelace/index.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/lovelace/index.markdown b/source/lovelace/index.markdown index f2b626a3dc3..b744540e5ad 100644 --- a/source/lovelace/index.markdown +++ b/source/lovelace/index.markdown @@ -41,11 +41,15 @@ Create a new file `/ui-lovelace.yaml` and add the following content: ```yaml title: My Awesome Home +# Optional background for all views. Check https://developer.mozilla.org/en-US/docs/Web/CSS/background for more examples. +background: center / cover no-repeat url("/background.png") fixed views: # View tab title. - title: Example # Optional unique id for direct access /lovelace/${id} id: example + # Optional background (overwrites the global background). + background: radial-gradient(crimson, skyblue) # Each view can have a different theme applied. Theme should be defined in the frontend. theme: dark-mode # The cards to show on this view. From 9f8679bcd125a8a460d96897f243020873e0f324 Mon Sep 17 00:00:00 2001 From: Paul Klingelhuber Date: Mon, 9 Jul 2018 11:05:37 +0200 Subject: [PATCH 10/34] Add enocean multi channel switch documentation #14548 (#5660) * Add enocean multi channel switch documentation #14548 * :rocket: Trigger rebuild * :pencil2: Tweaks * :pencil2: Tweaks --- source/_components/switch.enocean.markdown | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/source/_components/switch.enocean.markdown b/source/_components/switch.enocean.markdown index e701d3e6f41..2676b51dbae 100644 --- a/source/_components/switch.enocean.markdown +++ b/source/_components/switch.enocean.markdown @@ -13,8 +13,7 @@ ha_release: 0.21 ha_iot_class: "Local Push" --- -An EnOcean switch can take many forms. Currently only one type has been tested: Permundo PSC234 - +An EnOcean switch can take many forms. Currently, only a few types have been tested: Permundo PSC234 and Nod On SIN-2-1-01. To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file: @@ -29,3 +28,19 @@ Configuration variables: - **id** (*Required*): The ID of the device. This is a 4 bytes long number. - **name** (*Optional*): An identifier for the switch. Default to `EnOcean Switch`. +- **channel** (*Optional*): The number of the channel (typically 0 or 1) for the output channel to switch. Default to `0`. + +```yaml +# Example entries for a switch with 2 outputs (channels), e.g., the Nod On SIN-2-1-01 +switch nodon01_0: + - platform: enocean + id: [0x05,0x04,0x03,0x02] + name: enocean_nodon01_0 + channel: 0 + +switch nodon01_1: + - platform: enocean + id: [0x05,0x04,0x03,0x02] + name: enocean_nodon01_1 + channel: 1 +``` From 3a2b72ab161f5671999f15c377e42369481697c2 Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Mon, 9 Jul 2018 12:44:13 +0200 Subject: [PATCH 11/34] Sound mode support (#5521) * Sound mode support * :pencil2: Tweaks * reflect latest commits in denonavr component * :pencil2: Tweaks --- .../_components/media_player.denonavr.markdown | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source/_components/media_player.denonavr.markdown b/source/_components/media_player.denonavr.markdown index 5e9a122cc5d..6c4d2d81957 100644 --- a/source/_components/media_player.denonavr.markdown +++ b/source/_components/media_player.denonavr.markdown @@ -13,7 +13,6 @@ ha_iot_class: "Local Polling" ha_release: 0.7.2 --- - The `denonavr` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform. Supported devices: @@ -56,18 +55,19 @@ media_player: Configuration variables: -- **host** (*Optional*): IP address of the device. Example: 192.168.1.32. If not set, auto discovery is used. -- **name** (*Optional*): Name of the device. If not set, friendlyName of receiver is used. -- **show_all_sources** (*Optional*): If True all sources are displayed in sources list even if they are marked as deleted in the receiver. If False deleted sources are not displayed (default). Some receivers have a bug that marks all sources as deleted in the interface. In this case this option could help. +- **host** (*Optional*): IP address of the device. Example: 192.168.1.32. If not set, auto-discovery is used. +- **name** (*Optional*): Name of the device. If not set, friendlyName of the receiver is used. +- **show_all_sources** (*Optional*): If True all sources are displayed in sources list even if they are marked as deleted in the receiver. If False deleted sources are not displayed (default). Some receivers have a bug that marks all sources as deleted in the interface. In this case, this option could help. - **timeout** (*Optional*): Timeout for HTTP requests to the receiver. Defaults to 2 seconds if not provided. - **zones** (*Optional*): List of additional zones to be activated. They are displayed as additional media players with the same functionality Main Zone of the device supports - **zone**: Zone which should be activated. Valid options are Zone2 and Zone3 - - **name** (*Optional*): Name of the zone. If not set the name of the main device + zone as suffix is taken. + - **name** (*Optional*): Name of the zone. If not set the name of the main device + zone as a suffix is taken. A few notes: -- Additional option the control Denon AVR receivers with a builtin web server is using the HTTP interface with denonavr platform. -- denonavr platform supports some additional functionalities like album covers, custom input source names and auto discovery. -- Marantz receivers seem to a have quite similar interface. Thus if you own one, give it a try. +- An additional option for the control of Denon AVR receivers with a built-in web server is using the HTTP interface with `denonavr` platform. +- The `denonavr` platform supports some additional functionalities like album covers, custom input source names and auto discovery. +- Marantz receivers seem to a have quite a similar interface. Thus if you own one, give it a try. +- Sound mode: The command to set a specific sound mode is different from the value of the current sound mode reported by the receiver (sound_mode_raw). There is a key-value structure (sound_mode_dict) that matches the raw sound mode to one of the possible commands to set a sound mode (for instance {'MUSIC':['PLII MUSIC']}. If you get a "Not able to match sound mode" warning, please open an issue on the [denonavr library](https://github.com/scarface-4711/denonavr), stating which raw sound mode could not be matched so it can be added to the matching dictionary. You can find the current raw sound mode under "Development Tools/States" in the front panel. [Denon]: /components/media_player.denon/ From 8ac7b4c32960b9b688194a69ae4085f71d53f0ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 9 Jul 2018 23:39:38 +0200 Subject: [PATCH 12/34] Documentation for Cloudflare (#5723) * Initial documentation for Cloudflare * Corrected typo * :pencil2: Tweaks * :pencil2: Tweaks * Changed records to be required * correction about records * Minor changes * changed ha_release --- source/_components/cloudflare.markdown | 58 ++++++++++++++++++ source/images/supported_brands/cloudflare.png | Bin 0 -> 9345 bytes 2 files changed, 58 insertions(+) create mode 100644 source/_components/cloudflare.markdown create mode 100644 source/images/supported_brands/cloudflare.png diff --git a/source/_components/cloudflare.markdown b/source/_components/cloudflare.markdown new file mode 100644 index 00000000000..c088bc1e8f0 --- /dev/null +++ b/source/_components/cloudflare.markdown @@ -0,0 +1,58 @@ +--- +layout: page +title: "Cloudflare" +description: "Automatically update your Cloudflare DNS records." +date: 2018-07-10 20:08 +sidebar: true +comments: false +sharing: true +footer: true +logo: cloudflare.png +ha_category: Utility +featured: false +ha_release: 0.74 +--- + +With the `cloudflare` component can you keep your Cloudflare records up to date. + +The component will run every hour, but can also be started manually by using the service `cloudflare.update_records` under services. + +## {% linkable_title Setup %} + +You will find your global API key in your Cloudflare account settings. + +## {% linkable_title Configuration %} + +To use the component in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +cloudflare: + email: user@example.com + api_key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41 + zone: example.com + records: + - bin + - www +``` + +{% configuration cloudflare %} +email: + description: The email address for your Cloudflare account. + required: true + type: string +api_key: + description: The global API key for your Cloudflare account. + required: true + type: string +zone: + description: The DNS zone you want to update. + required: true + type: string +records: + description: A list of records you want to update. + required: true + type: list +{% endconfiguration %} + +This platform uses the API from [ipify.org](https://www.ipify.org/) to set the public IP address. diff --git a/source/images/supported_brands/cloudflare.png b/source/images/supported_brands/cloudflare.png new file mode 100644 index 0000000000000000000000000000000000000000..52f2820974908b9ceacdd1ddf91b59f653bfbae5 GIT binary patch literal 9345 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 HScLvR(Pg|8 literal 0 HcmV?d00001 From 081cf2dcbf5db36a262b80799072a018bc965d2b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 10 Jul 2018 08:15:35 +0200 Subject: [PATCH 13/34] Fix categories (fixes #5689) (#5736) * Fix categories (fixes #5689) * Reset to default sort * Remove colon --- source/_includes/asides/categories.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_includes/asides/categories.html b/source/_includes/asides/categories.html index dbf5fd7ae74..8d600335bfb 100644 --- a/source/_includes/asides/categories.html +++ b/source/_includes/asides/categories.html @@ -1,7 +1,7 @@

Categories

    - {% assign categories = site.categories | sort_natural %} + {% assign categories = site.categories | sort %} {% for category in categories %}
  • {{ category | first | replace: '-', ' '}}
  • {% endfor %} From 97b30a9a2bdd7a97dca4c3bdb94e0f1b3e7b553b Mon Sep 17 00:00:00 2001 From: nielstron Date: Fri, 13 Jul 2018 14:03:30 +0200 Subject: [PATCH 14/34] Add description for band-pass filter (#4985) * Add description for band-pass filter * Renamed to range filter --- source/_components/sensor.filter.markdown | 28 ++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.filter.markdown b/source/_components/sensor.filter.markdown index 30661e8d1fc..5e2834eebca 100644 --- a/source/_components/sensor.filter.markdown +++ b/source/_components/sensor.filter.markdown @@ -68,7 +68,7 @@ filters: type: list keys: filter: - description: Algorithm to be used to filter data. Available filters are `lowpass`, `outlier`, `throttle` and `time_simple_moving_average`. + description: Algorithm to be used to filter data. Available filters are `lowpass`, `outlier`, `range`, `throttle` and `time_simple_moving_average`. required: true type: string window_size: @@ -96,6 +96,16 @@ filters: required: false type: string default: last + lower_bound: + description: See [_range_](#range) filter. Lower bound for filter range. + required: false + type: float + default: negative infinity + upper_bound: + description: See [_range_](#range) filter. Upper bound for filter range. + required: false + type: float + default: positive infinity {% endconfiguration %} ## {% linkable_title Filters %} @@ -144,3 +154,19 @@ The Time SMA filter (`time_simple_moving_average`) is based on the paper [Algori The paper defines three types/versions of the Simple Moving Average (SMA): *last*, *next* and *linear*. Currently only *last* is implemented. Theta, as described in the paper, is the `window_size` parameter, and can be expressed using time notation (e.g., 00:05 for a five minutes time window). + +### {% linkable_title Range %} + + +The Range filter (`range`) restricts incoming data to a range specified by a lower and upper bound. + +All values greater then the upper bound are replaced by the upper bound and all values lower than the lower bound are replaced by the lower bound. +Per default there are neither upper nor lower bound. + +```python +if new_state > upper_bound: + upper_bound +if new_state < lower_bound: + lower_bound +new_state +``` From 7e5da3ab3fae8d96751742b0eaaa80abf79d82b2 Mon Sep 17 00:00:00 2001 From: Robin Date: Fri, 13 Jul 2018 13:07:07 +0100 Subject: [PATCH 15/34] Adds facebox teach service (#5553) * Update image_processing.facebox.markdown * Remove ref to particular image file types * :pencil2: Minor tweaks --- .../image_processing.facebox.markdown | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/source/_components/image_processing.facebox.markdown b/source/_components/image_processing.facebox.markdown index 480606b6ea1..ebb9892aad8 100644 --- a/source/_components/image_processing.facebox.markdown +++ b/source/_components/image_processing.facebox.markdown @@ -87,6 +87,47 @@ Use the `image_processing.detect_face` events to trigger automations, and breako ``` {% endraw %} +## {% linkable_title Service `facebox_teach_face` %} + +The service `facebox_teach_face` can be used to teach Facebox faces. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | Entity ID of Facebox entity. +| `name` | no | The name to associate with a face. +| `file_path` | no | The path to the image file. + +A valid service data example: + +{% raw %} +```yaml +{ + "entity_id": "image_processing.facebox_local_file", + "name": "superman", + "file_path": "/images/superman_1.jpeg" +} +``` +{% endraw %} + +An `image_processing.teach_classifier` event is fired for each service call, providing feedback on whether teaching has been successful or unsuccessful. In the unsuccessful case, the `message` field of the `event_data` will contain information on the cause of failure, and a warning is also published in the logs. An automation can be used to receive alerts on teaching, for example, the following automation will send a notification with the teaching image and a message describing the status of the teaching: + +```yaml +- id: '11200961111' + alias: Send facebox teaching result + trigger: + platform: event + event_type: image_processing.teach_classifier + event_data: + classifier: facebox + action: + service: notify.platform + data_template: + title: Facebox teaching + message: Name {{ trigger.event.data.name }} teaching was successful? {{ trigger.event.data.success }} + data: + file: ' {{trigger.event.data.file_path}} ' +``` + ## {% linkable_title Optimising resources %} -[Image processing components](https://www.home-assistant.io/components/image_processing/) process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your config `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` service when you actually want to perform processing. +[Image processing components](https://www.home-assistant.io/components/image_processing/) process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your config `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` service when you actually want to perform processing. From 6dd07cfa11e84d956e6473e152af7195969d995b Mon Sep 17 00:00:00 2001 From: Luke Fritz Date: Fri, 13 Jul 2018 07:08:36 -0500 Subject: [PATCH 16/34] Add docs for additional Arlo Baby sensors (#5583) --- source/_components/sensor.arlo.markdown | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/_components/sensor.arlo.markdown b/source/_components/sensor.arlo.markdown index 983388afd04..86f2870fbae 100644 --- a/source/_components/sensor.arlo.markdown +++ b/source/_components/sensor.arlo.markdown @@ -33,6 +33,20 @@ sensor: - signal_strength ``` +Additionally, for Arlo Baby cameras that have additional sensors, you can add them to the `monitored_conditions` collection: + +```yaml +# Additional sensors available for Arlo Baby cameras +sensor: + - platform: arlo + monitored_conditions: + # ... + - temperature + - humidity + - air_quality +``` + + Configuration variables: - **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored. @@ -41,5 +55,8 @@ Configuration variables: - **total_cameras**: Return the number of recognized and active cameras linked on your Arlo account. - **battery_level**: Return the battery level of your Arlo camera. - **signal_strength**: Return the wireless signal strength of your Arlo camera. + - **temperature**: Return the ambient temperature detected by your Arlo Baby camera. + - **humidity**: Return the ambient relative humidity detected by your Arlo Baby camera. + - **air_quality**: Return the ambient air quality (a reading of volatile organic compounds (VOCs) in parts per million) detected by your Arlo Baby camera. If no **monitored_conditions** are specified, all of above will be enabled by default. From 77386b1ff47a1fbcf7f1d12dbef4fe99cb93dd42 Mon Sep 17 00:00:00 2001 From: huangyupeng Date: Fri, 13 Jul 2018 20:31:17 +0800 Subject: [PATCH 17/34] Add Tuya component and platform document (#5739) * add tuya component and platform document * add tuya platform ducoment * remove all platform except switch * :pencil2: Tweaks --- source/_components/switch.tuya.markdown | 23 +++++++++++ source/_components/tuya.markdown | 51 ++++++++++++++++++++++++ source/images/supported_brands/tuya.png | Bin 0 -> 9020 bytes 3 files changed, 74 insertions(+) create mode 100644 source/_components/switch.tuya.markdown create mode 100644 source/_components/tuya.markdown create mode 100644 source/images/supported_brands/tuya.png diff --git a/source/_components/switch.tuya.markdown b/source/_components/switch.tuya.markdown new file mode 100644 index 00000000000..6f081aee6cd --- /dev/null +++ b/source/_components/switch.tuya.markdown @@ -0,0 +1,23 @@ +--- +layout: page +title: "Tuya Switch" +description: "Instructions on how to setup the Tuya switch within Home Assistant." +date: 2018-07-09 09:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: tuya.png +ha_category: Switch +ha_iot_class: "Cloud Polling" +ha_release: 0.74 +--- + + +The `tuya` switch platform allows you to control your [Tuya Smart](https://www.tuya.com) switch. + +The platform supports switch and socket. + +

    +Full configuration details can be found on the main [Tuya component](/components/tuya/) page. +

    \ No newline at end of file diff --git a/source/_components/tuya.markdown b/source/_components/tuya.markdown new file mode 100644 index 00000000000..a51c170dbff --- /dev/null +++ b/source/_components/tuya.markdown @@ -0,0 +1,51 @@ +--- +layout: page +title: "Tuya" +description: "Instructions on how to setup the Tuya hub within Home Assistant." +date: 2018-07-09 09:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: tuya.png +ha_category: Hub +ha_iot_class: "Cloud Polling" +ha_release: 0.74 +--- + +The `tuya` component is the main component to integrate all [Tuya Smart](https://www.tuya.com) related platforms. You will need your Tuya account information (username, password and account country code) to discover and control devices which related to your account. + +## {% linkable_title Configuration %} + +To add your Tuya devices into your Home Assistant installation, add the following to your `configuration.yaml` file: + +```yaml +tuya: + username: YOUR_TUYA_USERNAME + password: YOUR_TUYA_PASSWORD + country_code: YOUR_ACCOUNT_COUNTRYCODE +``` + +{% configuration %} +username: + description: Your username to login to Tuya. + required: true + type: string +password: + description: Your password to login to Tuya. + required: true + type: string +country_code: + description: Your account country code (i.e.,1 for USA and 86 for China). + required: true + type: string +{% endconfiguration %} + +## {% linkable_title Service %} + +These services are available for the `tuya` component: + +- force_update +- pull_devices + +Devices state data and new devices will refresh automatically. If you want to refresh all devices information or get new devices related to your account manually, you can call the `force_update` or `pull_devices` service. diff --git a/source/images/supported_brands/tuya.png b/source/images/supported_brands/tuya.png new file mode 100644 index 0000000000000000000000000000000000000000..58608de6153eaa293a26810423ea076a58ed35c1 GIT binary patch literal 9020 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 iR4_C;Ff=+eH!UzUIxsNwrphz`0000 literal 0 HcmV?d00001 From c1b46c85b4a7f9381a009a14598f4c9f29968678 Mon Sep 17 00:00:00 2001 From: c727 Date: Fri, 13 Jul 2018 15:39:46 +0200 Subject: [PATCH 18/34] Lovelace: Add support for badges (#5784) --- source/lovelace/views.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/lovelace/views.markdown b/source/lovelace/views.markdown index bccd8a4bc92..d1eb9d7e5c1 100644 --- a/source/lovelace/views.markdown +++ b/source/lovelace/views.markdown @@ -30,6 +30,10 @@ views: required: true description: Cards to display in this view. type: list + badges: + required: false + description: List of entities IDs to display as badge. + type: list id: required: false description: IDs are used in the URL, more info below. From 2f1f3011dbb571b19c6db68f6cb42d0bf80c1a6b Mon Sep 17 00:00:00 2001 From: Mattias Welponer Date: Fri, 13 Jul 2018 16:54:50 +0200 Subject: [PATCH 19/34] Add homematicip_cloud-alarm_control-documentation (#5670) --- ...m_control_panel.homematicip_cloud.markdown | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 source/_components/alarm_control_panel.homematicip_cloud.markdown diff --git a/source/_components/alarm_control_panel.homematicip_cloud.markdown b/source/_components/alarm_control_panel.homematicip_cloud.markdown new file mode 100644 index 00000000000..c4e06783b8e --- /dev/null +++ b/source/_components/alarm_control_panel.homematicip_cloud.markdown @@ -0,0 +1,21 @@ +--- +layout: page +title: "HomematicIP Cloud Alarm Control Panel" +description: "Instructions on how to integrate HomematicIP alarm control panel into Home Assistant." +date: 2018-05-18 22:40 +sidebar: true +comments: false +sharing: true +footer: true +logo: homematicip_cloud.png +ha_category: Sensor +ha_release: 0.73 +ha_iot_class: "Cloud Push" +--- + +The `homematicip_cloud` alarm_control_panel platform allows you to control your [HomematicIP](https://www.homematic-ip.com) `Security Zones` through Home Assistant. + +This component will automatically add `Security Zones` configured in your HomematicIP cloud. + +Please refer to the +[component](/components/homematicip_cloud/) configuration on how to setup HomematicIP Cloud. From d41611b7531c871eef9e5b34b31e2c2c84fd1b77 Mon Sep 17 00:00:00 2001 From: Jerad Meisner Date: Sun, 15 Jul 2018 08:42:15 -0700 Subject: [PATCH 20/34] Added image element type to picture-elements. (#5781) * Added image element type to picture-elements. * Minor corrections * Another correction. --- source/_lovelace/picture-elements.markdown | 116 ++++++++++++++++++++- 1 file changed, 115 insertions(+), 1 deletion(-) diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 4c876018ab4..60050ec80cf 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -138,7 +138,57 @@ style: type: object {% endconfiguration %} -## {% linkable_title How-to use the style object %} +### {% linkable_title Image Element %} + +{% configuration %} +type: + required: true + description: image + type: string +entity: + required: false + description: Entity to use for state_image and state_filter and also target for actions. + type: string +tap_action: + required: false + description: none, more-info, toggle, call-service + type: string + default: more-info +image: + required: false + description: The image to display. + type: string +camera_image: + required: false + description: A camera entity. + type: string +state_image: + required: false + description: '[State-based images](#how-to-use-state_image)' + type: object +filter: + required: false + description: Default CSS filter + type: string +state_filter: + required: false + description: '[State-based CSS filters](#how-to-use-state_filter)' + type: object +service: + required: false + description: Service to call. + type: string +service_data: + required: false + description: The service data to use. + type: object +style: + required: true + description: Position and style the element using CSS. + type: object +{% endconfiguration %} + +## {% linkable_title How to use the style object %} Position and style your elements using [CSS](https://en.wikipedia.org/wiki/Cascading_Style_Sheets). More/other keys are also possible. @@ -151,6 +201,26 @@ style: "--paper-item-icon-color": pink ``` +## {% linkable_title How to use state_image %} + +Specify a different image to display based on the state of the entity. + +```yaml +state_image: + "on": /local/living_room_on.jpg + "off": /local/living_room_off.jpg +``` + +## {% linkable_title How to use state_filter %} + +Specify different [CSS filters](https://developer.mozilla.org/en-US/docs/Web/CSS/filter) + +```yaml +state_filter: + 'on': brightness(110%) saturate(1.2) + 'off': brightness(50%) hue-rotate(45deg) +``` + ## {% linkable_title Example %} ```yaml @@ -183,3 +253,47 @@ style: service_data: entity_id: group.all_lights ``` + +## {% linkable_title Images Example %} + +```yaml +- type: picture-elements + image: /local/floorplan.png + elements: + # state_image & state_filter - toggle on click + - type: image + entity: light.living_room + tap_action: toggle + image: /local/living_room.png + state_image: + 'off': /local/living_room_off.png + filter: saturate(.8) + state_filter: + 'on': brightness(120%) saturate(1.2) + style: + top: 25% + left: 75% + width: 15% + # Camera, red border, rounded-rectangle - show more-info on click + - type: image + entity: camera.driveway_camera + style: + top: 5% + left: 10% + width: 10% + border: 2px solid red + border-radius: 10% + # Single image, state_filter - call-service on click + - type: image + entity: media_player.living_room + tap_action: call-service + service: media_player.media_play_pause + image: /local/television.jpg + filter: brightness(5%) + state_filter: + playing: brightness(100%) + style: + top: 40% + left: 75% + width: 5% +``` From 0a77910863208db58a70e43e1e47dd6c4c969d25 Mon Sep 17 00:00:00 2001 From: c727 Date: Sun, 15 Jul 2018 19:04:13 +0200 Subject: [PATCH 21/34] Lovelace: Add service icon docs (#5794) * Update picture-elements.markdown * Lint * More lint --- source/_lovelace/picture-elements.markdown | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 60050ec80cf..32c77331861 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -130,7 +130,32 @@ service: type: string service_data: required: false - description: The service data to use." + description: The service data to use. + type: object +style: + required: true + description: Position and style the element using CSS. + type: object +{% endconfiguration %} + +### {% linkable_title Service Call Icon %} + +{% configuration %} +type: + required: true + description: service-icon + type: string +title: + required: false + description: Icon tooltip. + type: string +service: + required: true + description: "Service like `light.turn_on`." + type: string +service_data: + required: false + description: The service data to use. type: object style: required: true From 7ec0e271ab1daf34cadf55297b878875d942fb14 Mon Sep 17 00:00:00 2001 From: c727 Date: Sun, 15 Jul 2018 22:48:53 +0200 Subject: [PATCH 22/34] Lovelace: new features for glance (#5795) * Lovelace: new features for glance * Fix cp --- source/_lovelace/glance.markdown | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index 60cf0c469e5..9dc6c021bc7 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -30,6 +30,16 @@ title: required: false description: Card title type: string +show_title: + required: false + description: Show entity titles. + type: boolean + default: "true" +show_state: + required: false + description: Show entity state-text. + type: boolean + default: "true" {% endconfiguration %} ## {% linkable_title Options For Entities %} @@ -45,6 +55,11 @@ name: required: false description: Overwrites friendly name. type: string +tap_action: + required: false + description: "Set to `toggle` or `turn-on` for direct actions." + type: string + default: more-info {% endconfiguration %} ## {% linkable_title Examples %} From d81b88f33496947669fc7d175eb98f334cbd43ad Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 16 Jul 2018 09:01:11 +0200 Subject: [PATCH 23/34] Add draft blogpost for 0.74 --- _config.yml | 6 +- source/_posts/2018-07-21-release-74.markdown | 331 +++++++++++++++++++ 2 files changed, 334 insertions(+), 3 deletions(-) create mode 100644 source/_posts/2018-07-21-release-74.markdown diff --git a/_config.yml b/_config.yml index 84212e57b7c..3ea453764b2 100644 --- a/_config.yml +++ b/_config.yml @@ -141,9 +141,9 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 73 -current_patch_version: 1 -date_released: 2018-07-08 +current_minor_version: 74 +current_patch_version: 0 +date_released: 2018-07-21 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_posts/2018-07-21-release-74.markdown b/source/_posts/2018-07-21-release-74.markdown new file mode 100644 index 00000000000..96e065f291f --- /dev/null +++ b/source/_posts/2018-07-21-release-74.markdown @@ -0,0 +1,331 @@ +--- +layout: post +title: "0.74: TBD - UPDATE DATE" +description: "TBD" +date: 2018-07-16 00:01:00 +date_formatted: "July 21, 2018" +author: Paulus Schoutsen +author_twitter: balloob +comments: true +categories: Release-Notes +og_image: /images/blog/2018-07-0.74/components.png +--- + +## {% linkable_title New Platforms %} + +- Added support for Duke Energy smart meters ([@w1ll1am23] - [#15165]) ([sensor.duke_energy docs]) (new-platform) +- Added Push Camera ([@dgomes] - [#15151]) ([camera.push docs]) (new-platform) +- Use IndieAuth for client ID ([@balloob] - [#15369]) ([auth docs]) ([frontend docs]) (new-platform) +- Add Cloudflare DNS component. ([@ludeeus] - [#15388]) ([cloudflare docs]) (new-platform) +- Add Tuya component and switch support ([@huangyupeng] - [#15399]) ([tuya docs]) ([switch.tuya docs]) (new-platform) +- Add HomematicIP alarm control panel ([@mxworm] - [#15342]) ([alarm_control_panel docs]) ([homematicip_cloud docs]) ([alarm_control_panel.homematicip_cloud docs]) (new-platform) +- User management ([@balloob] - [#15420]) ([auth docs]) ([config docs]) ([http docs]) ([websocket_api docs]) (new-platform) +- Add Tuya light platform ([@huangyupeng] - [#15444]) ([tuya docs]) ([light.tuya docs]) (new-platform) + +## {% linkable_title If you need help... %} + +...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. + +## {% linkable_title Reporting Issues %} + +Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template. + + +## {% linkable_title Breaking Changes %} + +- Add support for new API (fixes #14911) ([@fabaff] - [#15279]) ([sensor.fixer docs]) (breaking change) +- Added support to HTTPS URLs on SynologyDSM ([@tchellomello] - [#15270]) ([sensor.synologydsm docs]) (breaking change) +- Ignore some HomeKit devices ([@mjg59] - [#15316]) ([homekit_controller docs]) (breaking change) +- Make LimitlessLED color/temperature attributes mutually exclusive ([@amelchio] - [#15298]) ([light.limitlessled docs]) (breaking change) + +## {% linkable_title All changes %} + +- deconz: fix light.turn_off with transition ([@lbschenkel] - [#15222]) ([light.deconz docs]) +- Add new RTS device ([@pepeEL] - [#15116]) ([tahoma docs]) +- Add additional parameters to NUT UPS sensor ([@carlchan] - [#15066]) ([sensor.nut docs]) +- Fix typos ([@fabaff] - [#15233]) ([watson_iot docs]) +- Use async syntax for cover platforms ([@cdce8p] - [#15230]) ([cover.lutron_caseta docs]) ([cover.mqtt docs]) ([cover.rflink docs]) ([cover.template docs]) ([cover.velbus docs]) ([cover.wink docs]) +- Upgrade pytest to 3.6.2 ([@scop] - [#15241]) +- Add precipitations to Openweathermap daily forecast mode ([@sgttrs] - [#15240]) ([weather.openweathermap docs]) +- deconz: proper fix light.turn_off with transition ([@lbschenkel] - [#15227]) ([light.deconz docs]) +- allow extra slot values in intents ([@dthulke] - [#15246]) +- Lint cleanups ([@scop] - [#15243]) ([google_assistant docs]) ([sensor.tibber docs]) +- Upgrade sqlalchemy to 1.2.9 ([@fabaff] - [#15250]) ([sensor.sql docs]) +- Upgrade WazeRouteCalculator to 0.6 ([@fabaff] - [#15251]) ([sensor.waze_travel_time docs]) +- Fix typo in Docker files ([@SConaway] - [#15256]) +- Switch to own packaged version of pylgnetcast ([@andrey-git] - [#15042]) ([media_player.lg_netcast docs]) +- Added setting cover tilt position in scene ([@kstaniek] - [#15255]) +- Pass tox posargs to pylint ([@scop] - [#15226]) +- Fix Roomba exception ([@arbreng] - [#15262]) ([vacuum.roomba docs]) +- Added support for Duke Energy smart meters ([@w1ll1am23] - [#15165]) ([sensor.duke_energy docs]) (new-platform) +- Update image_processing async ([@dgomes] - [#15082]) ([image_processing docs]) +- Fix python-miio 0.4 compatibility of the xiaomi miio device tracker ([@serhtt] - [#15244]) ([device_tracker docs]) +- Upgrade keyring to 13.1.0 ([@fabaff] - [#15268]) +- deCONZ - new sensor attribute 'on' and new sensor GenericFlag ([@Kane610] - [#15247]) ([deconz docs]) ([binary_sensor.deconz docs]) ([sensor.deconz docs]) +- expose climate current temperature in prometeus metrics ([@stenius] - [#15232]) ([prometheus docs]) +- New device to support option MY in somfy ([@pepeEL] - [#15272]) ([cover.tahoma docs]) +- Add isort configuration ([@fabaff] - [#15278]) +- Add support for new API (fixes #14911) ([@fabaff] - [#15279]) ([sensor.fixer docs]) (breaking change) +- Switch to own packaged version of suds-passworddigest ([@andrey-git] - [#15261]) ([camera.onvif docs]) +- Added Push Camera ([@dgomes] - [#15151]) ([camera.push docs]) (new-platform) +- Added support to HTTPS URLs on SynologyDSM ([@tchellomello] - [#15270]) ([sensor.synologydsm docs]) (breaking change) +- Add system generated users ([@balloob] - [#15291]) ([auth docs]) +- Add additional sensors for Arlo Baby camera ([@lukiffer] - [#15074]) ([sensor.arlo docs]) +- Add HomematicIP Cloud Config Flow and Entries loading ([@mxworm] - [#14861]) ([homematicip_cloud docs]) +- Upgrade youtube_dl to 2018.07.04 ([@fabaff] - [#15323]) ([media_extractor docs]) +- Upgrade keyring to 13.2.0 ([@fabaff] - [#15322]) +- Upgrade pytest to 3.6.3 ([@scop] - [#15332]) +- Add original message as dialogflow_query parameter ([@quazzie] - [#15304]) ([dialogflow docs]) +- Add python 3.7 to travis and tox ([@andrey-git] - [#14523]) +- Frontend: Allow overriding default url when added to home screen ([@sjabby] - [#15368]) ([frontend docs]) +- Add HomematicIP Cloud light power consumption and energie attributes ([@mxworm] - [#15343]) ([light.homematicip_cloud docs]) +- fix camera.push API overwrite ([@dgomes] - [#15334]) ([camera.push docs]) +- Add support for multi-channel enocean switches (D2-01-12 profile) ([@NoUsername] - [#14548]) ([enocean docs]) ([switch.enocean docs]) +- Add sound mode support ([@starkillerOG] - [#14910]) ([media_player.denonavr docs]) +- Fixed issue 15340. alexa/smart_home module can now skip properties that aren't supported in the current state, eg lowerSetpoint in Heat mode or targetSetpoint in Eco mode for Nest devices. ([@iliketoprogram14] - [#15352]) ([alexa docs]) +- Efergy ([@fabaff] - [#15380]) ([sensor.efergy docs]) +- Use IndieAuth for client ID ([@balloob] - [#15369]) ([auth docs]) ([frontend docs]) (new-platform) +- Add httplib2 to h.c.google requirements ([@scop] - [#15385]) ([google docs]) ([calendar.google docs]) +- Remove some unneeded pylint import-error disables ([@scop] - [#15386]) ([device_tracker docs]) ([eufy docs]) ([light.eufy docs]) ([switch.eufy docs]) +- Update ha-philipsjs to 0.0.5 ([@danielperna84] - [#15378]) ([media_player.philips_js docs]) +- Add new voices to Amazon Polly ([@hanzoh] - [#15320]) ([tts docs]) +- Add Cloudflare DNS component. ([@ludeeus] - [#15388]) ([cloudflare docs]) (new-platform) +- Add Facebox teach service ([@robmarkcole] - [#14998]) ([image_processing.facebox docs]) +- Expire auth code after 10 minutes ([@balloob] - [#15381]) ([auth docs]) +- Improve NetAtmo sensors update logic ([@glpatcern] - [#14866]) ([sensor.netatmo docs]) +- removed unused return ([@ludeeus] - [#15402]) ([cloudflare docs]) +- Fix confused brightness of xiaomi_aqara gateway light ([@amelchio] - [#15314]) ([light.xiaomi_aqara docs]) +- Fix liveboxplaytv empty channel list ([@pschmitt] - [#15404]) ([media_player.liveboxplaytv docs]) +- Fix credentials lookup ([@balloob] - [#15409]) +- Change Ring binary_sensor frequency polling to avoid rate limit exceeded errors ([@tchellomello] - [#15414]) ([binary_sensor.ring docs]) +- Add Tuya component and switch support ([@huangyupeng] - [#15399]) ([tuya docs]) ([switch.tuya docs]) (new-platform) +- Fix HomeMatic variables ([@danielperna84] - [#15417]) ([homematic docs]) +- Ignore some HomeKit devices ([@mjg59] - [#15316]) ([homekit_controller docs]) (breaking change) +- Make LimitlessLED color/temperature attributes mutually exclusive ([@amelchio] - [#15298]) ([light.limitlessled docs]) (breaking change) +- Add HomematicIP alarm control panel ([@mxworm] - [#15342]) ([alarm_control_panel docs]) ([homematicip_cloud docs]) ([alarm_control_panel.homematicip_cloud docs]) (new-platform) +- Include request.path in legacy api password warning message ([@awarecan] - [#15438]) ([http docs]) +- Add python 3.8-dev to travis and tox ([@andrey-git] - [#15347]) +- Reorg auth ([@balloob] - [#15443]) +- Make typing checks more strict ([@andrey-git] - [#14429]) +- upgrade-mypy ([@scop] - [#14904]) +- Fix comment formatting ([@balloob] - [#15447]) ([device_tracker docs]) +- User management ([@balloob] - [#15420]) ([auth docs]) ([config docs]) ([http docs]) ([websocket_api docs]) (new-platform) +- More typing ([@andrey-git] - [#15449]) +- Catch the ValueError if the bulb was in the wrong mode ([@fabaff] - [#15434]) ([light.mystrom docs]) +- Upgrade keyring to 13.2.1 ([@fabaff] - [#15453]) +- Fix formatting pylint comments in test ([@balloob] - [#15450]) +- Add HomematicIP Cloud dimmer light device ([@mxworm] - [#15456]) ([light.homematicip_cloud docs]) +- Fix ZWave RGBW lights not producing color without explicit white_value ([@jantman] - [#15412]) ([light.zwave docs]) +- Add IPPassageSensor (HmIP-SPDR) ([@danielperna84] - [#15458]) ([homematic docs]) +- Implement is_on ([@teharris1] - [#15459]) ([switch.insteon_plm docs]) +- Remove unnecessary executable permissions ([@scop] - [#15469]) ([fritzbox docs]) ([climate.fritzbox docs]) ([cover.group docs]) ([sensor.wirelesstag docs]) ([switch.amcrest docs]) ([switch.fritzbox docs]) +- Add Tuya light platform ([@huangyupeng] - [#15444]) ([tuya docs]) ([light.tuya docs]) (new-platform) +- Update homematicip_cloud with enum states ([@mxworm] - [#15460]) ([homematicip_cloud docs]) ([binary_sensor.homematicip_cloud docs]) ([light.homematicip_cloud docs]) ([sensor.homematicip_cloud docs]) +- Add user via cmd line creates owner ([@balloob] - [#15470]) ([auth docs]) ([http docs]) +- Switch to own packaged version of pygtfs ([@andrey-git] - [#15040]) ([sensor.gtfs docs]) +- Aware comments ([@balloob] - [#15480]) ([auth docs]) +- Fix flux_led turning on with color or effect ([@amelchio] - [#15472]) ([light.flux_led docs]) +- Update limitlessled to 1.1.2 ([@amelchio] - [#15481]) ([light.limitlessled docs]) + +[#14429]: https://github.com/home-assistant/home-assistant/pull/14429 +[#14523]: https://github.com/home-assistant/home-assistant/pull/14523 +[#14548]: https://github.com/home-assistant/home-assistant/pull/14548 +[#14861]: https://github.com/home-assistant/home-assistant/pull/14861 +[#14866]: https://github.com/home-assistant/home-assistant/pull/14866 +[#14904]: https://github.com/home-assistant/home-assistant/pull/14904 +[#14910]: https://github.com/home-assistant/home-assistant/pull/14910 +[#14998]: https://github.com/home-assistant/home-assistant/pull/14998 +[#15040]: https://github.com/home-assistant/home-assistant/pull/15040 +[#15042]: https://github.com/home-assistant/home-assistant/pull/15042 +[#15066]: https://github.com/home-assistant/home-assistant/pull/15066 +[#15074]: https://github.com/home-assistant/home-assistant/pull/15074 +[#15082]: https://github.com/home-assistant/home-assistant/pull/15082 +[#15116]: https://github.com/home-assistant/home-assistant/pull/15116 +[#15151]: https://github.com/home-assistant/home-assistant/pull/15151 +[#15165]: https://github.com/home-assistant/home-assistant/pull/15165 +[#15222]: https://github.com/home-assistant/home-assistant/pull/15222 +[#15226]: https://github.com/home-assistant/home-assistant/pull/15226 +[#15227]: https://github.com/home-assistant/home-assistant/pull/15227 +[#15230]: https://github.com/home-assistant/home-assistant/pull/15230 +[#15232]: https://github.com/home-assistant/home-assistant/pull/15232 +[#15233]: https://github.com/home-assistant/home-assistant/pull/15233 +[#15240]: https://github.com/home-assistant/home-assistant/pull/15240 +[#15241]: https://github.com/home-assistant/home-assistant/pull/15241 +[#15243]: https://github.com/home-assistant/home-assistant/pull/15243 +[#15244]: https://github.com/home-assistant/home-assistant/pull/15244 +[#15246]: https://github.com/home-assistant/home-assistant/pull/15246 +[#15247]: https://github.com/home-assistant/home-assistant/pull/15247 +[#15250]: https://github.com/home-assistant/home-assistant/pull/15250 +[#15251]: https://github.com/home-assistant/home-assistant/pull/15251 +[#15255]: https://github.com/home-assistant/home-assistant/pull/15255 +[#15256]: https://github.com/home-assistant/home-assistant/pull/15256 +[#15261]: https://github.com/home-assistant/home-assistant/pull/15261 +[#15262]: https://github.com/home-assistant/home-assistant/pull/15262 +[#15268]: https://github.com/home-assistant/home-assistant/pull/15268 +[#15270]: https://github.com/home-assistant/home-assistant/pull/15270 +[#15272]: https://github.com/home-assistant/home-assistant/pull/15272 +[#15278]: https://github.com/home-assistant/home-assistant/pull/15278 +[#15279]: https://github.com/home-assistant/home-assistant/pull/15279 +[#15291]: https://github.com/home-assistant/home-assistant/pull/15291 +[#15298]: https://github.com/home-assistant/home-assistant/pull/15298 +[#15304]: https://github.com/home-assistant/home-assistant/pull/15304 +[#15314]: https://github.com/home-assistant/home-assistant/pull/15314 +[#15316]: https://github.com/home-assistant/home-assistant/pull/15316 +[#15320]: https://github.com/home-assistant/home-assistant/pull/15320 +[#15322]: https://github.com/home-assistant/home-assistant/pull/15322 +[#15323]: https://github.com/home-assistant/home-assistant/pull/15323 +[#15332]: https://github.com/home-assistant/home-assistant/pull/15332 +[#15334]: https://github.com/home-assistant/home-assistant/pull/15334 +[#15342]: https://github.com/home-assistant/home-assistant/pull/15342 +[#15343]: https://github.com/home-assistant/home-assistant/pull/15343 +[#15347]: https://github.com/home-assistant/home-assistant/pull/15347 +[#15352]: https://github.com/home-assistant/home-assistant/pull/15352 +[#15368]: https://github.com/home-assistant/home-assistant/pull/15368 +[#15369]: https://github.com/home-assistant/home-assistant/pull/15369 +[#15378]: https://github.com/home-assistant/home-assistant/pull/15378 +[#15380]: https://github.com/home-assistant/home-assistant/pull/15380 +[#15381]: https://github.com/home-assistant/home-assistant/pull/15381 +[#15385]: https://github.com/home-assistant/home-assistant/pull/15385 +[#15386]: https://github.com/home-assistant/home-assistant/pull/15386 +[#15388]: https://github.com/home-assistant/home-assistant/pull/15388 +[#15399]: https://github.com/home-assistant/home-assistant/pull/15399 +[#15402]: https://github.com/home-assistant/home-assistant/pull/15402 +[#15404]: https://github.com/home-assistant/home-assistant/pull/15404 +[#15409]: https://github.com/home-assistant/home-assistant/pull/15409 +[#15412]: https://github.com/home-assistant/home-assistant/pull/15412 +[#15414]: https://github.com/home-assistant/home-assistant/pull/15414 +[#15417]: https://github.com/home-assistant/home-assistant/pull/15417 +[#15420]: https://github.com/home-assistant/home-assistant/pull/15420 +[#15434]: https://github.com/home-assistant/home-assistant/pull/15434 +[#15438]: https://github.com/home-assistant/home-assistant/pull/15438 +[#15443]: https://github.com/home-assistant/home-assistant/pull/15443 +[#15444]: https://github.com/home-assistant/home-assistant/pull/15444 +[#15447]: https://github.com/home-assistant/home-assistant/pull/15447 +[#15449]: https://github.com/home-assistant/home-assistant/pull/15449 +[#15450]: https://github.com/home-assistant/home-assistant/pull/15450 +[#15453]: https://github.com/home-assistant/home-assistant/pull/15453 +[#15456]: https://github.com/home-assistant/home-assistant/pull/15456 +[#15458]: https://github.com/home-assistant/home-assistant/pull/15458 +[#15459]: https://github.com/home-assistant/home-assistant/pull/15459 +[#15460]: https://github.com/home-assistant/home-assistant/pull/15460 +[#15469]: https://github.com/home-assistant/home-assistant/pull/15469 +[#15470]: https://github.com/home-assistant/home-assistant/pull/15470 +[#15472]: https://github.com/home-assistant/home-assistant/pull/15472 +[#15480]: https://github.com/home-assistant/home-assistant/pull/15480 +[#15481]: https://github.com/home-assistant/home-assistant/pull/15481 +[@Kane610]: https://github.com/Kane610 +[@NoUsername]: https://github.com/NoUsername +[@SConaway]: https://github.com/SConaway +[@amelchio]: https://github.com/amelchio +[@andrey-git]: https://github.com/andrey-git +[@arbreng]: https://github.com/arbreng +[@awarecan]: https://github.com/awarecan +[@balloob]: https://github.com/balloob +[@carlchan]: https://github.com/carlchan +[@cdce8p]: https://github.com/cdce8p +[@danielperna84]: https://github.com/danielperna84 +[@dgomes]: https://github.com/dgomes +[@dthulke]: https://github.com/dthulke +[@fabaff]: https://github.com/fabaff +[@glpatcern]: https://github.com/glpatcern +[@hanzoh]: https://github.com/hanzoh +[@huangyupeng]: https://github.com/huangyupeng +[@iliketoprogram14]: https://github.com/iliketoprogram14 +[@jantman]: https://github.com/jantman +[@kstaniek]: https://github.com/kstaniek +[@lbschenkel]: https://github.com/lbschenkel +[@ludeeus]: https://github.com/ludeeus +[@lukiffer]: https://github.com/lukiffer +[@mjg59]: https://github.com/mjg59 +[@mxworm]: https://github.com/mxworm +[@pepeEL]: https://github.com/pepeEL +[@pschmitt]: https://github.com/pschmitt +[@quazzie]: https://github.com/quazzie +[@robmarkcole]: https://github.com/robmarkcole +[@scop]: https://github.com/scop +[@serhtt]: https://github.com/serhtt +[@sgttrs]: https://github.com/sgttrs +[@sjabby]: https://github.com/sjabby +[@starkillerOG]: https://github.com/starkillerOG +[@stenius]: https://github.com/stenius +[@tchellomello]: https://github.com/tchellomello +[@teharris1]: https://github.com/teharris1 +[@w1ll1am23]: https://github.com/w1ll1am23 +[alarm_control_panel docs]: /components/alarm_control_panel/ +[alarm_control_panel.homematicip_cloud docs]: /components/alarm_control_panel.homematicip_cloud/ +[alexa docs]: /components/alexa/ +[auth docs]: /components/auth/ +[binary_sensor.deconz docs]: /components/binary_sensor.deconz/ +[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/ +[binary_sensor.ring docs]: /components/binary_sensor.ring/ +[calendar.google docs]: /components/calendar.google/ +[camera.onvif docs]: /components/camera.onvif/ +[camera.push docs]: /components/camera.push/ +[climate.fritzbox docs]: /components/climate.fritzbox/ +[cloudflare docs]: /components/cloudflare/ +[config docs]: /components/config/ +[cover.group docs]: /components/cover.group/ +[cover.lutron_caseta docs]: /components/cover.lutron_caseta/ +[cover.mqtt docs]: /components/cover.mqtt/ +[cover.rflink docs]: /components/cover.rflink/ +[cover.tahoma docs]: /components/cover.tahoma/ +[cover.template docs]: /components/cover.template/ +[cover.velbus docs]: /components/cover.velbus/ +[cover.wink docs]: /components/cover.wink/ +[deconz docs]: /components/deconz/ +[device_tracker docs]: /components/device_tracker/ +[dialogflow docs]: /components/dialogflow/ +[enocean docs]: /components/enocean/ +[eufy docs]: /components/eufy/ +[fritzbox docs]: /components/fritzbox/ +[frontend docs]: /components/frontend/ +[google docs]: /components/google/ +[google_assistant docs]: /components/google_assistant/ +[homekit_controller docs]: /components/homekit_controller/ +[homematic docs]: /components/homematic/ +[homematicip_cloud docs]: /components/homematicip_cloud/ +[http docs]: /components/http/ +[image_processing docs]: /components/image_processing/ +[image_processing.facebox docs]: /components/image_processing.facebox/ +[light.deconz docs]: /components/light.deconz/ +[light.eufy docs]: /components/light.eufy/ +[light.flux_led docs]: /components/light.flux_led/ +[light.homematicip_cloud docs]: /components/light.homematicip_cloud/ +[light.limitlessled docs]: /components/light.limitlessled/ +[light.mystrom docs]: /components/light.mystrom/ +[light.tuya docs]: /components/light.tuya/ +[light.xiaomi_aqara docs]: /components/light.xiaomi_aqara/ +[light.zwave docs]: /components/light.zwave/ +[media_extractor docs]: /components/media_extractor/ +[media_player.denonavr docs]: /components/media_player.denonavr/ +[media_player.lg_netcast docs]: /components/media_player.lg_netcast/ +[media_player.liveboxplaytv docs]: /components/media_player.liveboxplaytv/ +[media_player.philips_js docs]: /components/media_player.philips_js/ +[prometheus docs]: /components/prometheus/ +[sensor.arlo docs]: /components/sensor.arlo/ +[sensor.deconz docs]: /components/sensor.deconz/ +[sensor.duke_energy docs]: /components/sensor.duke_energy/ +[sensor.efergy docs]: /components/sensor.efergy/ +[sensor.fixer docs]: /components/sensor.fixer/ +[sensor.gtfs docs]: /components/sensor.gtfs/ +[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/ +[sensor.netatmo docs]: /components/sensor.netatmo/ +[sensor.nut docs]: /components/sensor.nut/ +[sensor.sql docs]: /components/sensor.sql/ +[sensor.synologydsm docs]: /components/sensor.synologydsm/ +[sensor.tibber docs]: /components/sensor.tibber/ +[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/ +[sensor.wirelesstag docs]: /components/sensor.wirelesstag/ +[switch.amcrest docs]: /components/switch.amcrest/ +[switch.enocean docs]: /components/switch.enocean/ +[switch.eufy docs]: /components/switch.eufy/ +[switch.fritzbox docs]: /components/switch.fritzbox/ +[switch.insteon_plm docs]: /components/switch.insteon_plm/ +[switch.tuya docs]: /components/switch.tuya/ +[tahoma docs]: /components/tahoma/ +[tts docs]: /components/tts/ +[tuya docs]: /components/tuya/ +[vacuum.roomba docs]: /components/vacuum.roomba/ +[watson_iot docs]: /components/watson_iot/ +[weather.openweathermap docs]: /components/weather.openweathermap/ +[websocket_api docs]: /components/websocket_api/ From 6ab42a8194ad63ab7fae1a8a1a8302ae4f52147c Mon Sep 17 00:00:00 2001 From: Marius Date: Mon, 16 Jul 2018 16:26:44 +0300 Subject: [PATCH 24/34] Updates for future beta (#5792) * Updates for future beta * Update views changelog * Updated based on PR feedback --- source/lovelace/changelog.markdown | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index 80b9e5c1570..598b48d7681 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -9,6 +9,23 @@ sharing: true footer: true --- +## {% linkable_title Changes in 0.74.0b0 %} + +### Views +- Add basic support for `badges` like in old view style +- Custom cards now work with `panel: true` + +### Cards +- `glance` card supports now `toggle` and `turn-on` besides showing more-info dialog +- `glance` card supports now to hide `name` or `state` +- `history-graph` supports override of entity names +- Allow `picture-glance` to open more info for camera +- Show more-info for `media_players` in `picture-glance` +- `picture-elements` card now supports also `image` as element type +- `picture-elements` card now supports also `service-icon` as element type +- Make Lovelace `entity-filter` card more robust (new use case: https://github.com/home-assistant/ui-schema/issues/82) +- 🔧 Fix `picture-glance` crash when state of entity was unavailable + ## {% linkable_title Changes in 0.73.1 %} - Setting Lovelace as default now updates `Overview` button to point to `/lovelace` From e3f4975e81c530eaa77833d5082d8f8f2b362f25 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 17 Jul 2018 09:22:02 +0200 Subject: [PATCH 25/34] Update changelog.markdown --- source/lovelace/changelog.markdown | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index 598b48d7681..c688fe4719d 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -16,15 +16,14 @@ footer: true - Custom cards now work with `panel: true` ### Cards -- `glance` card supports now `toggle` and `turn-on` besides showing more-info dialog -- `glance` card supports now to hide `name` or `state` -- `history-graph` supports override of entity names -- Allow `picture-glance` to open more info for camera -- Show more-info for `media_players` in `picture-glance` -- `picture-elements` card now supports also `image` as element type -- `picture-elements` card now supports also `service-icon` as element type -- Make Lovelace `entity-filter` card more robust (new use case: https://github.com/home-assistant/ui-schema/issues/82) -- 🔧 Fix `picture-glance` crash when state of entity was unavailable +- 📣 [glance card]: Entity `tap_action` can now be `toggle` and `turn-on` besides the default of showing the more info dialog +- 📣 [glance card]: Support added to hide `name` or `state` +- 📣 [history graph card]: Support added to override entity names +- 📣 [picture glance card]: Support added to open the more info dialog for cameras and media players. +- 📣 [picture elements card]: Support new element type `image` +- 📣 [picture elements card]: Support new element type `service-icon` +- 🔧 [entity filter card]: Fix edge cases that could make it crash ([supports this new use case](https://github.com/home-assistant/ui-schema/issues/82)) +- 🔧 [picture glance card]: Fix crash when the state of entity was unavailable ## {% linkable_title Changes in 0.73.1 %} @@ -128,3 +127,9 @@ footer: true ## {% linkable_title Changes in 0.72 %} - Initial release of the Lovelace UI + +[glance card]: /lovelace/glance/ +[history graph card]: /lovelace/history-graph/ +[picture glance card]: /lovelace/picture-glance/ +[picture elements card]: /lovelace/picture-elements/ +[entity filter card]: /lovelace/entity-filter/ From 92543a494be91f9bbd71478617e8b91ddfea7600 Mon Sep 17 00:00:00 2001 From: c727 Date: Mon, 16 Jul 2018 15:29:53 +0200 Subject: [PATCH 26/34] Lovelace: Overwrite name in history card (#5797) --- source/_lovelace/history-graph.markdown | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/source/_lovelace/history-graph.markdown b/source/_lovelace/history-graph.markdown index 282b59912f5..a27641069a1 100644 --- a/source/_lovelace/history-graph.markdown +++ b/source/_lovelace/history-graph.markdown @@ -24,7 +24,7 @@ type: type: string entities: required: true - description: List of entities to graph. + description: "A list of entity IDs or `entity` objects, see below." type: list hours_to_show: required: false @@ -42,6 +42,21 @@ title: type: string {% endconfiguration %} +## {% linkable_title Options For Entities %} + +If you define entities as objects instead of strings, you can add more customization and configuration: + +{% configuration %} +entity: + required: true + description: Home Assistant entity ID. + type: string +name: + required: false + description: Overwrites friendly name. + type: string +{% endconfiguration %} + ## {% linkable_title Example %} ```yaml @@ -49,5 +64,6 @@ title: title: 'My Graph' entities: - sensor.outside_temperature - - media_player.lounge_room + - entity: media_player.lounge_room + name: Main player ``` From 6306fa42de91aeb3d45cf371fb19bbbc66b72da8 Mon Sep 17 00:00:00 2001 From: huangyupeng Date: Fri, 20 Jul 2018 04:44:02 +0800 Subject: [PATCH 27/34] Add Tuya light platform document (#5800) * Add Tuya light document * fix grammar problem --- source/_components/light.tuya.markdown | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 source/_components/light.tuya.markdown diff --git a/source/_components/light.tuya.markdown b/source/_components/light.tuya.markdown new file mode 100644 index 00000000000..ec3d418e5e5 --- /dev/null +++ b/source/_components/light.tuya.markdown @@ -0,0 +1,23 @@ +--- +layout: page +title: "Tuya Light" +description: "Instructions on how to setup the Tuya lights within Home Assistant." +date: 2018-07-16 09:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: tuya.png +ha_category: Light +ha_iot_class: "Cloud Polling" +ha_release: 0.74 +--- + + +The `tuya` light platform allows you to control your [Tuya Smart](https://www.tuya.com) lights. + +The platform supports most kinds of Tuya light. + +

    +Full configuration details can be found on the main [Tuya component](/components/tuya/) page. +

    \ No newline at end of file From 570d4feea4409d6b4de563aba42cc7a63164c2f7 Mon Sep 17 00:00:00 2001 From: c727 Date: Tue, 17 Jul 2018 21:23:35 +0200 Subject: [PATCH 28/34] Lovelace: Add column width for glance + fix key name (#5811) --- source/_lovelace/glance.markdown | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index 9dc6c021bc7..f1aceb91e53 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -30,9 +30,9 @@ title: required: false description: Card title type: string -show_title: +show_name: required: false - description: Show entity titles. + description: Show entity names. type: boolean default: "true" show_state: @@ -40,6 +40,11 @@ show_state: description: Show entity state-text. type: boolean default: "true" +column_width: + required: false + description: "Column width as CSS length like `100px` or `calc(100% / 7)`." + type: string + default: 20% {% endconfiguration %} ## {% linkable_title Options For Entities %} From 4dbb5c2df38538b035836558f74eaf35144156ae Mon Sep 17 00:00:00 2001 From: c727 Date: Thu, 19 Jul 2018 22:34:49 +0200 Subject: [PATCH 29/34] Lovelace: Add secondary info docs (#5816) --- source/_lovelace/entities.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index a727e42badb..01c0241fb61 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -49,6 +49,10 @@ name: required: false description: Overwrites friendly name. type: string +secondary_info: + required: false + description: "Show additional info. Values: `entity-id`, `last-changed`." + type: string {% endconfiguration %} ## {% linkable_title Example %} From 9a760cef356b3bb4626192acf0f8910b6c5fb7cc Mon Sep 17 00:00:00 2001 From: c727 Date: Thu, 19 Jul 2018 14:43:46 +0200 Subject: [PATCH 30/34] Lovelace: Make cards[] optional in a view (#5823) --- source/lovelace/views.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/lovelace/views.markdown b/source/lovelace/views.markdown index d1eb9d7e5c1..e25c77b39a4 100644 --- a/source/lovelace/views.markdown +++ b/source/lovelace/views.markdown @@ -26,14 +26,14 @@ views: required: true description: The title or name. type: string - cards: - required: true - description: Cards to display in this view. - type: list badges: required: false description: List of entities IDs to display as badge. type: list + cards: + required: false + description: Cards to display in this view. + type: list id: required: false description: IDs are used in the URL, more info below. From ca9fc46799559a69e3cfd6898255b6b79f6f136f Mon Sep 17 00:00:00 2001 From: Jerad Meisner Date: Thu, 19 Jul 2018 13:40:21 -0700 Subject: [PATCH 31/34] Update picture-elements docs. (#5830) --- source/_lovelace/picture-elements.markdown | 107 +++++++++++++++------ 1 file changed, 75 insertions(+), 32 deletions(-) diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown index 32c77331861..771684130e0 100644 --- a/source/_lovelace/picture-elements.markdown +++ b/source/_lovelace/picture-elements.markdown @@ -40,23 +40,6 @@ title: ## {% linkable_title Elements %} -### {% linkable_title Navigate to other views %} - -{% configuration %} -type: - required: true - description: navigation - type: string -navigation_path: - required: true - description: URL path to another view. - type: string -icon: - required: false - description: Material Design Icon. - type: string -{% endconfiguration %} - ### {% linkable_title State Badge %} {% configuration %} @@ -87,9 +70,21 @@ entity: type: string tap_action: required: false - description: "Set to `toggle` to change state" + description: more-info, toggle, navigate, call-service type: string default: more-info +navigation_path: + required: false + description: Url path to navigate to (e.g. `/lovelace/1`) + type: string +service: + required: false + description: "Service to call (e.g. `light.turn_on`)" + type: string +service_data: + required: false + description: The service data to use. + type: object style: required: true description: Position and style the element using CSS. @@ -107,6 +102,23 @@ entity: required: true description: Entity id type: string +tap_action: + required: false + description: more-info, toggle, navigate, call-service + type: string + default: more-info +navigation_path: + required: false + description: Url path to navigate to (e.g. `/lovelace/1`) + type: string +service: + required: false + description: "Service to call (e.g. `light.turn_on`)" + type: string +service_data: + required: false + description: The service data to use. + type: object style: required: true description: Position and style the element using CSS. @@ -138,20 +150,37 @@ style: type: object {% endconfiguration %} -### {% linkable_title Service Call Icon %} +### {% linkable_title Icon Element %} {% configuration %} type: required: true - description: service-icon + description: icon + type: string +icon: + required: true + description: Icon to display (e.g. `mdi:home`) type: string title: required: false description: Icon tooltip. type: string +entity: + required: false + description: Entity to use for more-info/toggle + type: string +tap_action: + required: false + description: more-info, toggle, navigate, call-service + type: string + default: more-info +navigation_path: + required: false + description: Url path to navigate to (e.g. `/lovelace/1`) + type: string service: - required: true - description: "Service like `light.turn_on`." + required: false + description: "Service to call (e.g. `light.turn_on`)" type: string service_data: required: false @@ -176,9 +205,21 @@ entity: type: string tap_action: required: false - description: none, more-info, toggle, call-service + description: none, more-info, toggle, navigate, call-service type: string default: more-info +navigation_path: + required: false + description: Url path to navigate to (e.g. `/lovelace/1`) + type: string +service: + required: false + description: "Service to call (e.g. `light.turn_on`)" + type: string +service_data: + required: false + description: The service data to use. + type: object image: required: false description: The image to display. @@ -199,14 +240,6 @@ state_filter: required: false description: '[State-based CSS filters](#how-to-use-state_filter)' type: object -service: - required: false - description: Service to call. - type: string -service_data: - required: false - description: The service data to use. - type: object style: required: true description: Position and style the element using CSS. @@ -276,7 +309,16 @@ state_filter: left: 60% service: light.turn_off service_data: - entity_id: group.all_lights + entity_id: group.all_lights + - type: icon + icon: mdi:home + tap_action: navigate + navigation_path: /lovelace/0 + style: + top: 10% + left: 10% + + ``` ## {% linkable_title Images Example %} @@ -302,6 +344,7 @@ state_filter: # Camera, red border, rounded-rectangle - show more-info on click - type: image entity: camera.driveway_camera + camera_image: camera.driveway_camera style: top: 5% left: 10% From f8674d093cb464e268ddf1a7237a5e23dfd98ff3 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 20 Jul 2018 14:39:23 +0200 Subject: [PATCH 32/34] Update blogpost for 74 --- source/_components/auth.markdown | 15 +++ source/_posts/2018-07-21-release-74.markdown | 100 +++++++++++++++--- .../images/blog/2018-07-0.74/components.png | Bin 0 -> 15897 bytes .../images/blog/2018-07-0.74/paulus_guido.jpg | Bin 0 -> 190620 bytes 4 files changed, 100 insertions(+), 15 deletions(-) create mode 100644 source/_components/auth.markdown create mode 100644 source/images/blog/2018-07-0.74/components.png create mode 100644 source/images/blog/2018-07-0.74/paulus_guido.jpg diff --git a/source/_components/auth.markdown b/source/_components/auth.markdown new file mode 100644 index 00000000000..96d0ab055a2 --- /dev/null +++ b/source/_components/auth.markdown @@ -0,0 +1,15 @@ +--- +layout: page +title: "Auth" +description: "This component is responsible for providing the authentication endpoints." +date: 2018-03-19 21:04 +sidebar: true +comments: false +sharing: true +footer: true +logo: home-assistant.png +ha_category: Other +ha_release: 0.73 +--- + +This component creates the endpoints for the authentication system that is built into Home Assistant. There are no configuration options for this component directly as it relies on the auth system in the core. diff --git a/source/_posts/2018-07-21-release-74.markdown b/source/_posts/2018-07-21-release-74.markdown index 96e065f291f..6c78dbe87ac 100644 --- a/source/_posts/2018-07-21-release-74.markdown +++ b/source/_posts/2018-07-21-release-74.markdown @@ -1,8 +1,8 @@ --- layout: post -title: "0.74: TBD - UPDATE DATE" -description: "TBD" -date: 2018-07-16 00:01:00 +title: "0.74: Tuya, Cloudflare DNS, Push Camera and Users UI" +description: "This release builds on top of the previous release, as that is how releases work." +date: 2018-07-20 00:01:00 date_formatted: "July 21, 2018" author: Paulus Schoutsen author_twitter: balloob @@ -11,16 +11,39 @@ categories: Release-Notes og_image: /images/blog/2018-07-0.74/components.png --- +It's time for Home Assistant 0.74! 🎉 + +This week we heard that Guido van Rossum, the founder of Python, is taking a permanent vacation as the leader of Python after being at the helm for almost 30 years. Guido has not been directly involved with Home Assistant, however he created Python and was part of the team that built asyncio, technologies that power the foundation of Home Assistant and what makes us so fast and robust. Under Guido's guidance the Python community has grown out to be very friendly and open. A great inspiration for us and other tech communities out there. Thanks for all you have done Guido! + +

    +Photo of Paulus, founder of Home Assistant, and Guido, founder of Python. +Paulus & Guido at PyCon US 2018 +

    + +Alright, back to Home Assistant. Last release we introduced a tech preview of the new user system. The initial preview still required creating users via the command line. In the last two weeks we've worked hard on adding support for an onboarding wizard and a user management interface. A walkthrough of the new features can be found below. Thanks to [@awarecan] and [@jeradM] for all their work! + +To try it out today, [read these instructions](https://developers.home-assistant.io/blog/2018/07/02/trying-new-auth.html). The user system is still in tech preview. We've moved fast to get were we are today. The next step is that we need to take a step back and look at the system as a whole to make sure it's robust and ready for prime time. + +
    + +
    + +We keep seeing [great examples](https://twitter.com/home_assistant/status/1019579208622845953) of UIs built with Lovelace. Follow us on social media ([FB](https://www.facebook.com/homeassistantio/?ref=bookmarks), [Twitter](https://twitter.com/home_assistant), [G+](https://plus.google.com/+HomeAssistantHomeAutomation)) where we will keep sharing great examples. + +For the Lovelace changes in this release, check out the [changelog](/lovelace/changelog/). To help our development and design teams, we've also introduced a [Lovelace card gallery](https://home-assistant-lovelace-gallery.netlify.com/). + +Thanks to [@c727], [@jeradM] and [@ciotlosm] for leading this effort ❤️ + +I'm happy to announce that this release introduces support for Tuya thanks to [@huangyupeng]. Tuya produces cheap cloud-enabled devices that are sold under a wide variety of brand names across the globe. And now they work with Home Assistant too! + ## {% linkable_title New Platforms %} +- Add Tuya component and switch support ([@huangyupeng] - [#15399]) ([tuya docs]) ([switch.tuya docs]) (new-platform) +- Add Tuya light platform ([@huangyupeng] - [#15444]) ([tuya docs]) ([light.tuya docs]) (new-platform) - Added support for Duke Energy smart meters ([@w1ll1am23] - [#15165]) ([sensor.duke_energy docs]) (new-platform) - Added Push Camera ([@dgomes] - [#15151]) ([camera.push docs]) (new-platform) -- Use IndieAuth for client ID ([@balloob] - [#15369]) ([auth docs]) ([frontend docs]) (new-platform) - Add Cloudflare DNS component. ([@ludeeus] - [#15388]) ([cloudflare docs]) (new-platform) -- Add Tuya component and switch support ([@huangyupeng] - [#15399]) ([tuya docs]) ([switch.tuya docs]) (new-platform) - Add HomematicIP alarm control panel ([@mxworm] - [#15342]) ([alarm_control_panel docs]) ([homematicip_cloud docs]) ([alarm_control_panel.homematicip_cloud docs]) (new-platform) -- User management ([@balloob] - [#15420]) ([auth docs]) ([config docs]) ([http docs]) ([websocket_api docs]) (new-platform) -- Add Tuya light platform ([@huangyupeng] - [#15444]) ([tuya docs]) ([light.tuya docs]) (new-platform) ## {% linkable_title If you need help... %} @@ -33,10 +56,26 @@ Experiencing issues introduced by this release? Please report them in our [issue ## {% linkable_title Breaking Changes %} -- Add support for new API (fixes #14911) ([@fabaff] - [#15279]) ([sensor.fixer docs]) (breaking change) -- Added support to HTTPS URLs on SynologyDSM ([@tchellomello] - [#15270]) ([sensor.synologydsm docs]) (breaking change) -- Ignore some HomeKit devices ([@mjg59] - [#15316]) ([homekit_controller docs]) (breaking change) -- Make LimitlessLED color/temperature attributes mutually exclusive ([@amelchio] - [#15298]) ([light.limitlessled docs]) (breaking change) +- Fixer.io has changed their API and now requires an API key. (fixes #14911) ([@fabaff] - [#15279]) ([sensor.fixer docs]) (breaking change) +- Add support to use HTTPS URLs to SynologyDSM and make it the default ([@tchellomello] - [#15270]) ([sensor.synologydsm docs]) (breaking change) +- HomeKit Controller: Ignore discovering the HomeKit component and HomeKit devices which offer native local API ([@mjg59] - [#15316]) ([homekit_controller docs]) (breaking change) +- LimitlessLED will no longer report `hs_color`/`rgb_color` and `color_temp` simultaneously. ([@amelchio] - [#15298]) ([light.limitlessled docs]) (breaking change) +- IP Ban: Reset failed login attempts counter when login success ([@awarecan] - [#15564]) ([http docs]) ([websocket_api docs]) (breaking change) (beta fix) + +## {% linkable_title Beta Fixes %} + +- Add current user WS command ([@balloob] - [#15485]) ([auth docs]) ([frontend docs]) (beta fix) +- Add onboarding support ([@balloob] - [#15492]) ([frontend docs]) ([onboarding docs]) (beta fix) +- Update HomeKit module code ([@mjg59] - [#15502]) ([homekit_controller docs]) (beta fix) +- Disallow use insecure_example auth provider in configuration.yml ([@awarecan] - [#15504]) (beta fix) +- Added WS endpoint for changing homeassistant password. ([@jeradM] - [#15527]) ([config docs]) (beta fix) +- Don't be so strict client-side ([@balloob] - [#15546]) (beta fix) +- Decouple emulated hue from http server ([@balloob] - [#15530]) ([emulated_hue docs]) (beta fix) +- Allow CORS requests to token endpoint ([@balloob] - [#15519]) ([auth docs]) ([http docs]) (beta fix) +- Upgrade pymysensors to 0.16.0 ([@MartinHjelmare] - [#15554]) ([mysensors docs]) (beta fix) +- Allow auth providers to influence is_active ([@balloob] - [#15557]) (beta fix) +- Remove relative time from state machine ([@balloob] - [#15560]) ([sensor.netatmo docs]) (beta fix) +- Reset failed login attempts counter when login success ([@awarecan] - [#15564]) ([http docs]) ([websocket_api docs]) (breaking change) (beta fix) ## {% linkable_title All changes %} @@ -44,7 +83,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Add new RTS device ([@pepeEL] - [#15116]) ([tahoma docs]) - Add additional parameters to NUT UPS sensor ([@carlchan] - [#15066]) ([sensor.nut docs]) - Fix typos ([@fabaff] - [#15233]) ([watson_iot docs]) -- Use async syntax for cover platforms ([@cdce8p] - [#15230]) ([cover.lutron_caseta docs]) ([cover.mqtt docs]) ([cover.rflink docs]) ([cover.template docs]) ([cover.velbus docs]) ([cover.wink docs]) +- Use async syntax for cover platforms ([@cdce8p] - [#15230]) ([cover.lutron_caseta docs]) ([cover.mqtt docs]) ([cover.rflink docs]) ([cover.template docs]) ([cover.wink docs]) - Upgrade pytest to 3.6.2 ([@scop] - [#15241]) - Add precipitations to Openweathermap daily forecast mode ([@sgttrs] - [#15240]) ([weather.openweathermap docs]) - deconz: proper fix light.turn_off with transition ([@lbschenkel] - [#15227]) ([light.deconz docs]) @@ -84,8 +123,8 @@ Experiencing issues introduced by this release? Please report them in our [issue - Add sound mode support ([@starkillerOG] - [#14910]) ([media_player.denonavr docs]) - Fixed issue 15340. alexa/smart_home module can now skip properties that aren't supported in the current state, eg lowerSetpoint in Heat mode or targetSetpoint in Eco mode for Nest devices. ([@iliketoprogram14] - [#15352]) ([alexa docs]) - Efergy ([@fabaff] - [#15380]) ([sensor.efergy docs]) -- Use IndieAuth for client ID ([@balloob] - [#15369]) ([auth docs]) ([frontend docs]) (new-platform) -- Add httplib2 to h.c.google requirements ([@scop] - [#15385]) ([google docs]) ([calendar.google docs]) +- Use IndieAuth for client ID ([@balloob] - [#15369]) ([auth docs]) ([frontend docs]) +- Add httplib2 to h.c.google requirements ([@scop] - [#15385]) ([calendar.google docs]) - Remove some unneeded pylint import-error disables ([@scop] - [#15386]) ([device_tracker docs]) ([eufy docs]) ([light.eufy docs]) ([switch.eufy docs]) - Update ha-philipsjs to 0.0.5 ([@danielperna84] - [#15378]) ([media_player.philips_js docs]) - Add new voices to Amazon Polly ([@hanzoh] - [#15320]) ([tts docs]) @@ -109,7 +148,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Make typing checks more strict ([@andrey-git] - [#14429]) - upgrade-mypy ([@scop] - [#14904]) - Fix comment formatting ([@balloob] - [#15447]) ([device_tracker docs]) -- User management ([@balloob] - [#15420]) ([auth docs]) ([config docs]) ([http docs]) ([websocket_api docs]) (new-platform) +- User management ([@balloob] - [#15420]) ([auth docs]) ([config docs]) ([http docs]) ([websocket_api docs]) - More typing ([@andrey-git] - [#15449]) - Catch the ValueError if the bulb was in the wrong mode ([@fabaff] - [#15434]) ([light.mystrom docs]) - Upgrade keyring to 13.2.1 ([@fabaff] - [#15453]) @@ -126,6 +165,18 @@ Experiencing issues introduced by this release? Please report them in our [issue - Aware comments ([@balloob] - [#15480]) ([auth docs]) - Fix flux_led turning on with color or effect ([@amelchio] - [#15472]) ([light.flux_led docs]) - Update limitlessled to 1.1.2 ([@amelchio] - [#15481]) ([light.limitlessled docs]) +- Add current user WS command ([@balloob] - [#15485]) ([auth docs]) ([frontend docs]) (beta fix) +- Add onboarding support ([@balloob] - [#15492]) ([frontend docs]) ([onboarding docs]) (beta fix) +- Update HomeKit module code ([@mjg59] - [#15502]) ([homekit_controller docs]) (beta fix) +- Disallow use insecure_example auth provider in configuration.yml ([@awarecan] - [#15504]) (beta fix) +- Added WS endpoint for changing homeassistant password. ([@jeradM] - [#15527]) ([config docs]) (beta fix) +- Don't be so strict client-side ([@balloob] - [#15546]) (beta fix) +- Decouple emulated hue from http server ([@balloob] - [#15530]) ([emulated_hue docs]) (beta fix) +- Allow CORS requests to token endpoint ([@balloob] - [#15519]) ([auth docs]) ([http docs]) (beta fix) +- Upgrade pymysensors to 0.16.0 ([@MartinHjelmare] - [#15554]) ([mysensors docs]) (beta fix) +- Allow auth providers to influence is_active ([@balloob] - [#15557]) (beta fix) +- Remove relative time from state machine ([@balloob] - [#15560]) ([sensor.netatmo docs]) (beta fix) +- Reset failed login attempts counter when login success ([@awarecan] - [#15564]) ([http docs]) ([websocket_api docs]) (breaking change) (beta fix) [#14429]: https://github.com/home-assistant/home-assistant/pull/14429 [#14523]: https://github.com/home-assistant/home-assistant/pull/14523 @@ -213,7 +264,20 @@ Experiencing issues introduced by this release? Please report them in our [issue [#15472]: https://github.com/home-assistant/home-assistant/pull/15472 [#15480]: https://github.com/home-assistant/home-assistant/pull/15480 [#15481]: https://github.com/home-assistant/home-assistant/pull/15481 +[#15485]: https://github.com/home-assistant/home-assistant/pull/15485 +[#15492]: https://github.com/home-assistant/home-assistant/pull/15492 +[#15502]: https://github.com/home-assistant/home-assistant/pull/15502 +[#15504]: https://github.com/home-assistant/home-assistant/pull/15504 +[#15519]: https://github.com/home-assistant/home-assistant/pull/15519 +[#15527]: https://github.com/home-assistant/home-assistant/pull/15527 +[#15530]: https://github.com/home-assistant/home-assistant/pull/15530 +[#15546]: https://github.com/home-assistant/home-assistant/pull/15546 +[#15554]: https://github.com/home-assistant/home-assistant/pull/15554 +[#15557]: https://github.com/home-assistant/home-assistant/pull/15557 +[#15560]: https://github.com/home-assistant/home-assistant/pull/15560 +[#15564]: https://github.com/home-assistant/home-assistant/pull/15564 [@Kane610]: https://github.com/Kane610 +[@MartinHjelmare]: https://github.com/MartinHjelmare [@NoUsername]: https://github.com/NoUsername [@SConaway]: https://github.com/SConaway [@amelchio]: https://github.com/amelchio @@ -232,6 +296,9 @@ Experiencing issues introduced by this release? Please report them in our [issue [@huangyupeng]: https://github.com/huangyupeng [@iliketoprogram14]: https://github.com/iliketoprogram14 [@jantman]: https://github.com/jantman +[@jeradM]: https://github.com/jeradM +[@c727]: https://github.com/c727 +[@ciotlosm]: https://github.com/ciotlosm [@kstaniek]: https://github.com/kstaniek [@lbschenkel]: https://github.com/lbschenkel [@ludeeus]: https://github.com/ludeeus @@ -275,6 +342,7 @@ Experiencing issues introduced by this release? Please report them in our [issue [deconz docs]: /components/deconz/ [device_tracker docs]: /components/device_tracker/ [dialogflow docs]: /components/dialogflow/ +[emulated_hue docs]: /components/emulated_hue/ [enocean docs]: /components/enocean/ [eufy docs]: /components/eufy/ [fritzbox docs]: /components/fritzbox/ @@ -301,6 +369,8 @@ Experiencing issues introduced by this release? Please report them in our [issue [media_player.lg_netcast docs]: /components/media_player.lg_netcast/ [media_player.liveboxplaytv docs]: /components/media_player.liveboxplaytv/ [media_player.philips_js docs]: /components/media_player.philips_js/ +[mysensors docs]: /components/mysensors/ +[onboarding docs]: /components/onboarding/ [prometheus docs]: /components/prometheus/ [sensor.arlo docs]: /components/sensor.arlo/ [sensor.deconz docs]: /components/sensor.deconz/ diff --git a/source/images/blog/2018-07-0.74/components.png b/source/images/blog/2018-07-0.74/components.png new file mode 100644 index 0000000000000000000000000000000000000000..bc3a989c790c5a1c22facafda4e9babbd3b17551 GIT binary patch literal 15897 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 T;`(3y{{R%_)#NH=-i7@yghXPM literal 0 HcmV?d00001 diff --git a/source/images/blog/2018-07-0.74/paulus_guido.jpg b/source/images/blog/2018-07-0.74/paulus_guido.jpg new file mode 100644 index 0000000000000000000000000000000000000000..27fa92ccf75682900ff29a58d2ef12a608bee32a GIT binary patch literal 190620 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
    V?Xif! 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 z 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 literal 0 HcmV?d00001 From 20f4bdd8f5e6045687d8c5b8f6be7c7615ee3990 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 20 Jul 2018 15:00:55 +0200 Subject: [PATCH 33/34] Fixes from Frenck --- source/_posts/2018-07-21-release-74.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_posts/2018-07-21-release-74.markdown b/source/_posts/2018-07-21-release-74.markdown index 6c78dbe87ac..eb7b6e33a0a 100644 --- a/source/_posts/2018-07-21-release-74.markdown +++ b/source/_posts/2018-07-21-release-74.markdown @@ -13,16 +13,16 @@ og_image: /images/blog/2018-07-0.74/components.png It's time for Home Assistant 0.74! 🎉 -This week we heard that Guido van Rossum, the founder of Python, is taking a permanent vacation as the leader of Python after being at the helm for almost 30 years. Guido has not been directly involved with Home Assistant, however he created Python and was part of the team that built asyncio, technologies that power the foundation of Home Assistant and what makes us so fast and robust. Under Guido's guidance the Python community has grown out to be very friendly and open. A great inspiration for us and other tech communities out there. Thanks for all you have done Guido! +This week we heard that Guido van Rossum, the founder of Python, is taking a permanent vacation as the leader of Python after being at the helm for almost 30 years. Guido has not been directly involved with Home Assistant. However he created Python and was part of the team that built asyncio, technologies that power the foundation of Home Assistant and what makes us so fast and robust. Under Guido's guidance, the Python community has grown out to be very friendly and open. A great inspiration for us and other tech communities out there. Thanks for all you have done Guido!

    Photo of Paulus, founder of Home Assistant, and Guido, founder of Python. Paulus & Guido at PyCon US 2018

    -Alright, back to Home Assistant. Last release we introduced a tech preview of the new user system. The initial preview still required creating users via the command line. In the last two weeks we've worked hard on adding support for an onboarding wizard and a user management interface. A walkthrough of the new features can be found below. Thanks to [@awarecan] and [@jeradM] for all their work! +All right, back to Home Assistant. The last release introduced a tech preview of the new user system. The initial preview still required creating users via the command line. In the last two weeks, we've worked hard on adding support for an onboarding wizard and a user management interface. A walkthrough of the new features can be found below. Thanks to [@awarecan] and [@jeradM] for all their work! -To try it out today, [read these instructions](https://developers.home-assistant.io/blog/2018/07/02/trying-new-auth.html). The user system is still in tech preview. We've moved fast to get were we are today. The next step is that we need to take a step back and look at the system as a whole to make sure it's robust and ready for prime time. +To try it out today, [read these instructions](https://developers.home-assistant.io/blog/2018/07/02/trying-new-auth.html). The user system is still in tech preview. We've moved fast to get where we are today. The next step is that we need to take a step back and look at the system as a whole to make sure it's robust and ready for prime time.
    @@ -34,7 +34,7 @@ For the Lovelace changes in this release, check out the [changelog](/lovelace/ch Thanks to [@c727], [@jeradM] and [@ciotlosm] for leading this effort ❤️ -I'm happy to announce that this release introduces support for Tuya thanks to [@huangyupeng]. Tuya produces cheap cloud-enabled devices that are sold under a wide variety of brand names across the globe. And now they work with Home Assistant too! +I'm happy to announce that this release introduces support for Tuya thanks to [@huangyupeng]. Tuya produces cheap cloud-enabled devices that are sold under a wide variety of brand names across the globe, and now they work with Home Assistant too! ## {% linkable_title New Platforms %} From 4f10821363820c8dc6ac46a18ae41396339958b9 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 20 Jul 2018 15:10:22 +0200 Subject: [PATCH 34/34] Update date --- _config.yml | 2 +- source/_posts/2018-07-21-release-74.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 3ea453764b2..77420e296da 100644 --- a/_config.yml +++ b/_config.yml @@ -143,7 +143,7 @@ social: current_major_version: 0 current_minor_version: 74 current_patch_version: 0 -date_released: 2018-07-21 +date_released: 2018-07-20 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_posts/2018-07-21-release-74.markdown b/source/_posts/2018-07-21-release-74.markdown index eb7b6e33a0a..261bc14f2f2 100644 --- a/source/_posts/2018-07-21-release-74.markdown +++ b/source/_posts/2018-07-21-release-74.markdown @@ -3,7 +3,7 @@ layout: post title: "0.74: Tuya, Cloudflare DNS, Push Camera and Users UI" description: "This release builds on top of the previous release, as that is how releases work." date: 2018-07-20 00:01:00 -date_formatted: "July 21, 2018" +date_formatted: "July 20, 2018" author: Paulus Schoutsen author_twitter: balloob comments: true