From 0ce3160e297c4f6281d275ecf18f13e456bda648 Mon Sep 17 00:00:00 2001 From: Alok Saboo Date: Fri, 26 Oct 2018 15:59:45 -0400 Subject: [PATCH 01/59] Fix Thermostat cards (#7128) --- source/_lovelace/thermostat.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_lovelace/thermostat.markdown b/source/_lovelace/thermostat.markdown index f5a3797d544..3ae760f8d4c 100644 --- a/source/_lovelace/thermostat.markdown +++ b/source/_lovelace/thermostat.markdown @@ -31,6 +31,6 @@ entity: ## {% linkable_title Example %} ```yaml -- type: sensor +- type: thermostat entity: climate.nest ``` From 98a581743de2c3125beb64f5b476a09276eb52c3 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 26 Oct 2018 22:03:02 +0200 Subject: [PATCH 02/59] Update release date --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 0b462885387..75fb0903e4c 100644 --- a/_config.yml +++ b/_config.yml @@ -143,7 +143,7 @@ social: current_major_version: 0 current_minor_version: 81 current_patch_version: 0 -date_released: 2018-10-29 +date_released: 2018-10-26 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. From 26924e4d173cf4a408515262dd0406e47e6f7fb9 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 26 Oct 2018 23:41:51 +0200 Subject: [PATCH 03/59] remove bad guage --- source/_lovelace/guage.markdown | 100 -------------------------------- 1 file changed, 100 deletions(-) delete mode 100644 source/_lovelace/guage.markdown diff --git a/source/_lovelace/guage.markdown b/source/_lovelace/guage.markdown deleted file mode 100644 index 32528d7371f..00000000000 --- a/source/_lovelace/guage.markdown +++ /dev/null @@ -1,100 +0,0 @@ ---- -layout: page -title: "Gauge Card" -sidebar_label: Gauge -description: "The Gauge card allows you to display sensor information visually" -date: 2018-10-11 10:28 +00:00 -sidebar: true -comments: false -sharing: true -footer: true ---- - -Gauge card is a basic card that allows visually seeing sensor data. - -

-Screenshot of the gauge card -Screenshot of the gauge card. -

- -```yaml -- type: gauge - entity: sensor.cpu_usuage -``` - -{% configuration %} -type: - required: true - description: gauge - type: string -entity: - required: true - description: "Entity id to show" - type: string -title: - required: false - description: Title of Gauge Data - type: string -unit_of_measurement: - required: false - description: Unit of Measurement given to data - type: string - default: "Unit Of Measurement given by entity" -min: - required: false - description: Minimum value for graph - type: integer - default: 0 -max: - required: false - description: Maximum value for graph - type: integer - default: 100 -severity: - required: false - description: Allows setting of colors for different numbers - type: map - keys: - green: - required: true - description: Value from which to start green color - type: integer - yellow: - required: true - description: Value from which to start yellow color - type: integer - red: - required: true - description: Value from which to start red color - type: integer -{% endconfiguration %} - -## {% linkable_title Examples %} - -Title and Unit of Measurement Example: - -```yaml -- type: gauge - title: CPU Usuage - unit_of_measurement: '%' - entity: sensor.cpu_usuage -``` - -

-Screenshot of the gauge card with custom title and unit of measurement -Screenshot of the gauge card with custom title and unit of measurement. -

- -Define the severity map: - -```yaml -- type: gauge - title: With Severity - title: CPU Usuage - unit_of_measurement: '%' - entity: sensor.cpu_usuage - severity: - green: 0 - yellow: 45 - red: 85 -``` From 4834e4f471f8567fbcfb80f670abbfdd8b50b094 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 27 Oct 2018 12:56:59 +0100 Subject: [PATCH 04/59] Adding columns back in MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I know this was merged in https://github.com/home-assistant/home-assistant.io/pull/7014 - but it seems to be missing šŸ¤·ā€ā™‚ļø --- source/_lovelace/glance.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown index ce35cb5f6d9..32611e47f59 100644 --- a/source/_lovelace/glance.markdown +++ b/source/_lovelace/glance.markdown @@ -44,6 +44,10 @@ theme: required: false description: "Set to any theme within `themes.yaml`" type: string +columns: + required: false + description: Number of columns to show. If not specified the number will be set automatically. + type: integer {% endconfiguration %} ## {% linkable_title Options For Entities %} From a9cba671a1eaf769a3de5f9f18100f18a9b54bcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Sat, 27 Oct 2018 14:59:01 +0200 Subject: [PATCH 05/59] Added note about entity_id and homeassistant.update_entity --- source/_components/sensor.template.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index eb5a34a6acb..78926760a31 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -16,6 +16,10 @@ ha_qa_scale: internal The `template` platform supports sensors which break out `state_attributes` from other entities. +

+If you do not supply an `entity_id` in the configuration you will need to run the service `homeassistant.update_entity` to update the sensor. +

+ ## {% linkable_title Configuration %} To enable Template Sensors in your installation, add the following to your `configuration.yaml` file: From 44ec6aeaca2d3c87f168adf344e9d783cde61e96 Mon Sep 17 00:00:00 2001 From: Adam Mills Date: Sat, 27 Oct 2018 11:56:49 -0400 Subject: [PATCH 06/59] Remove incorrect truth table --- source/_docs/scripts/conditions.markdown | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown index 0f30a71d0ba..ed9c4b8782a 100644 --- a/source/_docs/scripts/conditions.markdown +++ b/source/_docs/scripts/conditions.markdown @@ -139,23 +139,6 @@ condition: before: sunrise ``` -Here is a truth table to clarify the parameters with and without offset: - -| command | night | at sunrise | daytime | at sunset | -| ---------------------------------- | ------------ |:-----------:| ------- |:----------:| -| `after: sunset` | True | ⇒ | False | ⇒ | -| + `after_offset: "01:00:00"` | True | ⇒ | False | **+1h** | -| + `after_offset: "-01:00:00"` | True | ⇒ | False | **-1h** | -| `before: sunset` | False | ⇒ | True | ⇒ | -| + `before_offset: "01:00:00"` | False | ⇒ | True | **+1h** | -| + `before_offset: "-01:00:00"` | False | ⇒ | True | **-1h** | -| `after: sunrise` | False | ⇒ | True | ⇒ | -| + `after_offset: "01:00:00"` | False | **+1h** | True | ⇒ | -| + `after_offset: "-01:00:00"` | False | **-1h** | True | ⇒ | -| `before: sunrise` | True | ⇒ | False | ⇒ | -| + `before_offset: "01:00:00"` | True | **+1h** | False | ⇒ | -| + `before_offset: "-01:00:00"` | True | **-1h** | False | ⇒ | - ### {% linkable_title Template condition %} The template condition will test if the [given template][template] renders a value equal to true. This is achieved by having the template result in a true boolean expression or by having the template render 'true'. From 1c9cb7583c47f2071c76f8583586c765e40a1f2e Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Sat, 27 Oct 2018 12:32:21 -0500 Subject: [PATCH 07/59] Update split configuration explanation --- source/lovelace/tips.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/lovelace/tips.markdown b/source/lovelace/tips.markdown index f4cf41ec3c2..2c8ef8cdfe8 100644 --- a/source/lovelace/tips.markdown +++ b/source/lovelace/tips.markdown @@ -36,9 +36,9 @@ you with the ability to split your Lovelace configuration into multiple files. The [Lovelace Jinja2 Script][lovelace-jinja] by [@skalavala] is a simple Jinja2 script that you run in the template editor to generate lovelace configuration based on the entities that are already setup.

- Split configuration is currently possible directly in Lovelace, but it - is expected to be removed in the near future due to fact that Home Assistant - will be writing directly to the `ui-lovelace.yaml` file. + Split configuration is no longer possible directly in Lovelace, + due to fact that Home Assistant writes directly to the `ui-lovelace.yaml` file. + Use one of the above generators if you would like to contintue to have such functionality.

## {% linkable_title Tips and Tricks %} From 98f2d736458870e7fc115c82e373f124e4a753fa Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sat, 27 Oct 2018 22:53:57 +0200 Subject: [PATCH 08/59] Update Google travel time sensor component configuration (#7104) --- .../sensor.google_travel_time.markdown | 69 ++++++++++++++++--- 1 file changed, 58 insertions(+), 11 deletions(-) diff --git a/source/_components/sensor.google_travel_time.markdown b/source/_components/sensor.google_travel_time.markdown index 9b7e8046248..b9d1c5b5596 100644 --- a/source/_components/sensor.google_travel_time.markdown +++ b/source/_components/sensor.google_travel_time.markdown @@ -36,17 +36,64 @@ sensor: destination: Paris, France ``` -Configuration variables: - -- **api_key** (*Required*): Your application's API key (get one by following the instructions above). This key identifies your application for purposes of quota management. -- **origin** (*Required*): The starting point for calculating travel distance and time. You can supply one or more locations separated by the pipe character, in the form of an address, latitude/longitude coordinates, or a [Google place ID](https://developers.google.com/places/place-id). When specifying the location using a Google place ID, the ID must be prefixed with `place_id:`. -- **destination** (*Required*): One or more locations to use as the finishing point for calculating travel distance and time. The options for the destinations parameter are the same as for the origins parameter, described above. -- **name** (*Optional*): A name to display on the sensor. The default is "Google Travel Time - [Travel Mode]" where [Travel Mode] is the mode set in options for the sensor (see option "mode" below). -- **options** (*Optional*): A dictionary containing parameters to add to all requests to the Distance Matrix API. A full listing of available options can be found [here](https://developers.google.com/maps/documentation/distance-matrix/intro#RequestParameters). - - **mode** (*Optional*): The travel mode used to calculate the directions/time. Can be `driving` (*Default*), `bicycling`, `transit` or `walking`. - - **departure_time** (*Optional*): Can be `now`, a Unix timestamp, or a 24 hour time string like `08:00:00`. If you provide a time string, it will be combined with the current date to get travel time for that moment. - - **arrival_time** (*Optional*): See notes above for `departure_time`. `arrival_time` cannot be `now`, only a Unix timestamp or time string. You can not provide both `departure_time` and `arrival_time`. If you do provide both, `arrival_time` will be removed from the request. - - **units** (*Optional*): Set the unit for the sensor in metric or imperial, otherwise the default unit the same as the unit set in `unit_system:`. +{% configuration %} +api_key: + description: Your application's API key (get one by following the instructions above). This key identifies your application for purposes of quota management. + required: true + type: string +origin: + description: "The starting point for calculating travel distance and time. You can supply one or more locations separated by the pipe character, in the form of an address, latitude/longitude coordinates, or a [Google place ID](https://developers.google.com/places/place-id). When specifying the location using a Google place ID, the ID must be prefixed with `place_id:`." + required: true + type: string +destination: + description: One or more locations to use as the finishing point for calculating travel distance and time. The options for the destinations parameter are the same as for the origins parameter, described above. + required: true + type: string +name: + description: A name to display on the sensor. The default is "Google Travel Time - [Travel Mode]" where [Travel Mode] is the mode set in options for the sensor (see option "mode" below). + required: false + type: string +travel_mode: + description: "You can choose between: `driving`, `walking`, `bicycling` or `transit`." + required: false + type: string +options: + description: "A dictionary containing parameters to add to all requests to the Distance Matrix API. A full listing of available options can be found [here](https://developers.google.com/maps/documentation/distance-matrix/intro#RequestParameters)." + required: false + type: list + keys: + mode: + description: The travel mode used to calculate the directions/time. Can be `driving`, `bicycling`, `transit` or `walking`. + required: false + default: driving + type: string + language: + description: "You can choose from a lot of languages: `ar`, `bg`, `bn`, `ca`, `cs`, `da`, `de`, `el`, `en`, `es`, `eu`, `fa`, `fi`, `fr`, `gl`, `gu`, `hi`, `hr`, `hu`, `id`, `it`, `iw`, `ja`, `kn`, `ko`, `lt`, `lv`, `ml`, `mr`, `nl`, `no`, `pl`, `pt`, `pt-BR`, `pt-PT`, `ro`, `ru`, `sk`, `sl`, `sr`, `sv`, `ta`, `te`, `th`, `tl`, `tr`, `uk`, `vi`, `zh-CN` and `zh-TW`." + required: false + type: string + departure_time: + description: Can be `now`, a Unix timestamp, or a 24 hour time string like `08:00:00`. If you provide a time string, it will be combined with the current date to get travel time for that moment. + required: exclusive + type: [time, string] + arrival_time: + description: See notes above for `departure_time`. `arrival_time` cannot be `now`, only a Unix timestamp or time string. You can not provide both `departure_time` and `arrival_time`. If you do provide both, `arrival_time` will be removed from the request. + required: exclusive + type: [time, string] + avoid: + description: "Indicate what google should avoid when calculating the travel time, you can choose from: `tolls`, `highways`, `ferries`, `indoor`." + required: false + type: string + transit_model: + description: "If you opted for `transit` at `travel_mode`, you can use this variable to specify which public transport you want to use: `bus`, `subway`, `train`, `tram` or `rail`." + transit_routing_preference: + description: "for the travel time calculation for public transport you can also specify the preference for: `less_walking` or `fewer_transfers`." + required: false + type: string + units: + description: "Set the unit for the sensor in metric or imperial, otherwise the default unit the same as the unit set in `unit_system:`." + required: false + type: string +{% endconfiguration %} ## {% linkable_title Dynamic Configuration %} From dc59c1364c3ede49f1938b387c5740ad21b5b2ab Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Sat, 27 Oct 2018 22:58:23 +0200 Subject: [PATCH 09/59] Update sensor.influxdb.markdown configuration (#7120) * Update sensor.influxdb.markdown * Update sensor.influxdb.markdown --- source/_components/sensor.influxdb.markdown | 87 +++++++++++++++++---- 1 file changed, 70 insertions(+), 17 deletions(-) diff --git a/source/_components/sensor.influxdb.markdown b/source/_components/sensor.influxdb.markdown index 66680379f7d..2e054847848 100644 --- a/source/_components/sensor.influxdb.markdown +++ b/source/_components/sensor.influxdb.markdown @@ -27,24 +27,77 @@ sensor: measurement: '"°C"' ``` +{% configuration %} +host: + description: IP address of your database host, e.g. 192.168.1.10. + required: false + default: localhost + type: string +port: + description: Port to use. + required: false + default: 8086 + type: string +username: + description: The username of the database user. + required: false + type: string +password: + description: The password for the database user account. + required: false + type: string +ssl: + description: Use https instead of http to connect. + required: false + default: false + type: boolean +verify_ssl: + description: Verify SSL certificate for https request. + required: false + default: false + type: boolean +queries: + description: List of queries. + required: true + type: list + keys: + name: + description: The name of the sensor. + required: true + type: string + unit_of_measurement: + description: Defines the units of measurement of the sensor, if any. + required: false + type: string + measurement: + description: Defines the measurement name in InfluxDB (the FROM clause of the query). + required: true + type: string + where: + description: Defines the data selection clause (the where clause of the query). + required: true + type: string + value_template: + description: Defines a [template](/docs/configuration/templating/#processing incoming data) to extract a value from the payload. + required: false + type: template + database: + description: Name of the database to use. + required: false + default: home_assistant + type: string + group_function: + description: The group function to be used. + required: false + default: mean + type: string + field: + description: The field name to select. + required: true + type: string + default: value +{% endconfiguration %} -Configuration variables for the server: - -- **host** (*Optional*): IP address of your database host, eg. 192.168.1.10. Defaults to `localhost`. -- **port** (*Optional*): Port to use. Defaults to 8086. -- **username** (*Optional*): The username of the database user. -- **password** (*Optional*): The password for the database user account. -- **ssl** (*Optional*): Use `https` instead of `http` to connect. Defaults to `false`. -- **verify_ssl** (*Optional*): Verify SSL certificate for `https` request. Defaults to `false`. -- **queries** array (*Required*): List of queries - - **name** (*Required*): The name of the sensor. - - **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any. - - **measurement** (*Required*): Defines the measurement name in InfluxDB (the from clause of the query). - - **where** (*Required*): Defines the data selection clause (the where clause of the query). - - **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. - - **database** (*Optional*): Name of the database to use. Defaults to `home_assistant`. - - **group_function** (*Optional*): The group function to be used. Defaults to `mean`. - - **field** (*Optional*): The field name to select. Defaults to value. ## {% linkable_title Examples %} From 2a83a2dfcfd60f6513edab01dee7f17d79ae417c Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sat, 27 Oct 2018 22:17:01 +0100 Subject: [PATCH 10/59] Adding time interval (#7173) Somewhere it got lost that the frequency and interval are seconds ;) --- source/_components/switch.flux.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/switch.flux.markdown b/source/_components/switch.flux.markdown index 267173689a1..dccaf1ba957 100644 --- a/source/_components/switch.flux.markdown +++ b/source/_components/switch.flux.markdown @@ -81,12 +81,12 @@ mode: default: xy type: string transition: - description: Transition time for the light changes (high values may not be supported by all light models). + description: Transition time in seconds for the light changes (high values may not be supported by all light models). required: false default: 30 type: integer interval: - description: Frequency at which the lights should be updated. + description: Frequency in seconds at which the lights should be updated. required: false default: 30 type: integer From 526e10b3cd6ed1356f95e9703e40858f6f3ce41f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 28 Oct 2018 00:32:28 +0200 Subject: [PATCH 11/59] Update HassOS 1.12 --- source/hassio/installation.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index c06fac4ef3d..ce98c781af6 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -92,14 +92,14 @@ A detailed guide about running Hass.io as a virtual machine is available in the [etcher]: https://etcher.io/ [Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md [hassos-network]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md -[pi0-w]: https://github.com/home-assistant/hassos/releases/download/1.11/hassos_rpi0-w-1.11.img.gz -[pi1]: https://github.com/home-assistant/hassos/releases/download/1.11/hassos_rpi-1.11.img.gz -[pi2]: https://github.com/home-assistant/hassos/releases/download/1.11/hassos_rpi2-1.11.img.gz -[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.11/hassos_rpi3-1.11.img.gz -[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.11/hassos_rpi3-64-1.11.img.gz +[pi0-w]: https://github.com/home-assistant/hassos/releases/download/1.12/hassos_rpi0-w-1.12.img.gz +[pi1]: https://github.com/home-assistant/hassos/releases/download/1.12/hassos_rpi-1.12.img.gz +[pi2]: https://github.com/home-assistant/hassos/releases/download/1.12/hassos_rpi2-1.12.img.gz +[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.12/hassos_rpi3-1.12.img.gz +[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.12/hassos_rpi3-64-1.12.img.gz [tinker]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_tinker-2.2.img.gz [odroid-c2]: https://github.com/home-assistant/hassos/releases/download/2.2/hassos_odroid-c2-2.2.img.gz -[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.11/hassos_ova-1.11.vmdk +[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.12/hassos_ova-1.12.vmdk [linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio [local]: http://hassio.local:8123 [samba]: /addons/samba/ From 68b915d69bd48bf7782f12ec863e95459f5a9987 Mon Sep 17 00:00:00 2001 From: Lindsay Ward Date: Sun, 28 Oct 2018 08:37:49 +1000 Subject: [PATCH 12/59] Update MySensors component doc (#7150) * Update MySensors component documentation * Change mention of config entries to avoid confusion --- source/_components/mysensors.markdown | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/_components/mysensors.markdown b/source/_components/mysensors.markdown index 43f0a85fefd..89059d2a971 100644 --- a/source/_components/mysensors.markdown +++ b/source/_components/mysensors.markdown @@ -13,11 +13,11 @@ featured: true ha_iot_class: "Local Push" --- -The [MySensors](https://www.mysensors.org) project combines Arduino boards with NRF24L01 radio boards to build sensor networks. The component will automatically add all available devices to Home Assistant, after [presentation](#presentation) is done. +The [MySensors](https://www.mysensors.org) project combines devices like Arduino, ESP8266, Raspberry Pi, NRF24L01+ and RFM69 to build affordable sensor networks. This component will automatically add all available devices to Home Assistant, after [presentation](#presentation) is done. That is, you do not need to add anything to your configuration for the devices for them to be added. Go to the **states** section of the developer tools to find the devices that have been identified. ### {% linkable_title Configuration %} -Integrate your Serial, Ethernet or MQTT Client MySensors Gateway by adding the following to your `configuration.yaml` file: +Integrate your Serial, Ethernet (LAN) or MQTT MySensors Gateway by adding the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -62,7 +62,7 @@ mysensors: type: string default: '' nodes: - description: A mapping of node ids to node settings, eg custom name. + description: A mapping of node ids to node settings, e.g. custom name. required: false type: map keys: @@ -93,7 +93,7 @@ mysensors: {% endconfiguration %}

-Not all features of MySensors 2.0 are yet supported by Home Assistant. As more features are added, they will be described here in the documentation. Go to the MySensors platform pages under "related components" to see what message types are currently supported. +Not all features of MySensors 2.0 are supported by Home Assistant yet. As more features are added, they will be described here in the documentation. Go to the MySensors platform pages under "related components" to see what message types are currently supported.

If you are using an original Arduino as a serial gateway, the port will be named `ttyACM*`. The exact number can be determined with the command shown below. @@ -102,7 +102,7 @@ If you are using an original Arduino as a serial gateway, the port will be named $ ls /dev/ttyACM* ``` -If using the MQTT gateway, you also need to have the [MQTT component](/components/mqtt/) configured in Home Assistant. See below for a minimum MQTT configuration: +If you are using the MQTT gateway, you also need to have the [MQTT component](/components/mqtt/) configured in Home Assistant. See below for a minimum MQTT configuration: ```yaml mqtt: @@ -152,8 +152,8 @@ Present a MySensors sensor or actuator, by following these steps: 3. Start Home Assistant. 4. Write and upload your MySensors sketch to the sensor. Make sure you: - Send sketch name. - - Present the sensor's S_TYPE. - - Send at least one initial value per V_TYPE. In version 2.0 of MySensors, this has to be done in the loop function. See below for an example in 2.0 of how to make sure the initial value has been received by the controller. + - Present the sensor's `S_TYPE`. + - Send at least one initial value per `V_TYPE`. In version 2.0 of MySensors, this has to be done in the loop function. See below for an example in 2.0 of how to make sure the initial value has been received by the controller. 5. Start the sensor. ```cpp @@ -254,11 +254,11 @@ logger: homeassistant.components.mysensors: debug mysensors: debug ``` -The log should inform you of messages that failed validation or if a child value is missing that is required for a certain child type. Note that the log will log all possible combinations of platforms for a child type that failed validation. It is normal to see some platforms fail validation if the child type supports multiple platforms and your sketch doesn't send all corresponding value types. Eg. the S_BARO child type supports both V_PRESSURE and V_FORECAST value types. If you only send a V_PRESSURE value, an S_BARO entity with V_PRESSURE value will be set up for the sensor platform. However, the log will inform of a sensor platform that failed validation due to missing V_FORECAST value type for the S_BARO child. Home Assistant will log failed validations of child values at warning level if one required value type for a platform has been received, but other required value types are missing. Most failed validations are logged at debug level. +The log should inform you of messages that failed validation or if a child value is missing that is required for a certain child type. Note that the log will log all possible combinations of platforms for a child type that failed validation. It is normal to see some platforms fail validation if the child type supports multiple platforms and your sketch doesn't send all corresponding value types. Eg. the `S_BARO` child type supports both `V_PRESSURE` and `V_FORECAST` value types. If you only send a `V_PRESSURE` value, an `S_BARO` entity with `V_PRESSURE` value will be set up for the sensor platform. However, the log will inform of a sensor platform that failed validation due to missing `V_FORECAST` value type for the `S_BARO` child. Home Assistant will log failed validations of child values at warning level if one required value type for a platform has been received, but other required value types are missing. Most failed validations are logged at debug level. Message validation was introduced in version 0.52 of Home Assistant. -Visit the [library api][MySensors library api] of MySensors for more information. +Visit the [library API][MySensors library api] of MySensors for more information. -[MySensors library api]: http://www.mysensors.org/download +[MySensors library API]: http://www.mysensors.org/download From 698092a0c4db687ec9fb584f09e406f2c9178dda Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 28 Oct 2018 08:38:45 +0100 Subject: [PATCH 13/59] Release 0.81.1 --- _config.yml | 6 +++--- source/_posts/2018-10-29-release-81.markdown | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/_config.yml b/_config.yml index 75fb0903e4c..ca5fd6f7ee1 100644 --- a/_config.yml +++ b/_config.yml @@ -142,13 +142,13 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 81 -current_patch_version: 0 -date_released: 2018-10-26 +current_patch_version: 1 +date_released: 2018-10-28 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. # Major release: -patch_version_notes: "#" +patch_version_notes: "#release-0811---october-28" # Minor release (Example #release-0431---april-25): # Date we moved to Discourse for comments diff --git a/source/_posts/2018-10-29-release-81.markdown b/source/_posts/2018-10-29-release-81.markdown index d9ae7444a21..994528722b8 100644 --- a/source/_posts/2018-10-29-release-81.markdown +++ b/source/_posts/2018-10-29-release-81.markdown @@ -60,6 +60,24 @@ Other things to be aware of: - Add LogBook support to HomeKit ([@ehendrix23] - [#17180]) ([homekit docs]) ([logbook docs]) (new-feature) - Add water_heater support to HomeKit ([@cdce8p] - [#17614]) ([homekit docs]) (new-feature) +## {% linkable_title Release 0.81.1 - October 27 %} + +- Switch to using Client from twilio.rest rather than the deleted TwilioRestClient ([@rohankapoorcom] - [#17885]) ([twilio docs]) +- Fixes an issue with OpenUV config import failing ([@bachya] - [#17831]) ([openuv docs]) (breaking change) +- Allow a list ofr update entity ([@balloob] - [#17860]) +- Move migrate to separate WS command ([@balloob] - [#17890]) ([lovelace docs]) + +[#17831]: https://github.com/home-assistant/home-assistant/pull/17831 +[#17860]: https://github.com/home-assistant/home-assistant/pull/17860 +[#17885]: https://github.com/home-assistant/home-assistant/pull/17885 +[#17890]: https://github.com/home-assistant/home-assistant/pull/17890 +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@rohankapoorcom]: https://github.com/rohankapoorcom +[lovelace docs]: /components/lovelace/ +[openuv docs]: /components/openuv/ +[twilio docs]: /components/twilio/ + ## {% linkable_title If you need help... %} ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks. From 27eff17586a27b91db2c7a9de83a8b4e3f8b9217 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Sun, 28 Oct 2018 02:45:32 -0500 Subject: [PATCH 14/59] 0.81.0 changelog additions (#7169) * 0.81.0 changelog additions * Clarification on custom UI support --- source/lovelace/changelog.markdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index f1ecc65e22d..18573daa384 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -8,6 +8,16 @@ comments: false sharing: true footer: true --- +## {% linkable_title Changes in 0.81.0 %} +- šŸ“£ New card type: `alarm-panel` ā¤ļø +- šŸ“£ New card type: `thermostat` ā¤ļø +- šŸ“£ New card type: `entity-button` ā¤ļø +- šŸ“£ [glance card]: can be themed +- šŸ“£ [glance card]: define columns within +- šŸ“£ [entity button]: can be themed +- Long press is now supported +- Update to allow the use of Custom UI. If you run into issues please disable Custom UI and test before reporting them. If the issue goes away without Custom UI please report this to the Custom UI developer as this is not officially supported. + ## {% linkable_title Changes in 0.80.0 %} - šŸ“£ New card type: `sensor` ā¤ļø - šŸ“£ New card type: `gauge` ā¤ļø From d5431c8e4656947f19769a81190e661707e9efdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ab=C3=ADlio=20Costa?= Date: Sun, 28 Oct 2018 11:00:38 +0000 Subject: [PATCH 15/59] change generic camera icon to HA (#7190) --- source/_components/camera.generic.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/camera.generic.markdown b/source/_components/camera.generic.markdown index 49349dc4605..013a6bb8c06 100644 --- a/source/_components/camera.generic.markdown +++ b/source/_components/camera.generic.markdown @@ -8,7 +8,7 @@ comments: false sharing: true footer: true ha_category: Camera -logo: camcorder.png +logo: home-assistant.png ha_release: pre 0.7 ha_iot_class: "depends" --- From 3456c3d89a6652a379a8e7185352c417bbd44390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ab=C3=ADlio=20Costa?= Date: Sun, 28 Oct 2018 11:01:02 +0000 Subject: [PATCH 16/59] change mpeg camera icon to HA (#7189) --- source/_components/camera.mjpeg.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/camera.mjpeg.markdown b/source/_components/camera.mjpeg.markdown index d4195ca7b54..48ef4767b18 100644 --- a/source/_components/camera.mjpeg.markdown +++ b/source/_components/camera.mjpeg.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -logo: camcorder.png +logo: home-assistant.png ha_category: Camera ha_release: pre 0.7 ha_iot_class: "depends" From 189aa0ca27252d738cd68789a9a4a2c4fb7e3863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ab=C3=ADlio=20Costa?= Date: Sun, 28 Oct 2018 11:01:32 +0000 Subject: [PATCH 17/59] change generic thermostat icon to HA (#7188) --- source/_components/climate.generic_thermostat.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/climate.generic_thermostat.markdown b/source/_components/climate.generic_thermostat.markdown index a6206bab1df..ee522ae27ed 100644 --- a/source/_components/climate.generic_thermostat.markdown +++ b/source/_components/climate.generic_thermostat.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -logo: heat-control.png +logo: home-assistant.png ha_category: Climate ha_release: pre 0.7 ha_iot_class: "Local Polling" From 6977733955a111ef536b65fbcba581e04ab9f4d7 Mon Sep 17 00:00:00 2001 From: LavaGlass Date: Sun, 28 Oct 2018 21:32:41 +1030 Subject: [PATCH 18/59] Added Static IP guidance (#7182) * Added Static IP guidance Added guidance on setting up static IP, changed file name to working one. * Update index.markdown --- source/getting-started/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index b92842ad5a6..bf7b9db549e 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -39,7 +39,7 @@ We will need a few things to get started with installing Home Assistant. For bes 1. Put the SD card in your SD card reader. 1. Open Etcher, select the Hass.io image and flash it to the SD card. -1. WiFi setup only: Format a USB-Stick with name `CONFIG` and copy one of [the examples] to the file `network/hassos-wifi`. +1. WiFi and Static IP setup only: Format a USB-Stick with name `CONFIG`, create the folder `network` and create the file `my-network`. Copy one of [the examples] to the `my-network` file. 1. Unmount the SD card and remove it from your SD card reader. 1. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too. 1. Connect your Raspberry Pi to the power supply, so it turns on. From d7e060efb3ee6e12e9dd136254c45cd3ceeffa7d Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:03:40 +0100 Subject: [PATCH 19/59] Fix Hipchat config variable default (#7181) * Fix Hipchat config variable default * Better layout for first note --- source/_components/notify.hipchat.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_components/notify.hipchat.markdown b/source/_components/notify.hipchat.markdown index 883fbcbf491..b4f81a989ce 100644 --- a/source/_components/notify.hipchat.markdown +++ b/source/_components/notify.hipchat.markdown @@ -14,7 +14,8 @@ ha_release: "0.52"

This component will be removed from Home Assistant in the future. Slack has taken over Hipchat and Stride and will therefore stop these platforms. For more information: announcement. - +
+
Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch.

@@ -58,7 +59,7 @@ notify: default: false type: boolean format: - description: Setting format will override the default message format. Default is 'text'. Valid options are 'text' and 'html'. + description: Setting format will override the default message format. Valid options are 'text' and 'html'. required: false default: text type: string From 71d532ef1fc887b77d3237d37202d9298b5820af Mon Sep 17 00:00:00 2001 From: Matt N Date: Sun, 28 Oct 2018 04:07:42 -0700 Subject: [PATCH 20/59] Firefox 63+ supports custom elements and shadow DOM by default (#7176) --- source/lovelace/index.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/lovelace/index.markdown b/source/lovelace/index.markdown index 5bb15411593..551269287e7 100644 --- a/source/lovelace/index.markdown +++ b/source/lovelace/index.markdown @@ -28,7 +28,7 @@ The Lovelace UI is:

-If you're not using Chrome, please be sure to [read the FAQ](/lovelace/#faq) below. +If you're not using Firefox 63+ or Chrome, please be sure to [read the FAQ](/lovelace/#faq) below.

## {% linkable_title How it works %} @@ -133,7 +133,7 @@ This is the very very early version aimed at gathering feedback. Discussion and ### {% linkable_title I am running Firefox but, custom cards like gauge-card look bad or don't load at all. How do I fix this? %} -This is probably because your version of Firefox doesn't have custom components supported or enabled. Please set to `true` in your `about:config` the following settings: `dom.webcomponents.customelements.enabled` and `dom.webcomponents.shadowdom.enabled` +This is probably because your version of Firefox doesn't have custom components supported or enabled. Please upgrade to version 63 or higher, otherwise set `dom.webcomponents.customelements.enabled` and `dom.webcomponents.shadowdom.enabled` to `true` in `about:config`. ### {% linkable_title Custom cards don't load on my iOS device? %} From 3dc0126c312f1f9cd621b68e8c9476c6571dd57b Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 28 Oct 2018 11:09:36 +0000 Subject: [PATCH 21/59] Wording tweak (#7148) * Wording tweak Based upon feedback after the breaking change, re-wording the description of the `entity_id` line to hopefully be clearer. * Added example about entity_id Added a note about the template at the end not updating automatically, and an example about using the entity id --- source/_components/sensor.template.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index 78926760a31..6915c2c262a 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -55,7 +55,7 @@ sensor: required: false type: template entity_id: - description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities. + description: The template engine will attempt to work out what entities should trigger an update of the sensor. If this fails to get the correct list (for example if your template loops over the contents of a group) then you can provide a list of entity IDs that will cause the sensor to update. required: false type: string, list unit_of_measurement: @@ -292,7 +292,7 @@ sensor: ### {% linkable_title Working with dates %} -The `template` sensors are not limited to use attributes from other entities but can also work with [Home Assistant's template extensions](/docs/configuration/templating/#home-assistant-template-extensions). +The `template` sensors are not limited to use attributes from other entities but can also work with [Home Assistant's template extensions](/docs/configuration/templating/#home-assistant-template-extensions). This template contains no entities that will trigger an update, so either we need to use `homeassistant.update_entity` or add an `entity_id:` line for an entity that will force an update - here we're using `sun.sun`. {% raw %} ```yaml @@ -301,6 +301,7 @@ sensor: sensors: nonsmoker: value_template: '{{ (( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}' + entity_id: sun.sun friendly_name: 'Not smoking' unit_of_measurement: "Days" ``` From 72070ffdf0580a317645dfd29f7516cc0f1feb8a Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:11:49 +0100 Subject: [PATCH 22/59] Update Tikteck light component configuration (#7165) --- source/_components/light.tikteck.markdown | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/source/_components/light.tikteck.markdown b/source/_components/light.tikteck.markdown index 1cd3b2fea70..84e28673c76 100644 --- a/source/_components/light.tikteck.markdown +++ b/source/_components/light.tikteck.markdown @@ -28,9 +28,23 @@ light: password: 36478643 ``` -Configuration variables: +{% configuration %} +devices: + description: A list of devices with their bluetooth address. + required: false + type: list + keys: + name: + description: A custom name to use in the frontend. + required: false + type: string + password: + description: The bulb-specific password. + required: true + type: string +{% endconfiguration %} -- **devices**: A list of devices with their bluetooth address, a custom name to use in the frontend and the bulb-specific password. The password can be obtained from an Android device using an app like [aLogcat](https://play.google.com/store/apps/details?id=org.jtb.alogcat&hl=en) or the `adb logcat` command for phones in developer mode. Look for a line like: +The password can be obtained from an Android device using an app like [aLogcat](https://play.google.com/store/apps/details?id=org.jtb.alogcat&hl=en) or the `adb logcat` command for phones in developer mode. Look for a line like: ``` E LedoBleSDK: login =skName=======[Smart Light]=======skPw==[password] From 59f2cee67d0093a7fe0fee4c3fda8588b16e6d41 Mon Sep 17 00:00:00 2001 From: Cello Spring Date: Sun, 28 Oct 2018 12:13:40 +0100 Subject: [PATCH 23/59] Section argument "Label" is lowercase "label" (#7167) Changed the type --- source/_lovelace/entities.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index ff2d20a986e..07badffcbb2 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -111,7 +111,7 @@ type: required: true description: section type: string -Label: +label: required: false description: Section label type: string From efccd44170e46ed0d0edaa7832907ba61a023476 Mon Sep 17 00:00:00 2001 From: fedor1210 Date: Sun, 28 Oct 2018 14:14:17 +0300 Subject: [PATCH 24/59] Updated Yeelight products information (#7168) Changed names of ceiling lights, model numbers and added Jiaoyue 450. --- source/_components/light.yeelight.markdown | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/source/_components/light.yeelight.markdown b/source/_components/light.yeelight.markdown index 597910be02c..ac8b651e0f2 100644 --- a/source/_components/light.yeelight.markdown +++ b/source/_components/light.yeelight.markdown @@ -93,10 +93,11 @@ This component is tested to work with the following models. If you have a differ | `strip1` | YLDD02YL | Lightstrip (Color) | | `bslamp1` | MJCTD01YL | Xiaomi Mijia Bedside Lamp - WIFI Version! | | `lamp1` | MJTD01YL | Xiaomi Mijia Smart LED Desk Lamp (autodiscovery isn't possible because the device doesn't support mDNS due to the small amount of RAM) | -| `ceiling1` | ? | Yeelight Ceiling Light | -| `ceiling2` | YLXD01YL | Yeelight Smart LED Ceiling Light - Youth Version | -| `ceiling3` | ? | Yeelight Ceiling Light | -| `ceiling4` | YLXD02YL | Yeelight Ceiling Light 4 (Jiaoyue 650) | +| `ceiling1` | YLXD01YL | Yeelight Ceiling Light | +| `ceiling2` | YLXD03YL | Yeelight Ceiling Light - Youth Version | +| ?, may be `ceiling3` | YLXD04YL | Yeelight Ceiling Light (Jiaoyue 450) | +| `ceiling3` | YLXD05YL | Yeelight Ceiling Light (Jiaoyue 480) | +| `ceiling4` | YLXD02YL | Yeelight Ceiling Light (Jiaoyue 650) | ## {% linkable_title Platform Services %} From e7d0244615c72e1bc9cc18412ad03ae02c53222d Mon Sep 17 00:00:00 2001 From: kevjs1982 <1839810+kevjs1982@users.noreply.github.com> Date: Sun, 28 Oct 2018 11:15:22 +0000 Subject: [PATCH 25/59] Update device_tracker.bluetooth_le_tracker.markdown (#7174) hcitool generates permission denied unless you perform a similar setcap option as you need to with python3 --- .../_components/device_tracker.bluetooth_le_tracker.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/device_tracker.bluetooth_le_tracker.markdown b/source/_components/device_tracker.bluetooth_le_tracker.markdown index 421a6e0708b..3cef5e1b2d2 100644 --- a/source/_components/device_tracker.bluetooth_le_tracker.markdown +++ b/source/_components/device_tracker.bluetooth_le_tracker.markdown @@ -54,11 +54,12 @@ Some BTLE devices (e.g., fitness trackers) are only visible to the devices that ## {% linkable_title Rootless Setup %} -Normally accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see [Stack Exchange](http://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root) for more information). +Normally accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 and hcitool the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see [Stack Exchange](http://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root) for more information). ```bash $ sudo apt-get install libcap2-bin $ sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\`` +$ sudo setcap 'cap_net_raw+ep' `readlink -f \`which hcitool\`` ``` A restart of Home Assistant is required. From edd383a22ecb07b32a73d4b0b6ce429a5636bc25 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 28 Oct 2018 11:15:54 +0000 Subject: [PATCH 26/59] Adding automation note (#7156) As nobody RTFMs, adding a reminder here about `automation:` --- source/_components/binary_sensor.workday.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 3a9b3253922..534909719e3 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -100,3 +100,9 @@ automation: service: switch.turn_on entity_id: switch.heater ``` + +

+ +[devices]: https://www.home-assistant.io/docs/configuration/devices/ From 236f669922e2d3a69d37f20b25d34331654ba4b5 Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 28 Oct 2018 11:16:33 +0000 Subject: [PATCH 27/59] Added reminder about `automation:` (#7155) As lots of people don't seem to read the docs, adding a note to "remind" people not to blindly use `automation:`. PRs for other pages to follow ;) --- source/_components/homekit.markdown | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/_components/homekit.markdown b/source/_components/homekit.markdown index bdeb47998f6..d87844743f3 100644 --- a/source/_components/homekit.markdown +++ b/source/_components/homekit.markdown @@ -172,7 +172,11 @@ A common situation might be if you decide to disable parts of the configuration Depending on your individual setup, it might be necessary to disable `Auto Start` for all accessories to be available for `HomeKit`. Only those entities that are fully setup when the `HomeKit` component is started, can be added. To start `HomeKit` when `auto_start: False`, you can call the service `homekit.start`. -If you have Z-Wave entities you want exposed to HomeKit then you'll need to disable auto start and then start it after the Z-Wave mesh is ready. This is because the Z-Wave entities won't be fully set up until then. This can be automated using an automation: +If you have Z-Wave entities you want exposed to HomeKit then you'll need to disable auto start and then start it after the Z-Wave mesh is ready. This is because the Z-Wave entities won't be fully set up until then. This can be automated using an automation. + +

{% raw %} ```yaml @@ -352,3 +356,5 @@ Unfortunately that sometimes happens at the moment. It might help to close the ` #### {% linkable_title Accessories not responding / behaving unusual - Upgrade from `0.65.x` %} To fix this, you need to unpair the `Home Assistant Bridge`, delete the `.homekit.state` file ([guide](#deleting-the-homekitstate-file)) and pair it again. This should only be an issue if you're upgrading from `0.65.x` or below. + +[devices]: https://www.home-assistant.io/docs/configuration/devices/ From 759573e1be54745735f2e136a2390b5aafe32d01 Mon Sep 17 00:00:00 2001 From: Ioan Loosley Date: Sun, 28 Oct 2018 11:20:24 +0000 Subject: [PATCH 28/59] Added note about ibeacon support being removed from the android version (#7186) * Added note about ibeacon support being removed from android * moved and reworded * Update device_tracker.owntracks.markdown * Minor changes --- source/_components/device_tracker.owntracks.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_components/device_tracker.owntracks.markdown b/source/_components/device_tracker.owntracks.markdown index 66838f654e4..9a2e98158de 100644 --- a/source/_components/device_tracker.owntracks.markdown +++ b/source/_components/device_tracker.owntracks.markdown @@ -101,7 +101,11 @@ Home Assistant will use the enter and leave messages to set your zone location. When you exit a zone, Home Assistant will start using location updates to track you again. To make sure that Home Assistant correctly exits a zone (which it calculates based on your GPS coordinates), you may want to set your Zone radius in HA to be slightly smaller that the Owntracks region radius. -### {% linkable_title Using Owntracks regions - forcing Owntracks to update using %}iBeacons +### {% linkable_title Using Owntracks regions - forcing Owntracks to update using iBeacons %} + +

+Owntracks v2.0.0 removes support for iBecons on Android. +

When run in the usual *significant changes mode* (which is kind to your phone battery), Owntracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons. From ae77bb42990bf64a04e645357ebf3f8ed68ef5d8 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:21:03 +0100 Subject: [PATCH 29/59] Update Rachio component configuration (#7180) * Update Rachio component configuration * Minor change --- source/_components/rachio.markdown | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/source/_components/rachio.markdown b/source/_components/rachio.markdown index 93b0c18b724..809d801be9d 100644 --- a/source/_components/rachio.markdown +++ b/source/_components/rachio.markdown @@ -29,13 +29,24 @@ To add this platform to your installation, add the following to your `configurat ```yaml # Example configuration.yaml entry rachio: - api_key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + api_key: YOUR_API_KEY ``` -Configuration variables: - -- **api_key** (*Required*): The API key for the Rachio account. -- **manual_run_mins** (*Optional*): For how long, in minutes, to turn on a station when the switch is enabled. Defaults to 10 minutes. +{% configuration %} +api_key: + description: The API key for the Rachio account. + required: true + type: string +hass_url_override: + description: If your instance is unaware of its actual web location (`base_url`). + required: false + type: string +manual_run_mins: + description: For how long, in minutes, to turn on a station when the switch is enabled. + required: false + default: 10 + type: integer +{% endconfiguration %}

**Water-saving suggestion:**
From 51783763ad103fba50a2c70b1302f917edeaad86 Mon Sep 17 00:00:00 2001 From: Roy Duineveld Date: Sun, 28 Oct 2018 12:39:30 +0100 Subject: [PATCH 30/59] Update rfxtrx.markdown (#7177) --- source/_components/rfxtrx.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/rfxtrx.markdown b/source/_components/rfxtrx.markdown index 76bdfd487ea..2215c2f171e 100644 --- a/source/_components/rfxtrx.markdown +++ b/source/_components/rfxtrx.markdown @@ -24,7 +24,7 @@ rfxtrx: {% configuration %} device: - description: "The path to your device, e.g., `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0`." + description: "The path to your device, e.g., `/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1Y0NJGR-if00-port0` or `/dev/ttyUSB0`." required: true type: string debug: From 9c3ef8298e3d6ae82bd4240ac13c4ce507702faa Mon Sep 17 00:00:00 2001 From: Ryan Wagoner Date: Sun, 28 Oct 2018 07:43:44 -0400 Subject: [PATCH 31/59] Fix MQTT where ON and OFF showed as true and false (#7140) --- source/_components/climate.mqtt.markdown | 30 ++++++++++++------------ source/_components/fan.mqtt.markdown | 4 ++-- source/_components/switch.mqtt.markdown | 8 +++---- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/source/_components/climate.mqtt.markdown b/source/_components/climate.mqtt.markdown index 41da3c077cc..66cd9a2ccdd 100644 --- a/source/_components/climate.mqtt.markdown +++ b/source/_components/climate.mqtt.markdown @@ -24,8 +24,8 @@ It uses a sensor under the hood to obtain the current temperature. climate: - platform: mqtt name: Study - current_temperature_topic: /sensors/hvac_study/current_temp - temperature_command_topic: /sensors/hvac_study/target_temp + current_temperature_topic: sensors/hvac_study/current_temp + temperature_command_topic: sensors/hvac_study/target_temp ``` {% configuration %} @@ -58,12 +58,12 @@ payload_on: description: The payload that represents enabled state. required: false type: string - default: ON + default: "ON" payload_off: description: The payload that represents disabled state. required: false type: string - default: OFF + default: "OFF" availability_topic: description: The MQTT topic subscribed to receive availability (online/offline) updates. required: false @@ -224,9 +224,9 @@ climate: - platform: mqtt name: Study modes: - - off - - on - - auto + - "off" + - "on" + - "auto" mode_command_topic: "study/ac/mode/set" mode_state_topic: "study/ac/mode/state" mode_state_template: "{{ value_json }}" @@ -246,16 +246,16 @@ climate: - platform: mqtt name: Study modes: - - off - - cool - - fan_only + - "off" + - "cool" + - "fan_only" swing_modes: - - on - - off + - "on" + - "off" fan_modes: - - high - - medium - - low + - "high" + - "medium" + - "low" power_command_topic: "study/ac/power/set" mode_command_topic: "study/ac/mode/set" temperature_command_topic: "study/ac/temperature/set" diff --git a/source/_components/fan.mqtt.markdown b/source/_components/fan.mqtt.markdown index 60bc9ad1f87..2a726f19e46 100644 --- a/source/_components/fan.mqtt.markdown +++ b/source/_components/fan.mqtt.markdown @@ -50,12 +50,12 @@ payload_on: description: The payload that represents the running state. required: false type: string - default: ON + default: "ON" payload_off: description: The payload that represents the stop state. required: false type: string - default: OFF + default: "OFF" state_value_template: description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the state." required: false diff --git a/source/_components/switch.mqtt.markdown b/source/_components/switch.mqtt.markdown index 884210ebe0f..b5f978a0adf 100644 --- a/source/_components/switch.mqtt.markdown +++ b/source/_components/switch.mqtt.markdown @@ -50,12 +50,12 @@ state_on: description: The payload that represents the on state. required: false type: string - default: ON + default: "ON" state_off: description: The payload that represents the off state. required: false type: string - default: OFF + default: "OFF" command_topic: description: The MQTT topic to publish commands to change the switch state. required: false @@ -68,12 +68,12 @@ payload_on: description: The payload that represents enabled state. required: false type: string - default: ON + default: "ON" payload_off: description: The payload that represents disabled state. required: false type: string - default: OFF + default: "OFF" payload_available: description: The payload that represents the available state. required: false From db5ea4caac338b2b512c82e0bbbae153f97ae2da Mon Sep 17 00:00:00 2001 From: Ryan Nazaretian Date: Sun, 28 Oct 2018 06:45:22 -0500 Subject: [PATCH 32/59] Fixed icon (#7138) --- source/_components/unifi.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/unifi.markdown b/source/_components/unifi.markdown index fd42ca782dc..bf486c88690 100644 --- a/source/_components/unifi.markdown +++ b/source/_components/unifi.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -logo: ubiuiti.png +logo: ubiquiti.png ha_category: Hub ha_release: "0.81" ha_iot_class: "Local Polling" From c6d02b401f8c9282da60f2591fe7e8df36f20129 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:48:37 +0100 Subject: [PATCH 33/59] Update Zengge light component configuration (#7183) * Update Zengge light component configuration * Minor changes --- source/_components/light.zengge.markdown | 26 +++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/source/_components/light.zengge.markdown b/source/_components/light.zengge.markdown index b2f46b065d4..6c84769f479 100644 --- a/source/_components/light.zengge.markdown +++ b/source/_components/light.zengge.markdown @@ -15,16 +15,32 @@ ha_release: 0.36 The `zengge` platform allows you to integrate your [Zengge Bluetooth bulbs](http://www.zengge.com/) into Home Assistant. +## {% linkable_title Configuration %} + +To enable the lights, add the following lines to your `configuration.yaml` file: + ```yaml # Example configuration.yaml entry light: - platform: zengge devices: - C4:BE:84:51:54:8B: + "C4:BE:84:51:54:8B": name: Living Room ``` -Configuration variables: -- **devices** array (*Required*): List of your devices/bulbs. - - **MAC address** (*Required*): The MAC address of the bulb. - - **name** (*Optional*): Friendly name for the frontend. +{% configuration %} +devices: + description: The list of your devices/bulbs. + required: true + type: list + keys: + mac_address: + description: The MAC address of the bulb. + required: true + type: list + keys: + name: + description: The friendly name for the frontend. + required: false + type: string +{% endconfiguration %} From 62ed2888eeac5c2e42207e0444e7eb4a2f802ed0 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:49:41 +0100 Subject: [PATCH 34/59] Update Dublin bus transport sensor component configuration (#7136) --- .../sensor.dublin_bus_transport.markdown | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/source/_components/sensor.dublin_bus_transport.markdown b/source/_components/sensor.dublin_bus_transport.markdown index 6c32206895d..f980877ba11 100644 --- a/source/_components/sensor.dublin_bus_transport.markdown +++ b/source/_components/sensor.dublin_bus_transport.markdown @@ -13,10 +13,9 @@ ha_iot_class: "Cloud Polling" ha_release: 0.36 --- - The `dublin_bus_transport` sensor will give you the time until the next two departures from a Dublin bus stop using the RTPI information. -The [Dublin Bus](https://www.dublinbus.ie/RTPI/) website can help to determine the id of your bus stop. You can check if this is correct by going to +The [Dublin Bus](https://www.dublinbus.ie/RTPI/) website can help to determine the id of your bus stop. You can check if this is correct by going to https://data.dublinked.ie/cgi-bin/rtpi/realtimebusinformation?stopid=[Stop ID] @@ -29,10 +28,20 @@ sensor: stopid: STOP_ID ``` -Configuration variables: - -- **stopid** (*Required*): The ID of the bus stop to get the information for. -- **route** (*Optional*): Only show a single bus route at the stop. This is the same as the bus number, e.g., `83`. -- **name** (*Optional*): A friendly name for this sensor. +{% configuration %} +stopid: + description: The ID of the bus stop to get the information for. + required: true + type: string +route: + description: Only show a single bus route at the stop. This is the same as the bus number, e.g., `83`. + required: false + type: string +name: + description: A friendly name for this sensor. + required: false + default: Next Bus + type: string +{% endconfiguration %} The public RTPI information is coming from [Dub Linked](https://data.dublinked.ie/). From 7c53ec60c51114d18d6ed004577ef981387c60ca Mon Sep 17 00:00:00 2001 From: Lindsay Ward Date: Sun, 28 Oct 2018 21:51:10 +1000 Subject: [PATCH 35/59] Update recorder component and database doc (#7141) * Update recorder component to improve wording * Update database backend doc to refer to recorder component --- source/_components/recorder.markdown | 32 +++++++------- source/_docs/backend/database.markdown | 60 +++++++++++++------------- 2 files changed, 47 insertions(+), 45 deletions(-) diff --git a/source/_components/recorder.markdown b/source/_components/recorder.markdown index 230ac6b1bc0..afda7241aad 100644 --- a/source/_components/recorder.markdown +++ b/source/_components/recorder.markdown @@ -13,13 +13,13 @@ ha_release: pre 0.7 ha_qa_scale: internal --- -The `recorder` component is storing details in a database which then are handled by the [`history` component](/components/history/). +The `recorder` component is responsible for storing details in a database, which then are handled by the [`history` component](/components/history/). -Home Assistant uses [SQLAlchemy](http://www.sqlalchemy.org/) as Object Relational Mapper (ORM). This means that you can now use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/). +Home Assistant uses [SQLAlchemy](http://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/). The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant`) and called `home-assistant_v2.db`. -To change the defaults for `recorder` component in your installation, add the following to your `configuration.yaml` file: +To change the defaults for the `recorder` component in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -33,7 +33,7 @@ recorder: type: map keys: db_url: - description: The URL which points to your database. + description: The URL that points to your database. required: false type: URL purge_keep_days: @@ -47,7 +47,7 @@ recorder: default: 1 type: integer exclude: - description: Configure which components should be excluded + description: Configure which components should be excluded from recordings. required: false type: map keys: @@ -74,7 +74,7 @@ recorder: type: List {% endconfiguration %} -Define domains and entities to `exclude` (aka. blacklist). This is convenient when you are basically happy with the information recorded, but just want to remove some entities or domains. Usually, these are entities/domains which do not change (like `weblink`) or rarely change (`updater` or `automation`). +Defining domains and entities to `exclude` (aka. blacklist) is convenient when you are basically happy with the information recorded, but just want to remove some entities or domains. Usually, these are entities/domains that do not change (like `weblink`) or rarely change (like `updater` or `automation`). ```yaml # Example configuration.yaml entry with exclude @@ -92,7 +92,7 @@ recorder: - sensor.date ``` -Define domains and entities to record by using the `include` configuration (aka. whitelist). If you have a lot of entities in your system and your `exclude` lists possibly get very large, it might be better just to define the entities or domains to record. +define domains and entities to record by using the `include` configuration (aka. whitelist) is convenient if you have a lot of entities in your system and your `exclude` lists possibly get very large, so it might be better just to define the entities or domains to record. ```yaml # Example configuration.yaml entry with include @@ -104,7 +104,7 @@ recorder: - media_player ``` -Use the `include` list to define the domains/entities to record, and exclude some of them within the `exclude` list. This makes sense if you, for instance, include the `sensor` domain, but want to exclude some specific sensors. Instead of adding every sensor entity to the `include` `entities` list just include the `sensor` domain and exclude the sensor entities you are not interested in. +You can also use the `include` list to define the domains/entities to record, and exclude some of those within the `exclude` list. This makes sense if you, for instance, include the `sensor` domain, but want to exclude some specific sensors. Instead of adding every sensor entity to the `include` `entities` list just include the `sensor` domain and exclude the sensor entities you are not interested in. ```yaml # Example configuration.yaml entry with include and exclude @@ -120,7 +120,7 @@ recorder: - sensor.date ``` -If you only want to hide events from e.g., your history, take a look at the [`history` component](/components/history/). Same goes for the logbook. But if you have privacy concerns about certain events or neither want them in history or logbook, you should use the `exclude`/`include` options of the `recorder` component, that way they aren't even in your database. That way you can save storage and keep the database small by excluding certain often-logged events (like `sensor.last_boot`). +If you only want to hide events from your history, take a look at the [`history` component](/components/history/). The same goes for the [logbook](/components/logbook/). But if you have privacy concerns about certain events or want them in neither the history or logbook, you should use the `exclude`/`include` options of the `recorder` component. That way they aren't even in your database, you can reduce storage and keep the database small by excluding certain often-logged events (like `sensor.last_boot`). ### {% linkable_title Service `purge` %} @@ -133,7 +133,7 @@ Call the service `recorder.purge` to start a purge task which deletes events and ### {% linkable_title Restore State %} -If the `recorder` component is activated then some components support `restore_state` which will restore the state of the entity after Home Assistant is started to the state before Home Assistant was stopped. Please make sure that you do not exclude the entities for which you want the state to be restored from your recordings. An incomplete list of components that currently support `restore_state`: +If the `recorder` component is activated then some components support `restore_state`, which will restore the state of the entity after Home Assistant is started to the state before Home Assistant was stopped. Please make sure that you do not exclude the entities for which you want the state to be restored from your recordings. An incomplete list of components that currently support `restore_state`: * [`input_boolean`](/components/input_boolean/#restore-state) * [`input_number`](/components/input_number/#restore-state) @@ -144,7 +144,7 @@ If the `recorder` component is activated then some components support `restore_s ## {% linkable_title Custom database engines %} -| Database engine | `db_url` | +| Database engine | `db_url` | | :---------------|:---------------------------------------------------------| | SQLite | `sqlite:////PATH/TO/DB_NAME` | | MariaDB | `mysql://SERVER_IP/DB_NAME?charset=utf8` | @@ -163,7 +163,7 @@ If you use MariaDB 10 you need to add port 3307 (or another port depending on wh

-Unix Socket connections always bring performance advantages over TCP, if the database on the same host as the `recorder` instance (i.e. `localhost`).

+Unix Socket connections always bring performance advantages over TCP, if the database is on the same host as the `recorder` instance (i.e. `localhost`).

If you want to use Unix Sockets for PostgreSQL you need to modify the `pg_hba.conf`. See [PostgreSQL](#postgresql)

@@ -196,7 +196,7 @@ $ sudo systemctl daemon-reload ## {% linkable_title Installation notes %} -Not all Python bindings for the chosen database engine can be installed directly. This section contains additional details which should help you to get it working. +Not all Python bindings for the chosen database engine can be installed directly. This section contains additional details that should help you to get it working. ### {% linkable_title MariaDB and MySQL %} @@ -208,7 +208,7 @@ homeassistant@homeassistant:~$ source /srv/homeassistant/bin/activate (homeassistant) homeassistant@homeassistant:~$ pip3 install mysqlclient ``` -For MariaDB you may have to install a few dependencies. If you're using MariaDB version 10.2, libmariadbclient-dev was renamed to libmariadb-dev, please install the correct package based on your MariaDB version. +For MariaDB you may have to install a few dependencies. If you're using MariaDB version 10.2, `libmariadbclient-dev` was renamed to `libmariadb-dev`; please install the correct package based on your MariaDB version. On the Python side we use the `mysqlclient`: @@ -224,7 +224,7 @@ $ sudo apt-get install default-libmysqlclient-dev libssl-dev $ pip3 install mysqlclient ``` -After installing the dependencies, it is required to create the database manually. During the startup, Home Assistant will look for the database specified in the `db_url`. If the database doesn't exist, it will not automatically create it for you. +After installing the dependencies, it is required to create the database manually. During the startup, Home Assistant will look for the database specified in the `db_url`. If the database doesn't exist, it will not automatically create it for you. Once Home Assistant finds the database, with the right level of permissions, all the required tables will then be automatically created and the data will be populated accordingly. @@ -246,7 +246,7 @@ Where `DB_NAME` is the name of your database and `USER_NAME` is the name of the Reload the PostgreSQL configuration after that: ```bash $ sudo -i -u postgres psql -c "SELECT pg_reload_conf();" - pg_reload_conf + pg_reload_conf ---------------- t (1 row) diff --git a/source/_docs/backend/database.markdown b/source/_docs/backend/database.markdown index 7b265ba00c7..199466b4c43 100644 --- a/source/_docs/backend/database.markdown +++ b/source/_docs/backend/database.markdown @@ -1,7 +1,7 @@ --- layout: page title: "Database" -description: "Details about the database which Home Assistant is using." +description: "Details about the database used by Home Assistant." date: 2016-10-10 10:00 sidebar: true comments: false @@ -10,14 +10,16 @@ footer: true redirect_from: /details/database/ --- -The default database that is used for Home Assistant is [SQLite](https://www.sqlite.org/) and is stored in your [configuration directory](/getting-started/configuration/) (e.g., `/.homeassistant/home-assistant_v2.db`). You will need an installation of `sqlite3`, the command-line for SQLite database, or [DB Browser for SQLite](http://sqlitebrowser.org/), which provides an editor for executing SQL commands. +The default database used by Home Assistant is [SQLite](https://www.sqlite.org/) and is stored in your [configuration directory](/getting-started/configuration/) (e.g., `/.homeassistant/home-assistant_v2.db`). To change the database, use the [`recorder` component](/components/recorder/). + +To work with the SQLite database manually, you will need an installation of `sqlite3`, the command-line for SQLite database, or [DB Browser for SQLite](http://sqlitebrowser.org/), which provides an editor for executing SQL commands. First load your database with `sqlite3`: ```bash -$ sqlite3 home-assistant_v2.db +$ sqlite3 home-assistant_v2.db SQLite version 3.13.0 2016-05-18 10:57:30 Enter ".help" for usage hints. -sqlite> +sqlite> ``` It helps to set some options to make the output more readable: @@ -33,7 +35,7 @@ You could also start `sqlite3` and attach the database later. Not sure what data sqlite> .databases seq name file --- --------------- ---------------------------------------------------------- -0 main /home/fab/.homeassistant/home-assistant_v2.db +0 main /home/fab/.homeassistant/home-assistant_v2.db ``` ### {% linkable_title Schema %} @@ -45,40 +47,40 @@ sqlite> SELECT sql FROM sqlite_master; ------------------------------------------------------------------------------------- CREATE TABLE events ( - event_id INTEGER NOT NULL, - event_type VARCHAR(32), - event_data TEXT, - origin VARCHAR(32), - time_fired DATETIME, - created DATETIME, + event_id INTEGER NOT NULL, + event_type VARCHAR(32), + event_data TEXT, + origin VARCHAR(32), + time_fired DATETIME, + created DATETIME, PRIMARY KEY (event_id) ) CREATE INDEX ix_events_event_type ON events (event_type) CREATE TABLE recorder_runs ( - run_id INTEGER NOT NULL, - start DATETIME, - "end" DATETIME, - closed_incorrect BOOLEAN, - created DATETIME, - PRIMARY KEY (run_id), + run_id INTEGER NOT NULL, + start DATETIME, + "end" DATETIME, + closed_incorrect BOOLEAN, + created DATETIME, + PRIMARY KEY (run_id), CHECK (closed_incorrect IN (0, 1)) ) CREATE TABLE states ( - state_id INTEGER NOT NULL, - domain VARCHAR(64), - entity_id VARCHAR(64), - state VARCHAR(255), - attributes TEXT, - event_id INTEGER, - last_changed DATETIME, - last_updated DATETIME, - created DATETIME, - PRIMARY KEY (state_id), + state_id INTEGER NOT NULL, + domain VARCHAR(64), + entity_id VARCHAR(64), + state VARCHAR(255), + attributes TEXT, + event_id INTEGER, + last_changed DATETIME, + last_updated DATETIME, + created DATETIME, + PRIMARY KEY (state_id), FOREIGN KEY(event_id) REFERENCES events (event_id) ) CREATE INDEX states__significant_changes ON states (domain, last_updated, entity_id) CREATE INDEX states__state_changes ON states (last_changed, last_updated, entity_id) -CREATE TABLE sqlite_stat1(tbl,idx,stat) +CREATE TABLE sqlite_stat1(tbl,idx,stat) ``` To only show the details about the `states` table (since we are using that one in the next examples): @@ -105,7 +107,7 @@ switch.mystrom_switch 14101 sensor.internet_time 12963 sensor.solar_angle1 11397 sensor.solar_angle 10440 -group.all_switches 8018 +group.all_switches 8018 ``` ### {% linkable_title Delete %} From c1fe23ee3cc06f03c9c92a2f158f4664490f4c09 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:51:47 +0100 Subject: [PATCH 36/59] Update Htu21d sensor component configuration (#7133) --- source/_components/sensor.htu21d.markdown | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/source/_components/sensor.htu21d.markdown b/source/_components/sensor.htu21d.markdown index fbb513aef4a..687bb02df60 100644 --- a/source/_components/sensor.htu21d.markdown +++ b/source/_components/sensor.htu21d.markdown @@ -13,7 +13,6 @@ ha_release: 0.48 ha_iot_class: "Local Push" --- - The `htu21d` sensor platform allows you to read the temperature and humidity from a [HTU21D sensor](http://www.datasheetspdf.com/PDF/HTU21D/779951/1) connected via [I2c](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). Tested devices: @@ -30,11 +29,18 @@ sensor: - platform: htu21d ``` -Configuration variables: - -- **name** (*Optional*): The name of the sensor -- **i2c_bus** (*Optional*): I2c bus where the sensor is. Defaults to 1, for Raspberry Pi 2 and 3. - +{% configuration %} +name: + description: The name of the sensor. + required: false + default: i2c_bus + type: string +i2c_bus: + description: I2c bus where the sensor is. + required: false + default: 1 (for Raspberry Pi 2 and 3) + type: integer +{% endconfiguration %} ## {% linkable_title Customizing the sensor data %} From 30c8b832a9d1f073ef55afb8efd50caeaf145b4c Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:53:32 +0100 Subject: [PATCH 37/59] Update Lyfit sensor component configuration (#7130) --- source/_components/sensor.lyft.markdown | 47 +++++++++++++++++-------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/source/_components/sensor.lyft.markdown b/source/_components/sensor.lyft.markdown index c86b811e161..6241bad852f 100644 --- a/source/_components/sensor.lyft.markdown +++ b/source/_components/sensor.lyft.markdown @@ -13,10 +13,8 @@ ha_iot_class: "Cloud Polling" ha_release: 0.41 --- - The `lyft` sensor will give you time and price estimates for all available [Lyft](https://lyft.com) products at the given `start_latitude` and `start_longitude`.The `ATTRIBUTES` are used to provide extra information about products, such as vehicle capacity and fare rates. If an `end_latitude` and `end_longitude` are specified, a price estimate will also be provided. One sensor will be created for each product at the given `start` location, for pickup time. A second sensor for each product, for estimated price, will be created if a destination is specified. The sensor is powered by the official Lyft [API](https://developer.lyft.com/reference/). - You must create an application [here](https://www.lyft.com/developers/manage) to obtain a `client_id` and `client_secret`. To enable this sensor, add the following lines to your `configuration.yaml` file: @@ -27,20 +25,41 @@ sensor: - platform: lyft client_id: CLIENT_ID client_secret: CLIENT_SECRET - start_latitude: 37.8116380 + start_latitude: 37.8116380 ``` -Configuration variables: +{% configuration %} +client_id: + description: "A client id obtained from [developer.lyft.com](https://developer.lyft.com) after [creating an app](https://www.lyft.com/developers/manage)." + required: true + type: string +client_secret: + description: "A client secret obtained from [developer.lyft.com](https://developer.lyft.com) after [creating an app](https://www.lyft.com/developers/manage)." + required: true + type: string +start_latitude: + description: The starting latitude for a trip. + required: true + type: float +start_longitude: + description: The starting longitude for a trip. + required: true + type: float +end_latitude: + description: The ending latitude for a trip. While `end_latitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time. + required: false + type: float +end_longitude: + description: The ending longitude for a trip. While `end_longitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time. + required: false + type: float +product_ids: + description: A list of Lyft product IDs. + required: false + type: [list, string] +{% endconfiguration %} -- **client_id** (*Required*): A client id obtained from [developer.lyft.com](https://developer.lyft.com) after [creating an app](https://www.lyft.com/developers/manage). -- **client_secret** (*Required*) A client secret obtained from [developer.lyft.com](https://developer.lyft.com) after [creating an app](https://www.lyft.com/developers/manage). -- **start_latitude** (*Required*): The starting latitude for a trip. -- **start_longitude** (*Required*): The starting longitude for a trip. -- **end_latitude** (*Optional*): The ending latitude for a trip. While `end_latitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time. -- **end_longitude** (*Optional*): The ending longitude for a trip. While `end_longitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time. -- **product_ids** (*Optional*): A list of Lyft product IDs. - -A full configuration entry could look like the sample below: +A full configuration entry could look like the sample below: ```yaml # Example configuration.yaml entry @@ -48,7 +67,7 @@ sensor: - platform: lyft client_id: CLIENT_ID client_secret: CLIENT_SECRET - start_latitude: 37.8116380 + start_latitude: 37.8116380 start_longitude: -122.2648050 end_latitude: 37.615223 end_longitude: -122.389977 From a3cb9a61c7a5626953d12372d7a100dbf115a6b3 Mon Sep 17 00:00:00 2001 From: TehRobot Date: Mon, 29 Oct 2018 00:55:59 +1300 Subject: [PATCH 38/59] Update sensor.template.markdown (#7185) * Update sensor.template.markdown Update documents to cover how to fix errors arising from the 81.0 update around templates. Shows both methods (adding entity_id and using the new service `update_entity` ### has no entity ids configured to track nor were we able to extract the entities to track from the ### template(s). This entity will only be able to be updated manually. * Fix typo --- source/_components/sensor.template.markdown | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index 6915c2c262a..551b3d3b369 100644 --- a/source/_components/sensor.template.markdown +++ b/source/_components/sensor.template.markdown @@ -306,3 +306,38 @@ sensor: unit_of_measurement: "Days" ``` {% endraw %} + +### {% linkable_title Template tracking %} + +This example shows how to add `entity_id` to a template to allow tracking of updates. Fixing an error caused in (81.0) + +{% raw %} +```yaml +sensor: +- platform: template + sensors: + nonsmoker: + entity_id: now.strptime + value_template: '{{ (( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}' + friendly_name: 'Not smoking' + unit_of_measurement: "Days" +``` +{% endraw %} + +Note: If a template uses more than one sensor they can be listed + + +The alternative to this is to create an `Automation`using the new (81.0) service `homeassistant.update_entity` and list all entity's requiring updates and setting the interval based on time. + +{% raw %} +```yaml +automation: + - alias: 'nonsmoker_update' + trigger: + - platform: time + minutes: '/1' + action: + - service: homeassistant.update_entity + entity_id: sensor.nonsmoker +``` +{% endraw %} From 48be6d87c7bf8cc9f4b8c741350e0a86854ae7e4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 28 Oct 2018 12:57:18 +0100 Subject: [PATCH 39/59] Fix typo --- source/_posts/2018-10-29-release-81.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2018-10-29-release-81.markdown b/source/_posts/2018-10-29-release-81.markdown index 994528722b8..1f40a74e6d7 100644 --- a/source/_posts/2018-10-29-release-81.markdown +++ b/source/_posts/2018-10-29-release-81.markdown @@ -26,7 +26,7 @@ The glance card, and the button card can also be themed now, and the way the col Other things to be aware of: -- We have a new service `home_assistant.update_entity` to request the update of an entity, rather than waiting for the next scheduled update. This means you can set a really long `scan_interval` in the [platform_options] and then update on demand, ideal for those services where you have low API limit. +- We have a new service `homeassistant.update_entity` to request the update of an entity, rather than waiting for the next scheduled update. This means you can set a really long `scan_interval` in the [platform_options] and then update on demand, ideal for those services where you have low API limit. - Template sensors will no longer auto update if we can't find relevant entities in the template. You'll want to review your template sensors and consider adding relevant `entity_id` entries or use the new `homeassistant.update_entity` service. - Water heaters get their own platform separate from `climate`, because you're not a fish living inside the hot water tank From ced3a4325f5413ced6934328d2894251433b4250 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:58:17 +0100 Subject: [PATCH 40/59] Update Lockitron lock component configuration (#7178) * Update Lockitron lock component configuration * Minor changes --- source/_components/lock.lockitron.markdown | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/source/_components/lock.lockitron.markdown b/source/_components/lock.lockitron.markdown index 6b320e71086..c97eaf7eb78 100644 --- a/source/_components/lock.lockitron.markdown +++ b/source/_components/lock.lockitron.markdown @@ -14,18 +14,29 @@ ha_release: "0.42" --- The `lockitron` platform allows you to control your [Lockitron](https://lockitron.com/) lock from within Home Assistant. -In order to get the correct `access_token` and `id`, log on to their [developer page](https://api.lockitron.com/), create a new app, and get the access_token they give you. -Then, call the retrieve all locks function on the page and get the id of your lock (make sure you get your lock's id and not the virtual lock they create for you). + +## {% linkable_title Setup %} + +In order to get the correct `access_token` and `id`, log on to their [developer page](https://api.lockitron.com/), create a new app, and get the access_token they give you. Then, call the retrieve all locks function on the page and get the id of your lock (make sure you get your lock's id and not the virtual lock they create for you). + +## {% linkable_title Configuration %} + +To enable the lock, add the following lines to your `configuration.yaml` file: ```yaml lock: - platform: lockitron - access_token: asdf - id: fdsa + access_token: YOUR_ACCESS_TOKEN + id: YOUR_ID ``` -Configuration variables: - -- **access_token** (*Required*): The usernThe security token provided by Lockitron to lock and unlock your lock. -- **id** (*Required*): The lock id given by Lockitron (should be a GUID). - +{% configuration %} +access_token: + description: The security token provided by Lockitron to lock and unlock your lock. + required: true + type: string +id: + description: The lock id given by Lockitron (should be a GUID). + required: true + type: string +{% endconfiguration %} From 7df075a08f7b06618b0b5d7299391f2aaeecea0b Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 12:59:53 +0100 Subject: [PATCH 41/59] Update Eliqonline sensor component configuration (#7135) --- source/_components/sensor.eliqonline.markdown | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/source/_components/sensor.eliqonline.markdown b/source/_components/sensor.eliqonline.markdown index b87f019f0ef..81f64598802 100644 --- a/source/_components/sensor.eliqonline.markdown +++ b/source/_components/sensor.eliqonline.markdown @@ -13,7 +13,6 @@ ha_release: "0.10" ha_iot_class: "Cloud Polling" --- - Integrate your [ELIQ Online](http://eliq.io) smart meter information into Home Assistant. To get an [access token](https://my.eliq.io/user/settings/api) and the [Channel ID](https://my.eliq.io/user/settings/locations), log in to your account. To enable this sensor in your installation, add the following to your `configuration.yaml` file: @@ -26,11 +25,20 @@ sensor: channel_id: CHANNEL_ID ``` -Configuration variables: - -- **access_token** (*Required*): The Access Token for your account. -- **channel_id** (*Required*): Channel ID (as integer) of your device. -- **name** (*Optional*): The name of the sensor, eg. the city. +{% configuration %} +access_token: + description: The Access Token for your account. + required: true + type: string +channel_id: + description: Channel ID (as integer) of your device. + required: true + type: integer +name: + description: The name of the sensor, e.g., the city. + required: false + default: ELIQ Online + type: string +{% endconfiguration %} For details please check the [API documentation](https://eliq.zendesk.com/hc/en-us/articles/115002708449-API-Eliq-Online). - From 47548290774df5706cae4183e44647ccd5af5a8e Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 13:02:43 +0100 Subject: [PATCH 42/59] Update Loopenergy sensor component configuration (#7191) --- source/_components/sensor.loopenergy.markdown | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.loopenergy.markdown b/source/_components/sensor.loopenergy.markdown index b3369c6fc52..8288ea2b430 100644 --- a/source/_components/sensor.loopenergy.markdown +++ b/source/_components/sensor.loopenergy.markdown @@ -52,14 +52,34 @@ sensor: gas_secret: 'GAS_SECRET' ``` -Configuration variables: - -- **electricity_serial** (*Required*): Serial number of your electricity sensor -- **electricity_secret** (*Required*): Secret key for your electricity sensor -- **gas_serial** (*Optional*): Serial number for your gas sensor. -- **gas_secret** (*Optional*): Secret key for your gas sensor. -- **gas_type** (*Optional*): Type of meter `imperial` or `metric`. Defaults to `metric`. -- **gas_calorific** (*Optional*): Calorific value of your gas supply (usually on your gas bill). Defaults to 39.11. +{% configuration %} +electricity_serial: + description: Serial number of your electricity sensor. + required: true + type: string +electricity_secret: + description: Secret key for your electricity sensor. + required: true + type: string +gas_serial: + description: Serial number for your gas sensor. + required: true + type: string +gas_secret: + description: Secret key for your gas sensor. + required: true + type: string +gas_type: + description: Type of meter `imperial` or `metric`. + required: false + default: metric + type: string +gas_calorific: + description: Calorific value of your gas supply (usually on your gas bill). + required: false + default: 39.11 + type: float +{% endconfiguration %} The electricity readings are updated every 10 seconds and the gas readings every 15 minutes. From a579ad2d1ec1876c2189e5cbb63bed4e1a2ac837 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 13:03:33 +0100 Subject: [PATCH 43/59] Update Min_max sensor component configuration (#7132) * Update Min_max sensor component configuration * Add default --- source/_components/sensor.min_max.markdown | 28 +++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/source/_components/sensor.min_max.markdown b/source/_components/sensor.min_max.markdown index be649657ae8..0d389c88664 100644 --- a/source/_components/sensor.min_max.markdown +++ b/source/_components/sensor.min_max.markdown @@ -14,7 +14,6 @@ ha_release: "0.31" ha_qa_scale: internal --- - The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last) and the mean of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/components/sensor.statistics/) first. This sensor is an alternative to the [template sensor](/components/sensor.template/)'s `value_template:` to get the average of multiple sensors. @@ -44,10 +43,23 @@ sensor: - sensor.office_temperature ``` -Configuration variables: - -- **entity_ids** (*Required*): At least two entities to monitor. The unit of measurement of the first entry will be the one that's used. All entities must use the same unit of measurement. -- **type** (*Optional*): The type of sensor: `min`, `max`, `last` or `mean`. Defaults to `max`. -- **name** (*Optional*): Name of the sensor to use in the frontend. -- **round_digits** (*Optional*): Round mean value to specified number of digits. Defaults to 2. - +{% configuration %} +entity_ids: + description: At least two entities to monitor. The unit of measurement of the first entry will be the one that's used. All entities must use the same unit of measurement. + required: true + type: [list, string] +type: + description: "The type of sensor: `min`, `max`, `last` or `mean`." + required: false + default: max + type: string +name: + description: Name of the sensor to use in the frontend. + required: false + type: string +round_digits: + description: Round mean value to specified number of digits. + required: false + type: integer + default: 2 +{% endconfiguration %} From 3ffc296b55d86da05b66623f2c35df56090f3208 Mon Sep 17 00:00:00 2001 From: Jonas Skoogh Date: Sun, 28 Oct 2018 13:11:28 +0100 Subject: [PATCH 44/59] Missing > in documentation (#7193) --- source/_components/binary_sensor.workday.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 534909719e3..8e663a16e1b 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -101,7 +101,7 @@ automation: entity_id: switch.heater ``` -

Please remember that [as explained here][devices] you can only have a single `automation:` entry. Add the automation to your existing automations.

From c9ff78baba4222e29fc6ba315b62b99c9c77929a Mon Sep 17 00:00:00 2001 From: Jonas Skoogh Date: Sun, 28 Oct 2018 13:18:42 +0100 Subject: [PATCH 45/59] Updated the link to the holidays Python Module (#7194) --- source/_components/binary_sensor.workday.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 8e663a16e1b..1427b7e0ad4 100644 --- a/source/_components/binary_sensor.workday.markdown +++ b/source/_components/binary_sensor.workday.markdown @@ -45,13 +45,13 @@ name: country: description: > Country code according to - [holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. + [holidays](https://pypi.org/project/holidays/) notation. required: true type: string province: description: > Province code according to - [holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. + [holidays](https://pypi.org/project/holidays/) notation. required: false type: string workdays: From e8e770e11f47cdc3b86bc808f7584319b3115323 Mon Sep 17 00:00:00 2001 From: Jonas Skoogh Date: Sun, 28 Oct 2018 13:45:32 +0100 Subject: [PATCH 46/59] Added direct-link to the device-class anchor (#7195) --- source/_components/binary_sensor.trend.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/binary_sensor.trend.markdown b/source/_components/binary_sensor.trend.markdown index f110c9ca04c..564d444f45f 100644 --- a/source/_components/binary_sensor.trend.markdown +++ b/source/_components/binary_sensor.trend.markdown @@ -52,7 +52,7 @@ sensors: type: string device_class: description: > - The [type/class](/components/binary_sensor/) of + The [type/class](/components/binary_sensor/#device-class) of the sensor to set the icon in the frontend. required: false type: string From b815312c0a8c70beffa30e3b101559b4dfe34dee Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 17:41:00 +0100 Subject: [PATCH 47/59] Update Geizhals sensor component configuration (#7192) --- source/_components/sensor.geizhals.markdown | 31 +++++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/source/_components/sensor.geizhals.markdown b/source/_components/sensor.geizhals.markdown index 575c974b4de..c7a568530bf 100644 --- a/source/_components/sensor.geizhals.markdown +++ b/source/_components/sensor.geizhals.markdown @@ -21,17 +21,30 @@ To enable this sensor, add the following lines to your `configuration.yaml` file # Example configuration.yaml entry sensor: - platform: geizhals - name: qc35 - product_id: 1696985 + name: PRODUCT_NAME + product_id: PRODUCT_ID ``` -Configuration variables: - -- **name** (*Required*): The internal name of the product in Home Assistant. -- **product_id** (*Required*): ID of the product. Get the ID from the Geizhals website of your chosen product by opening the *Price History* in a new browser tab (right-click on the price history > open in new tab). -The URL of this site reveals the ID, e.g., `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`. -- **description** (*Optional*): The name of the product in the front end. -- **locale** (*Optional*): Localisation which should be used for the request. Set this to `AT`, `EU`, `DE`, `UK` or `PL`. Defaults to `DE`. +{% configuration %} +name: + description: The internal name of the product in Home Assistant. + required: true + type: string +product_id: + description: "ID of the product. Get the ID from the Geizhals website of your chosen product by opening the *Price History* in a new browser tab (right-click on the price history > open in new tab). The URL of this site reveals the ID, e.g., `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`." + required: true + type: integer +description: + description: The name of the product in the front end. + required: false + default: price + type: string +locale: + description: Localisation which should be used for the request. Set this to `AT`, `EU`, `DE`, `UK` or `PL`. + required: false + default: DE + type: string +{% endconfiguration %} #### {% linkable_title Extended example %} From d840835d1b09b992e8863ca39dc6ae11f82c310d Mon Sep 17 00:00:00 2001 From: DubhAd Date: Sun, 28 Oct 2018 17:00:51 +0000 Subject: [PATCH 48/59] Adding configurator note (#7197) Now it can be set up with the integration, we probably should mention that ;) --- source/_docs/z-wave/installation.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_docs/z-wave/installation.markdown b/source/_docs/z-wave/installation.markdown index 833275cdbb7..823f3741060 100644 --- a/source/_docs/z-wave/installation.markdown +++ b/source/_docs/z-wave/installation.markdown @@ -40,6 +40,10 @@ On Raspberry Pi you will need to enable the serial interface in the `raspi-confi ## {% linkable_title Configuration %} +

+You can also use the Z-Wave *Integration* in the *Configuration* menu to set up the Z-Wave component. +

+ ```yaml # Example configuration.yaml entry zwave: From a7b9f4b625c60c87b22064d50a1e3bc63f8261dc Mon Sep 17 00:00:00 2001 From: Lindsay Ward Date: Mon, 29 Oct 2018 03:05:43 +1000 Subject: [PATCH 49/59] Update spotify component to clarify base_url and improve wording (#7143) --- .../_components/media_player.spotify.markdown | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/source/_components/media_player.spotify.markdown b/source/_components/media_player.spotify.markdown index 775f1beb3d5..8bc1f70e8a8 100644 --- a/source/_components/media_player.spotify.markdown +++ b/source/_components/media_player.spotify.markdown @@ -19,30 +19,32 @@ The `spotify` media player platform allows you to control ## {% linkable_title Prerequisites %} -- Spotify account. -- Spotify Application, properly configured +- Spotify account +- Spotify application, properly configured (see below)

-Controlling the Spotify component (pause, play, next, etc) requires a Premium account. If you do not have a Premium account, the component in the frontend will not show the controls. +Controlling the Spotify component (pause, play, next, etc.) requires a Premium account. If you do not have a Premium account, the component in the frontend will not show the controls.

-To create the required Spotify Application: +To create the required Spotify application: - Login to [Spotify Developer](https://developer.spotify.com) - Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page - Select **Create An App**. Enter any name and description. Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file. -- Add a **Redirect URI** in the following forms: +- Add a **Redirect URI** in one of the following forms: - No SSL: + If you are not using SSL: `http://:/api/spotify` - If using SSL: + If you are using SSL: `https://:/api/spotify` The URL is whatever you use to access Home Assistant from outside your network (including port if applicable). -- Click **Save** after adding the URI. You may also need to set the `base_url` attribute of the [HTTP Component](/components/http/). +- Click **Save** after adding the URI. + +You will likely also need to set the `base_url` attribute of the [HTTP Component](/components/http/). This should be set using the same base URL as the redirect URI, e.g., if you used a domain name (not local IP) in the redirect, then use the same domain name in your `base_url`. ## {% linkable_title Configuration %} @@ -62,11 +64,11 @@ media_player: {% configuration %} client_id: - description: Client ID from your Spotify Application. + description: Client ID from your Spotify application. required: true type: string client_secret: - description: Client Secret from your Spotify Application. + description: Client Secret from your Spotify application. required: true type: string cache_path: @@ -84,29 +86,27 @@ aliases: After the prerequisites and configuration are complete, restart Home Assistant. A **Spotify** configurator element will be available. Follow the instructions to authorize Home Assistant to access your Spotify account. A Spotify media player -will then appear. If Spotify prompts you to download a file after completing +will then appear. If you are prompted to download a file after completing authorization, discard the download. It is not needed. ## {% linkable_title Sources %} The sources are based on if you have streamed to these devices before in Spotify. If you don't have any sources, then simply stream from your phone to -another device in your house, Bluetooth, echo, etc. Once you do the sources will -show up in the developer console as a device to cast/stream to. Also know that -the devices won't show up in the dev-console as sources unless they are powered -on as well. +another device in your house: Bluetooth, echo, etc. Once you do, the sources will +show up in the developer console as a device to cast/stream to. The devices won't show up in the dev-console as sources unless they are powered on as well. -## {% linkable_title URI Links For Playlists/Etc %} -You can send playlists to spotify via the "media_content_type": "playlist" and -"media_content_id": "spotify:user:spotify:playlist:37i9dQZF1DWSkkUxEhrBdF" -which are a part of the +## {% linkable_title URI Links For Playlists/Etc. %} +You can send playlists to spotify via the `"media_content_type": "playlist"` and something like (depending on your content ID) +`"media_content_id": "spotify:user:spotify:playlist:37i9dQZF1DWSkkUxEhrBdF"` +which are part of the [media_player.play_media](/components/media_player/#service-media_playerplay_media) -service, you can test this from the services +service. You can test this from the services control panel in the Home Assistant frontend. -In this example this is a URI link to the Reggae Infusions playlist, -[this support document from Spotify](https://support.spotify.com/us/article/sharing-music/) +The above playlist example is a URI link to the "Reggae Infusions" playlist. +[This support document from Spotify](https://support.spotify.com/us/article/sharing-music/) explains how to get this URI value to use for playlists in the Spotify component. -## {% linkable_title Unsupported devices %} +## {% linkable_title Unsupported Devices %} -- **Sonos**: Although its a Spotify Connect device, it is not supported by the official Spotify API. +- **Sonos**: Although Sonos is a Spotify Connect device, it is not supported by the official Spotify API. From c8e634a819980565fe19394870b445a8981967d5 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 18:06:43 +0100 Subject: [PATCH 50/59] Update Kwb sensor component configuration (#7127) --- source/_components/sensor.kwb.markdown | 45 +++++++++++++++++--------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/source/_components/sensor.kwb.markdown b/source/_components/sensor.kwb.markdown index e47d36488f0..e8d5493674c 100644 --- a/source/_components/sensor.kwb.markdown +++ b/source/_components/sensor.kwb.markdown @@ -42,20 +42,33 @@ Telnet terminal server with a serial-ethernet converter: raw: False ``` -Configuration variables: +Take a good look at which configuration variables are for `TCP` use or for `serial` use. -*Required if used with a serial-ethernet converter* - -- **host**: The IP-address of the serial server -- **port**: The TCP-port of the serial server -- **type**: tcp - -*Required if used directly with a serial port* - -- **device**: The serial device of the machine -- **type**: serial - -*Optional for both cases* - -- **name**: The name of the device used in the frontend -- **raw**: Should the raw serial output be shown as a sensor +{% configuration %} +raw: + description: Should the raw serial output be shown as a sensor. + required: false + default: false + type: boolean +name: + description: The name of the device used in the frontend. + required: false + default: KWB + type: string +device: + description: (For serial use) The serial device of the machine. + required: true + type: string +host: + description: (For tcp use) The IP-address of the serial server. + required: true + type: string +port: + description: (For tcp use) The TCP-port of the serial server. + required: true + type: integer +type: + description: "Type of sensor, you can choose between: `serial` and `tcp`." + required: true + type: string +{% endconfiguration %} From 833e6a3ddcaced2df5a6abea41896b8ce3339594 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Sun, 28 Oct 2018 19:33:07 +0100 Subject: [PATCH 51/59] Update Wsdot sensor component configuration (#7125) * Update Wsdot sensor component configuration * :ambulance: Fix error * Minor changes --- source/_components/sensor.wsdot.markdown | 35 ++++++++++++++++++------ 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/source/_components/sensor.wsdot.markdown b/source/_components/sensor.wsdot.markdown index 553eea2ba09..f3f911a94bf 100644 --- a/source/_components/sensor.wsdot.markdown +++ b/source/_components/sensor.wsdot.markdown @@ -13,10 +13,14 @@ ha_iot_class: "Cloud Polling" ha_release: 0.37 --- -The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](http://wsdot.com/). +The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](http://wsdot.com/). + +## {% linkable_title Setup %} First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](http://wsdot.com/traffic/api/). Just enter your email address to instantly get the key. +## {% linkable_title Configuration %} + Once you have the code, create `wsdot` sensors by editing your `configuration.yaml` file as follows: ```yaml @@ -29,13 +33,26 @@ sensor: name: I-90 Eastbound HOV ``` -Configuration variables: - -- **api_key** (*Required*): Your `api_key` from WSDOT. -- **scan_interval** (*Optional*): How frequently to query for new data. Default: 3 minutes. -- **travel_time** array (*Required*): List of routes. - - **id** (*Required*): Name of the route. - - **name** (*Optional*): Name of the route. Default just uses `id`. +{% configuration %} +api_key: + description: Your API key from WSDOT. + required: true + type: string +travel_time: + description: List of routes. + required: true + type: list + keys: + id: + description: ID of the route. + required: true + type: string + name: + description: Name of the route. + required: false + default: Just uses `id` + type: string +{% endconfiguration %} Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `http://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need. @@ -44,7 +61,7 @@ Some common examples include: ```text 73 Issaquah-Seattle (WB PM) 74 Seattle-Issaquah (EB AM) - 75 HOV Issaquah-Seattle (WB REV) + 75 HOV Issaquah-Seattle (WB REV) 76 Issaquah-Seattle (WB REV) 77 HOV Redmond-Seattle (WB PM) 78 HOV Seattle-Redmond (EB AM) From c7961748811253c8c52a52190d0cfc8979273f5e Mon Sep 17 00:00:00 2001 From: Jonas Skoogh Date: Sun, 28 Oct 2018 19:34:01 +0100 Subject: [PATCH 52/59] Added tip of the Workday Binary Sensor (#7203) --- source/_docs/scripts/conditions.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown index ed9c4b8782a..d7c77e06cf9 100644 --- a/source/_docs/scripts/conditions.markdown +++ b/source/_docs/scripts/conditions.markdown @@ -173,6 +173,10 @@ condition: Valid values for `weekday` are `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`. Time condition windows can span across the midnight threshold. In the example above, the condition window is from 3pm to 2am. +

+A better weekday condition could be by using the [Workday Binary Sensor](/components/binary_sensor.workday/). +

+ ### {% linkable_title Zone condition %} Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/components/device_tracker.owntracks/) and the [iCloud platform](/components/device_tracker.icloud/). From 3975b870021f5a766f86048ec2cafc6c2a98ddd5 Mon Sep 17 00:00:00 2001 From: Tsvi Mostovicz Date: Mon, 29 Oct 2018 00:08:23 +0200 Subject: [PATCH 53/59] Update instructions based on codebase (#7213) Default language is English, also in code. So make the documentation reflect that. --- source/_components/sensor.jewish_calendar.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.jewish_calendar.markdown b/source/_components/sensor.jewish_calendar.markdown index 49eccc7da36..58fe03e5799 100644 --- a/source/_components/sensor.jewish_calendar.markdown +++ b/source/_components/sensor.jewish_calendar.markdown @@ -27,7 +27,7 @@ sensor: {% configuration %} language: required: false - default: hebrew + default: english description: Whether to represent the sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishri 5779). type: string latitude: From 17910bee77d727936fd3e782f99f127a7c4bf6c9 Mon Sep 17 00:00:00 2001 From: Tsvi Mostovicz Date: Mon, 29 Oct 2018 00:16:35 +0200 Subject: [PATCH 54/59] Remove comment about weekly portion (#7211) This has been fixed in#17447 so this comment is irrelevant --- source/_components/sensor.jewish_calendar.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.jewish_calendar.markdown b/source/_components/sensor.jewish_calendar.markdown index 58fe03e5799..2d0e6c2be49 100644 --- a/source/_components/sensor.jewish_calendar.markdown +++ b/source/_components/sensor.jewish_calendar.markdown @@ -53,7 +53,7 @@ sensors: date: description: Show the hebrew date for today. weekly_portion: - description: Show the weekly portion (parshat hashavu'a) - _At the moment only shows up on Saturday's_. + description: Show the weekly portion (parshat hashavu'a). holiday_name: description: If it is a holiday, show the name of the holiday. holyness: From 7a58994b9a63c15676e693ef669eb9072b24496b Mon Sep 17 00:00:00 2001 From: bonanitech Date: Sun, 28 Oct 2018 18:25:05 -0400 Subject: [PATCH 55/59] Update weather.yweather.markdown (#7214) Include a note warning users about the Yahoo Weather API retirement. --- source/_components/weather.yweather.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/_components/weather.yweather.markdown b/source/_components/weather.yweather.markdown index 7f9744a3938..382cbf26509 100644 --- a/source/_components/weather.yweather.markdown +++ b/source/_components/weather.yweather.markdown @@ -12,6 +12,10 @@ ha_category: Weather ha_release: 0.47 --- +

+The Yahoo Weather API is being [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`darksky` weather](/components/weather.darksky/). +

+ The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as a source for current meteorological data. This component will show you the condition and temperatures for max. 10 days.

From 3c44d2b37a9471ebf904d6433335444ae59b77ea Mon Sep 17 00:00:00 2001 From: bonanitech Date: Sun, 28 Oct 2018 18:25:40 -0400 Subject: [PATCH 56/59] Update sensor.yweather.markdown (#7215) Include a note warning users about the Yahoo Weather API retirement. --- source/_components/sensor.yweather.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/_components/sensor.yweather.markdown b/source/_components/sensor.yweather.markdown index befc4a37d5e..9c28369fca4 100644 --- a/source/_components/sensor.yweather.markdown +++ b/source/_components/sensor.yweather.markdown @@ -13,6 +13,9 @@ ha_release: 0.24 ha_iot_class: "Cloud Polling" --- +

+The Yahoo Weather API is being [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`darksky` sensor](/components/sensor.darksky/). +

The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as a source for current meteorological data. The `forecast` will show you the condition for 5 days, 0 is the current day. You can use only `weather`, `temp_min`, and `temp_max` with forecast. It's important to note that a yweather sensor will only show ONE days forecast at a time so to show multiple days forecasts, you will need to use the 'name:' option and give each sensor a unique name. From 91baeb85ba33fdd269cabb15624a58670bc5a742 Mon Sep 17 00:00:00 2001 From: Lindsay Ward Date: Mon, 29 Oct 2018 08:28:10 +1000 Subject: [PATCH 57/59] Update NO-IP docs to clarify what it does and doesn't do (#7216) --- source/_components/no_ip.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_components/no_ip.markdown b/source/_components/no_ip.markdown index 8456c6678dc..6fd472b8de5 100644 --- a/source/_components/no_ip.markdown +++ b/source/_components/no_ip.markdown @@ -12,9 +12,9 @@ ha_category: Network ha_release: 0.57 --- -With the `no_ip` component you can keep your [NO-IP.com](https://www.noip.com) record up to date. - +With the `no_ip` component you can keep your current IP address in sync with your [NO-IP.com](https://www.noip.com) hostname or domain. +Note that it does not confirm your hostname (as is required periodically for free domain names); you will still need to do that manually. To use the component in your installation, add the following to your `configuration.yaml` file: @@ -28,7 +28,7 @@ no_ip: {% configuration %} domain: - description: Your FQDN. + description: Your fully qualified domain name (FQDN). required: true type: string username: From 62faa294b560014499cca0b5ddac70a57087befd Mon Sep 17 00:00:00 2001 From: Johann Kellerman Date: Mon, 29 Oct 2018 00:30:57 +0200 Subject: [PATCH 58/59] Update sensor.sma.markdown (#7204) --- source/_components/sensor.sma.markdown | 34 +++++++++++++++++++------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/source/_components/sensor.sma.markdown b/source/_components/sensor.sma.markdown index 82915cfd8ee..cb130590517 100644 --- a/source/_components/sensor.sma.markdown +++ b/source/_components/sensor.sma.markdown @@ -15,6 +15,8 @@ ha_release: 0.36 The `sma` sensor will poll a [SMA](http://www.sma-solar.com/) [(US)](http://www.sma-america.com/) solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant. +This sensor uses the web interface and in order to use it you have to be able to connect to the solar inverter from your favorite web browser. + ## {% linkable_title Configuration %} To enable this sensor, add the following lines to your `configuration.yaml` file: @@ -51,22 +53,36 @@ group: default: user type: string sensors: - description: A dictionary of sensors that will be added. The value of the dictionary can include sensor names that will be shown as attributes. + description: A dictionary of sensors that will be added. The value of the dictionary can include a list of sensor names that will be used as attributes. required: true - type: list + type: map keys: current_power: - description: Current power. + description: Current power (W). current_consumption: - description: Current consumption. - total_power: - description: Total power. + description: Power that you are currently drawing, depending on your installation it can be a combination of the inverter and the grid (W). + total_yield: + description: Total power yield from solar installation (kWh). total_consumption: - description: Total consumption. + description: Total power consumption (kWh). + grid_voltage: + description: The grid voltage (V) + pv_power: + description: PV Power (W) + daily_yield: + description: daily_yield (Wh) + power_supplied: + description: Power supplied (W) + power_absorbed: + description: Power absorbed (W) + status: + description: Status of the solar plant. + your-custom-sensor: + description: Any sensor name defined in the `custom:` section custom: description: A dictionary of custom sensor key values and units. required: false - type: list + type: map keys: key: description: The SMA sensor key. @@ -102,4 +118,4 @@ Example: factor: 1000 ``` -Over time more sensors will be added as standard sensors to the [pysma library](https://github.com/kellerza/pysma/blob/master/pysma/__init__.py#L18). Feel free to submit additional sensors on that repository. +Over time more sensors will be added as standard sensors to the [pysma library](https://github.com/kellerza/pysma/blob/master/pysma/__init__.py#L59). Feel free to submit additional sensors on that repository. From 4f89bc37865c67abcd9277e1bdaf28e50ce95d71 Mon Sep 17 00:00:00 2001 From: Christoffer Graversen Date: Sun, 28 Oct 2018 23:42:11 +0100 Subject: [PATCH 59/59] Updated Configuration Variables for DTE Energy Bridge (#7116) * Updated Configuration Variables for DTE Energy Bridge * Updated Configuration Variables for ISY994 Controller * Added default values to Configuration Variables for ISY994 Controller * Added default values to Configuration Variables for DTE Energy Bridge --- source/_components/isy994.markdown | 42 +++++++++++++++---- .../sensor.dte_energy_bridge.markdown | 20 ++++++--- 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/source/_components/isy994.markdown b/source/_components/isy994.markdown index 1c833178215..23452d0b6b7 100644 --- a/source/_components/isy994.markdown +++ b/source/_components/isy994.markdown @@ -30,15 +30,39 @@ isy994: password: ISY_PASSWORD ``` -Configuration variables: - -- **host** (*Required*): The host entry should be in full URL format, eg. http://192.168.10.100:80 -- **username** (*Required*): The username that used to access the ISY interface. -- **password** (*Required*): The password that used to access the ISY interface. -- **sensor_string** (*Optional*): This is the string that is used to identify which devices are to be assumed to be sensors instead of lights of switches. By default, this string is 'sensor'. If this string is found in the device name or folder, Home Assistant will assume it is as a sensor or binary sensor (if the device has on/off or true/false states). This is only necessary for nodes that are not automatically detected as sensors by Home Assistant. Insteon door, window, motion and leak sensors should all be detected automatically. -- **ignore_string** (*Optional*): Any devices that contain this string in their name (or folder path) will be ignored by Home Assistant. They will not become entities at all. The default value is `{IGNORE ME}`. -- **enable_climate** (*Optional*): When enabled, climate measurements from the optional climate module in the ISY994 will show up in Home Assistant as sensors. The default value is `True`. -- **tls** (*Optional*): This entry should reflect the version of TLS that the ISY controller is using for HTTPS encryption. This value can be either 1.1 or 1.2. If this value is not set, it is assumed to be version 1.1. This is the default for most users. ISY994 Pro users may likely be using 1.2. When using HTTPS in the host entry, it is best practice to set this value. +{% configuration %} +host: + description: The host entry should be in full URL format, eg. http://192.168.10.100:80 + required: true + type: string +username: + description: The username that used to access the ISY interface. + required: true + type: string +password: + description: The password that used to access the ISY interface. + required: true + type: string +sensor_string: + description: This is the string that is used to identify which devices are to be assumed to be sensors instead of lights of switches. If this string is found in the device name or folder, Home Assistant will assume it is as a sensor or binary sensor (if the device has on/off or true/false states). This is only necessary for nodes that are not automatically detected as sensors by Home Assistant. Insteon door, window, motion and leak sensors should all be detected automatically. + required: false + type: string + default: sensor +ignore_string: + description: Any devices that contain this string in their name (or folder path) will be ignored by Home Assistant. They will not become entities at all. + required: false + type: string + default: {IGNORE ME} +enable_climate: + description: When enabled, climate measurements from the optional climate module in the ISY994 will show up in Home Assistant as sensors. + required: false + type: string + default: true +tls: + description: This entry should reflect the version of TLS that the ISY controller is using for HTTPS encryption. This value can be either 1.1 or 1.2. If this value is not set, it is assumed to be version 1.1. This is the default for most users. ISY994 Pro users may likely be using 1.2. When using HTTPS in the host entry, it is best practice to set this value. + required: false + type: string +{% endconfiguration %} Once the ISY controller is configured, it will automatically import any binary sensors, covers, fans, lights, locks, sensors and switches it can locate. diff --git a/source/_components/sensor.dte_energy_bridge.markdown b/source/_components/sensor.dte_energy_bridge.markdown index 80028de606c..66428e62e25 100644 --- a/source/_components/sensor.dte_energy_bridge.markdown +++ b/source/_components/sensor.dte_energy_bridge.markdown @@ -27,8 +27,18 @@ sensor: ip: 192.168.1.11 ``` -Configuration variables: - -- **ip** (*Required*): The IP address of your bridge. -- **name** (*Optional*): Name to use in the frontend. -- **version** (*Optional*): Hardware version of the sensor. Defaults to 1. +{% configuration %} +ip: + description: The IP address of your bridge. + required: true + type: string +name: + description: Name to use in the frontend. + required: false + type: string +version: + description: Hardware version of the sensor. + required: false + type: string + default: 1 +{% endconfiguration %} \ No newline at end of file