diff --git a/_config.yml b/_config.yml index 0b462885387..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-29 +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/_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 diff --git a/source/_components/binary_sensor.workday.markdown b/source/_components/binary_sensor.workday.markdown index 3a9b3253922..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: @@ -100,3 +100,9 @@ automation: service: switch.turn_on 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. +
+ +[devices]: https://www.home-assistant.io/docs/configuration/devices/ 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" --- 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" 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" 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/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. 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. 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/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/ 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] 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 %} 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 %} 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 %} 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://-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 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: 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.
**Water-saving suggestion:**
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/_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: 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/). 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). - 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 %} 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 %} 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 %} 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 %} diff --git a/source/_components/sensor.jewish_calendar.markdown b/source/_components/sensor.jewish_calendar.markdown index 49eccc7da36..2d0e6c2be49 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: @@ -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: 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 %} 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. 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 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 %} 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. diff --git a/source/_components/sensor.template.markdown b/source/_components/sensor.template.markdown index eb5a34a6acb..551b3d3b369 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: @@ -51,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: @@ -288,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 @@ -297,7 +301,43 @@ 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" ``` {% 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 %} 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) 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. 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 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 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" 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.
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., `
+A better weekday condition could be by using the [Workday Binary Sensor](/components/binary_sensor.workday/).
+
+You can also use the Z-Wave *Integration* in the *Configuration* menu to set up the Z-Wave component.
+
-
-
-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.
- 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.
-Screenshot of the gauge card.
-
-Screenshot of the gauge card with custom title and unit of measurement.
-