Merge branch 'current' into next

This commit is contained in:
Fabian Affolter 2018-10-28 23:44:09 +01:00
commit 19ee7bdceb
No known key found for this signature in database
GPG Key ID: E23CD2DD36A4397F
52 changed files with 674 additions and 402 deletions

View File

@ -142,13 +142,13 @@ social:
# Home Assistant release details # Home Assistant release details
current_major_version: 0 current_major_version: 0
current_minor_version: 81 current_minor_version: 81
current_patch_version: 0 current_patch_version: 1
date_released: 2018-10-29 date_released: 2018-10-28
# Either # or the anchor link to latest release notes in the blog post. # Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it. # Must be prefixed with a # and have double quotes around it.
# Major release: # Major release:
patch_version_notes: "#" patch_version_notes: "#release-0811---october-28"
# Minor release (Example #release-0431---april-25): # Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments # Date we moved to Discourse for comments

View File

@ -52,7 +52,7 @@ sensors:
type: string type: string
device_class: device_class:
description: > 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. the sensor to set the icon in the frontend.
required: false required: false
type: string type: string

View File

@ -45,13 +45,13 @@ name:
country: country:
description: > description: >
Country code according to Country code according to
[holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. [holidays](https://pypi.org/project/holidays/) notation.
required: true required: true
type: string type: string
province: province:
description: > description: >
Province code according to Province code according to
[holidays](https://pypi.python.org/pypi/holidays/0.9.4) notation. [holidays](https://pypi.org/project/holidays/) notation.
required: false required: false
type: string type: string
workdays: workdays:
@ -100,3 +100,9 @@ automation:
service: switch.turn_on service: switch.turn_on
entity_id: switch.heater entity_id: switch.heater
``` ```
<p class='note'>
Please remember that [as explained here][devices] you can only have a single `automation:` entry. Add the automation to your existing automations.
</p>
[devices]: https://www.home-assistant.io/docs/configuration/devices/

View File

@ -8,7 +8,7 @@ comments: false
sharing: true sharing: true
footer: true footer: true
ha_category: Camera ha_category: Camera
logo: camcorder.png logo: home-assistant.png
ha_release: pre 0.7 ha_release: pre 0.7
ha_iot_class: "depends" ha_iot_class: "depends"
--- ---

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
logo: camcorder.png logo: home-assistant.png
ha_category: Camera ha_category: Camera
ha_release: pre 0.7 ha_release: pre 0.7
ha_iot_class: "depends" ha_iot_class: "depends"

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
logo: heat-control.png logo: home-assistant.png
ha_category: Climate ha_category: Climate
ha_release: pre 0.7 ha_release: pre 0.7
ha_iot_class: "Local Polling" ha_iot_class: "Local Polling"

View File

@ -24,8 +24,8 @@ It uses a sensor under the hood to obtain the current temperature.
climate: climate:
- platform: mqtt - platform: mqtt
name: Study name: Study
current_temperature_topic: /sensors/hvac_study/current_temp current_temperature_topic: sensors/hvac_study/current_temp
temperature_command_topic: /sensors/hvac_study/target_temp temperature_command_topic: sensors/hvac_study/target_temp
``` ```
{% configuration %} {% configuration %}
@ -58,12 +58,12 @@ payload_on:
description: The payload that represents enabled state. description: The payload that represents enabled state.
required: false required: false
type: string type: string
default: ON default: "ON"
payload_off: payload_off:
description: The payload that represents disabled state. description: The payload that represents disabled state.
required: false required: false
type: string type: string
default: OFF default: "OFF"
availability_topic: availability_topic:
description: The MQTT topic subscribed to receive availability (online/offline) updates. description: The MQTT topic subscribed to receive availability (online/offline) updates.
required: false required: false
@ -224,9 +224,9 @@ climate:
- platform: mqtt - platform: mqtt
name: Study name: Study
modes: modes:
- off - "off"
- on - "on"
- auto - "auto"
mode_command_topic: "study/ac/mode/set" mode_command_topic: "study/ac/mode/set"
mode_state_topic: "study/ac/mode/state" mode_state_topic: "study/ac/mode/state"
mode_state_template: "{{ value_json }}" mode_state_template: "{{ value_json }}"
@ -246,16 +246,16 @@ climate:
- platform: mqtt - platform: mqtt
name: Study name: Study
modes: modes:
- off - "off"
- cool - "cool"
- fan_only - "fan_only"
swing_modes: swing_modes:
- on - "on"
- off - "off"
fan_modes: fan_modes:
- high - "high"
- medium - "medium"
- low - "low"
power_command_topic: "study/ac/power/set" power_command_topic: "study/ac/power/set"
mode_command_topic: "study/ac/mode/set" mode_command_topic: "study/ac/mode/set"
temperature_command_topic: "study/ac/temperature/set" temperature_command_topic: "study/ac/temperature/set"

View File

@ -54,11 +54,12 @@ Some BTLE devices (e.g., fitness trackers) are only visible to the devices that
## {% linkable_title Rootless Setup %} ## {% 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 ```bash
$ sudo apt-get install libcap2-bin $ sudo apt-get install libcap2-bin
$ sudo setcap 'cap_net_raw,cap_net_admin+eip' `readlink -f \`which python3\`` $ 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. A restart of Home Assistant is required.

View File

@ -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. 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 %}
<p class='note'>
Owntracks v2.0.0 removes support for iBecons on Android.
</p>
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. 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.

View File

@ -50,12 +50,12 @@ payload_on:
description: The payload that represents the running state. description: The payload that represents the running state.
required: false required: false
type: string type: string
default: ON default: "ON"
payload_off: payload_off:
description: The payload that represents the stop state. description: The payload that represents the stop state.
required: false required: false
type: string type: string
default: OFF default: "OFF"
state_value_template: state_value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the state." description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the state."
required: false required: false

View File

@ -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`. 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.
<p class='note'
Please remember that [as explained here][devices] you can only have a single `automation:` entry. Add the automation to your existing automations, or use `automation homekit:`
</p>
{% raw %} {% raw %}
```yaml ```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` %} #### {% 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. 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/

View File

@ -28,9 +28,23 @@ light:
password: 36478643 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] E LedoBleSDK: login =skName=======[Smart Light]=======skPw==[password]

View File

@ -93,10 +93,11 @@ This component is tested to work with the following models. If you have a differ
| `strip1` | YLDD02YL | Lightstrip (Color) | | `strip1` | YLDD02YL | Lightstrip (Color) |
| `bslamp1` | MJCTD01YL | Xiaomi Mijia Bedside Lamp - WIFI Version! | | `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) | | `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 | | `ceiling1` | YLXD01YL | Yeelight Ceiling Light |
| `ceiling2` | YLXD01YL | Yeelight Smart LED Ceiling Light - Youth Version | | `ceiling2` | YLXD03YL | Yeelight Ceiling Light - Youth Version |
| `ceiling3` | ? | Yeelight Ceiling Light | | ?, may be `ceiling3` | YLXD04YL | Yeelight Ceiling Light (Jiaoyue 450) |
| `ceiling4` | YLXD02YL | Yeelight Ceiling Light 4 (Jiaoyue 650) | | `ceiling3` | YLXD05YL | Yeelight Ceiling Light (Jiaoyue 480) |
| `ceiling4` | YLXD02YL | Yeelight Ceiling Light (Jiaoyue 650) |
## {% linkable_title Platform Services %} ## {% linkable_title Platform Services %}

View File

@ -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. 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 ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
light: light:
- platform: zengge - platform: zengge
devices: devices:
C4:BE:84:51:54:8B: "C4:BE:84:51:54:8B":
name: Living Room name: Living Room
``` ```
Configuration variables:
- **devices** array (*Required*): List of your devices/bulbs. {% configuration %}
- **MAC address** (*Required*): The MAC address of the bulb. devices:
- **name** (*Optional*): Friendly name for the frontend. 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 %}

View File

@ -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. 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 ```yaml
lock: lock:
- platform: lockitron - platform: lockitron
access_token: asdf access_token: YOUR_ACCESS_TOKEN
id: fdsa id: YOUR_ID
``` ```
Configuration variables: {% configuration %}
access_token:
- **access_token** (*Required*): The usernThe security token provided by Lockitron to lock and unlock your lock. description: The security token provided by Lockitron to lock and unlock your lock.
- **id** (*Required*): The lock id given by Lockitron (should be a GUID). required: true
type: string
id:
description: The lock id given by Lockitron (should be a GUID).
required: true
type: string
{% endconfiguration %}

View File

@ -19,30 +19,32 @@ The `spotify` media player platform allows you to control
## {% linkable_title Prerequisites %} ## {% linkable_title Prerequisites %}
- Spotify account. - Spotify account
- Spotify Application, properly configured - Spotify application, properly configured (see below)
<p class='note'> <p class='note'>
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.
</p> </p>
To create the required Spotify Application: To create the required Spotify application:
- Login to [Spotify Developer](https://developer.spotify.com) - Login to [Spotify Developer](https://developer.spotify.com)
- Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page - 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. - 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://<your_home_assistant_url_or_local_ip>:<port>/api/spotify` `http://<your_home_assistant_url_or_local_ip>:<port>/api/spotify`
If using SSL: If you are using SSL:
`https://<your_home_assistant_url_or_local_ip>:<port>/api/spotify` `https://<your_home_assistant_url_or_local_ip>:<port>/api/spotify`
The URL is whatever you use to access Home Assistant from outside your network The URL is whatever you use to access Home Assistant from outside your network
(including port if applicable). (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 %} ## {% linkable_title Configuration %}
@ -62,11 +64,11 @@ media_player:
{% configuration %} {% configuration %}
client_id: client_id:
description: Client ID from your Spotify Application. description: Client ID from your Spotify application.
required: true required: true
type: string type: string
client_secret: client_secret:
description: Client Secret from your Spotify Application. description: Client Secret from your Spotify application.
required: true required: true
type: string type: string
cache_path: cache_path:
@ -84,29 +86,27 @@ aliases:
After the prerequisites and configuration are complete, restart Home Assistant. After the prerequisites and configuration are complete, restart Home Assistant.
A **Spotify** configurator element will be available. Follow the instructions to A **Spotify** configurator element will be available. Follow the instructions to
authorize Home Assistant to access your Spotify account. A Spotify media player 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. authorization, discard the download. It is not needed.
## {% linkable_title Sources %} ## {% linkable_title Sources %}
The sources are based on if you have streamed to these devices before in 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 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 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 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.
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 %} ## {% linkable_title URI Links For Playlists/Etc. %}
You can send playlists to spotify via the "media_content_type": "playlist" and 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" `"media_content_id": "spotify:user:spotify:playlist:37i9dQZF1DWSkkUxEhrBdF"`
which are a part of the which are part of the
[media_player.play_media](/components/media_player/#service-media_playerplay_media) [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. control panel in the Home Assistant frontend.
In this example this is a URI link to the Reggae Infusions playlist, 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/) [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. 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.

View File

@ -13,11 +13,11 @@ featured: true
ha_iot_class: "Local Push" 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 %} ### {% 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 ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -62,7 +62,7 @@ mysensors:
type: string type: string
default: '' default: ''
nodes: 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 required: false
type: map type: map
keys: keys:
@ -93,7 +93,7 @@ mysensors:
{% endconfiguration %} {% endconfiguration %}
<p class='note'> <p class='note'>
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.
</p> </p>
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. 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* $ 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 ```yaml
mqtt: mqtt:
@ -152,8 +152,8 @@ Present a MySensors sensor or actuator, by following these steps:
3. Start Home Assistant. 3. Start Home Assistant.
4. Write and upload your MySensors sketch to the sensor. Make sure you: 4. Write and upload your MySensors sketch to the sensor. Make sure you:
- Send sketch name. - Send sketch name.
- Present the sensor's S_TYPE. - 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. - 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. 5. Start the sensor.
```cpp ```cpp
@ -254,11 +254,11 @@ logger:
homeassistant.components.mysensors: debug homeassistant.components.mysensors: debug
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. 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

View File

@ -12,9 +12,9 @@ ha_category: Network
ha_release: 0.57 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: To use the component in your installation, add the following to your `configuration.yaml` file:
@ -28,7 +28,7 @@ no_ip:
{% configuration %} {% configuration %}
domain: domain:
description: Your FQDN. description: Your fully qualified domain name (FQDN).
required: true required: true
type: string type: string
username: username:

View File

@ -14,7 +14,8 @@ ha_release: "0.52"
<p class='note'> <p class='note'>
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: <a href="https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership">announcement</a>. 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: <a href="https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership">announcement</a>.
<br>
<br>
Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch. Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch.
</p> </p>
@ -58,7 +59,7 @@ notify:
default: false default: false
type: boolean type: boolean
format: 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 required: false
default: text default: text
type: string type: string

View File

@ -29,13 +29,24 @@ To add this platform to your installation, add the following to your `configurat
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
rachio: rachio:
api_key: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx api_key: YOUR_API_KEY
``` ```
Configuration variables: {% configuration %}
api_key:
- **api_key** (*Required*): The API key for the Rachio account. description: 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. 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 %}
<p class='note'> <p class='note'>
**Water-saving suggestion:**<br> **Water-saving suggestion:**<br>

View File

@ -13,13 +13,13 @@ ha_release: pre 0.7
ha_qa_scale: internal 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`. 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 ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -33,7 +33,7 @@ recorder:
type: map type: map
keys: keys:
db_url: db_url:
description: The URL which points to your database. description: The URL that points to your database.
required: false required: false
type: URL type: URL
purge_keep_days: purge_keep_days:
@ -47,7 +47,7 @@ recorder:
default: 1 default: 1
type: integer type: integer
exclude: exclude:
description: Configure which components should be excluded description: Configure which components should be excluded from recordings.
required: false required: false
type: map type: map
keys: keys:
@ -74,7 +74,7 @@ recorder:
type: List type: List
{% endconfiguration %} {% 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 ```yaml
# Example configuration.yaml entry with exclude # Example configuration.yaml entry with exclude
@ -92,7 +92,7 @@ recorder:
- sensor.date - 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 ```yaml
# Example configuration.yaml entry with include # Example configuration.yaml entry with include
@ -104,7 +104,7 @@ recorder:
- media_player - 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 ```yaml
# Example configuration.yaml entry with include and exclude # Example configuration.yaml entry with include and exclude
@ -120,7 +120,7 @@ recorder:
- sensor.date - 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` %} ### {% 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 %} ### {% 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_boolean`](/components/input_boolean/#restore-state)
* [`input_number`](/components/input_number/#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 %} ## {% linkable_title Custom database engines %}
| Database engine | `db_url` | | Database engine | `db_url` |
| :---------------|:---------------------------------------------------------| | :---------------|:---------------------------------------------------------|
| SQLite | `sqlite:////PATH/TO/DB_NAME` | | SQLite | `sqlite:////PATH/TO/DB_NAME` |
| MariaDB | `mysql://SERVER_IP/DB_NAME?charset=utf8` | | 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
</p> </p>
<p class='note'> <p class='note'>
Unix Socket connections always bring performance advantages over TCP, if the database on the same host as the `recorder` instance (i.e. `localhost`).</p> Unix Socket connections always bring performance advantages over TCP, if the database is on the same host as the `recorder` instance (i.e. `localhost`).</p>
<p class='note warning'> <p class='note warning'>
If you want to use Unix Sockets for PostgreSQL you need to modify the `pg_hba.conf`. See [PostgreSQL](#postgresql)</p> If you want to use Unix Sockets for PostgreSQL you need to modify the `pg_hba.conf`. See [PostgreSQL](#postgresql)</p>
@ -196,7 +196,7 @@ $ sudo systemctl daemon-reload
## {% linkable_title Installation notes %} ## {% 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 %} ### {% linkable_title MariaDB and MySQL %}
@ -208,7 +208,7 @@ homeassistant@homeassistant:~$ source /srv/homeassistant/bin/activate
(homeassistant) homeassistant@homeassistant:~$ pip3 install mysqlclient (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`: On the Python side we use the `mysqlclient`:
@ -224,7 +224,7 @@ $ sudo apt-get install default-libmysqlclient-dev libssl-dev
$ pip3 install mysqlclient $ 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. 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: Reload the PostgreSQL configuration after that:
```bash ```bash
$ sudo -i -u postgres psql -c "SELECT pg_reload_conf();" $ sudo -i -u postgres psql -c "SELECT pg_reload_conf();"
pg_reload_conf pg_reload_conf
---------------- ----------------
t t
(1 row) (1 row)

View File

@ -24,7 +24,7 @@ rfxtrx:
{% configuration %} {% configuration %}
device: 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 required: true
type: string type: string
debug: debug:

View File

@ -13,10 +13,9 @@ ha_iot_class: "Cloud Polling"
ha_release: 0.36 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_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] https://data.dublinked.ie/cgi-bin/rtpi/realtimebusinformation?stopid=[Stop ID]
@ -29,10 +28,20 @@ sensor:
stopid: STOP_ID stopid: STOP_ID
``` ```
Configuration variables: {% configuration %}
stopid:
- **stopid** (*Required*): The ID of the bus stop to get the information for. description: 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`. required: true
- **name** (*Optional*): A friendly name for this sensor. 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/). The public RTPI information is coming from [Dub Linked](https://data.dublinked.ie/).

View File

@ -13,7 +13,6 @@ ha_release: "0.10"
ha_iot_class: "Cloud Polling" 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. 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: To enable this sensor in your installation, add the following to your `configuration.yaml` file:
@ -26,11 +25,20 @@ sensor:
channel_id: CHANNEL_ID channel_id: CHANNEL_ID
``` ```
Configuration variables: {% configuration %}
access_token:
- **access_token** (*Required*): The Access Token for your account. description: The Access Token for your account.
- **channel_id** (*Required*): Channel ID (as integer) of your device. required: true
- **name** (*Optional*): The name of the sensor, eg. the city. 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). For details please check the [API documentation](https://eliq.zendesk.com/hc/en-us/articles/115002708449-API-Eliq-Online).

View File

@ -21,17 +21,30 @@ To enable this sensor, add the following lines to your `configuration.yaml` file
# Example configuration.yaml entry # Example configuration.yaml entry
sensor: sensor:
- platform: geizhals - platform: geizhals
name: qc35 name: PRODUCT_NAME
product_id: 1696985 product_id: PRODUCT_ID
``` ```
Configuration variables: {% configuration %}
name:
- **name** (*Required*): The internal name of the product in Home Assistant. description: 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). required: true
The URL of this site reveals the ID, e.g., `https://geizhals.de/?phist=1696985` with a `product_id` of `1696985`. type: string
- **description** (*Optional*): The name of the product in the front end. product_id:
- **locale** (*Optional*): Localisation which should be used for the request. Set this to `AT`, `EU`, `DE`, `UK` or `PL`. Defaults to `DE`. 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 %} #### {% linkable_title Extended example %}

View File

@ -36,17 +36,64 @@ sensor:
destination: Paris, France destination: Paris, France
``` ```
Configuration variables: {% configuration %}
api_key:
- **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. description: 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:`. required: true
- **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. type: string
- **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). origin:
- **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). 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:`."
- **mode** (*Optional*): The travel mode used to calculate the directions/time. Can be `driving` (*Default*), `bicycling`, `transit` or `walking`. required: true
- **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. type: string
- **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. destination:
- **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:`. 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 %} ## {% linkable_title Dynamic Configuration %}

View File

@ -13,7 +13,6 @@ ha_release: 0.48
ha_iot_class: "Local Push" 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). 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: Tested devices:
@ -30,11 +29,18 @@ sensor:
- platform: htu21d - platform: htu21d
``` ```
Configuration variables: {% configuration %}
name:
- **name** (*Optional*): The name of the sensor description: The name of the sensor.
- **i2c_bus** (*Optional*): I2c bus where the sensor is. Defaults to 1, for Raspberry Pi 2 and 3. 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 %} ## {% linkable_title Customizing the sensor data %}

View File

@ -27,24 +27,77 @@ sensor:
measurement: '"°C"' 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 %} ## {% linkable_title Examples %}

View File

@ -27,7 +27,7 @@ sensor:
{% configuration %} {% configuration %}
language: language:
required: false required: false
default: hebrew default: english
description: Whether to represent the sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishri 5779). description: Whether to represent the sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishri 5779).
type: string type: string
latitude: latitude:
@ -53,7 +53,7 @@ sensors:
date: date:
description: Show the hebrew date for today. description: Show the hebrew date for today.
weekly_portion: 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: holiday_name:
description: If it is a holiday, show the name of the holiday. description: If it is a holiday, show the name of the holiday.
holyness: holyness:

View File

@ -42,20 +42,33 @@ Telnet terminal server with a serial-ethernet converter:
raw: False 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* {% configuration %}
raw:
- **host**: The IP-address of the serial server description: Should the raw serial output be shown as a sensor.
- **port**: The TCP-port of the serial server required: false
- **type**: tcp default: false
type: boolean
*Required if used directly with a serial port* name:
description: The name of the device used in the frontend.
- **device**: The serial device of the machine required: false
- **type**: serial default: KWB
type: string
*Optional for both cases* device:
description: (For serial use) The serial device of the machine.
- **name**: The name of the device used in the frontend required: true
- **raw**: Should the raw serial output be shown as a sensor 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 %}

View File

@ -52,14 +52,34 @@ sensor:
gas_secret: 'GAS_SECRET' gas_secret: 'GAS_SECRET'
``` ```
Configuration variables: {% configuration %}
electricity_serial:
- **electricity_serial** (*Required*): Serial number of your electricity sensor description: Serial number of your electricity sensor.
- **electricity_secret** (*Required*): Secret key for your electricity sensor required: true
- **gas_serial** (*Optional*): Serial number for your gas sensor. type: string
- **gas_secret** (*Optional*): Secret key for your gas sensor. electricity_secret:
- **gas_type** (*Optional*): Type of meter `imperial` or `metric`. Defaults to `metric`. description: Secret key for your electricity sensor.
- **gas_calorific** (*Optional*): Calorific value of your gas supply (usually on your gas bill). Defaults to 39.11. 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. The electricity readings are updated every 10 seconds and the gas readings every 15 minutes.

View File

@ -13,10 +13,8 @@ ha_iot_class: "Cloud Polling"
ha_release: 0.41 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/). 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`. 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: To enable this sensor, add the following lines to your `configuration.yaml` file:
@ -27,20 +25,41 @@ sensor:
- platform: lyft - platform: lyft
client_id: CLIENT_ID client_id: CLIENT_ID
client_secret: CLIENT_SECRET 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). A full configuration entry could look like the sample below:
- **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:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
@ -48,7 +67,7 @@ sensor:
- platform: lyft - platform: lyft
client_id: CLIENT_ID client_id: CLIENT_ID
client_secret: CLIENT_SECRET client_secret: CLIENT_SECRET
start_latitude: 37.8116380 start_latitude: 37.8116380
start_longitude: -122.2648050 start_longitude: -122.2648050
end_latitude: 37.615223 end_latitude: 37.615223
end_longitude: -122.389977 end_longitude: -122.389977

View File

@ -14,7 +14,6 @@ ha_release: "0.31"
ha_qa_scale: internal 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. 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. 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 - sensor.office_temperature
``` ```
Configuration variables: {% configuration %}
entity_ids:
- **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. 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.
- **type** (*Optional*): The type of sensor: `min`, `max`, `last` or `mean`. Defaults to `max`. required: true
- **name** (*Optional*): Name of the sensor to use in the frontend. type: [list, string]
- **round_digits** (*Optional*): Round mean value to specified number of digits. Defaults to 2. 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 %}

View File

@ -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. 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 %} ## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml` file: To enable this sensor, add the following lines to your `configuration.yaml` file:
@ -51,22 +53,36 @@ group:
default: user default: user
type: string type: string
sensors: 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 required: true
type: list type: map
keys: keys:
current_power: current_power:
description: Current power. description: Current power (W).
current_consumption: current_consumption:
description: Current consumption. description: Power that you are currently drawing, depending on your installation it can be a combination of the inverter and the grid (W).
total_power: total_yield:
description: Total power. description: Total power yield from solar installation (kWh).
total_consumption: 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: custom:
description: A dictionary of custom sensor key values and units. description: A dictionary of custom sensor key values and units.
required: false required: false
type: list type: map
keys: keys:
key: key:
description: The SMA sensor key. description: The SMA sensor key.
@ -102,4 +118,4 @@ Example:
factor: 1000 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.

View File

@ -16,6 +16,10 @@ ha_qa_scale: internal
The `template` platform supports sensors which break out `state_attributes` from other entities. The `template` platform supports sensors which break out `state_attributes` from other entities.
<p class='note'>
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.
</p>
## {% linkable_title Configuration %} ## {% linkable_title Configuration %}
To enable Template Sensors in your installation, add the following to your `configuration.yaml` file: To enable Template Sensors in your installation, add the following to your `configuration.yaml` file:
@ -51,7 +55,7 @@ sensor:
required: false required: false
type: template type: template
entity_id: 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 required: false
type: string, list type: string, list
unit_of_measurement: unit_of_measurement:
@ -288,7 +292,7 @@ sensor:
### {% linkable_title Working with dates %} ### {% 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 %} {% raw %}
```yaml ```yaml
@ -297,7 +301,43 @@ sensor:
sensors: sensors:
nonsmoker: nonsmoker:
value_template: '{{ (( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}' 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' friendly_name: 'Not smoking'
unit_of_measurement: "Days" unit_of_measurement: "Days"
``` ```
{% endraw %} {% 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 %}

View File

@ -13,10 +13,14 @@ ha_iot_class: "Cloud Polling"
ha_release: 0.37 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. 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: Once you have the code, create `wsdot` sensors by editing your `configuration.yaml` file as follows:
```yaml ```yaml
@ -29,13 +33,26 @@ sensor:
name: I-90 Eastbound HOV name: I-90 Eastbound HOV
``` ```
Configuration variables: {% configuration %}
api_key:
- **api_key** (*Required*): Your `api_key` from WSDOT. description: Your API key from WSDOT.
- **scan_interval** (*Optional*): How frequently to query for new data. Default: 3 minutes. required: true
- **travel_time** array (*Required*): List of routes. type: string
- **id** (*Required*): Name of the route. travel_time:
- **name** (*Optional*): Name of the route. Default just uses `id`. 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. 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 ```text
73 Issaquah-Seattle (WB PM) 73 Issaquah-Seattle (WB PM)
74 Seattle-Issaquah (EB AM) 74 Seattle-Issaquah (EB AM)
75 HOV Issaquah-Seattle (WB REV) 75 HOV Issaquah-Seattle (WB REV)
76 Issaquah-Seattle (WB REV) 76 Issaquah-Seattle (WB REV)
77 HOV Redmond-Seattle (WB PM) 77 HOV Redmond-Seattle (WB PM)
78 HOV Seattle-Redmond (EB AM) 78 HOV Seattle-Redmond (EB AM)

View File

@ -13,6 +13,9 @@ ha_release: 0.24
ha_iot_class: "Cloud Polling" ha_iot_class: "Cloud Polling"
--- ---
<p class='note warning'>
The Yahoo Weather API is being [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`darksky` sensor](/components/sensor.darksky/).
</p>
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. 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.

View File

@ -81,12 +81,12 @@ mode:
default: xy default: xy
type: string type: string
transition: 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 required: false
default: 30 default: 30
type: integer type: integer
interval: interval:
description: Frequency at which the lights should be updated. description: Frequency in seconds at which the lights should be updated.
required: false required: false
default: 30 default: 30
type: integer type: integer

View File

@ -50,12 +50,12 @@ state_on:
description: The payload that represents the on state. description: The payload that represents the on state.
required: false required: false
type: string type: string
default: ON default: "ON"
state_off: state_off:
description: The payload that represents the off state. description: The payload that represents the off state.
required: false required: false
type: string type: string
default: OFF default: "OFF"
command_topic: command_topic:
description: The MQTT topic to publish commands to change the switch state. description: The MQTT topic to publish commands to change the switch state.
required: false required: false
@ -68,12 +68,12 @@ payload_on:
description: The payload that represents enabled state. description: The payload that represents enabled state.
required: false required: false
type: string type: string
default: ON default: "ON"
payload_off: payload_off:
description: The payload that represents disabled state. description: The payload that represents disabled state.
required: false required: false
type: string type: string
default: OFF default: "OFF"
payload_available: payload_available:
description: The payload that represents the available state. description: The payload that represents the available state.
required: false required: false

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false comments: false
sharing: true sharing: true
footer: true footer: true
logo: ubiuiti.png logo: ubiquiti.png
ha_category: Hub ha_category: Hub
ha_release: "0.81" ha_release: "0.81"
ha_iot_class: "Local Polling" ha_iot_class: "Local Polling"

View File

@ -12,6 +12,10 @@ ha_category: Weather
ha_release: 0.47 ha_release: 0.47
--- ---
<p class='note warning'>
The Yahoo Weather API is being [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`darksky` weather](/components/weather.darksky/).
</p>
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. 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.
<p class='note warning'> <p class='note warning'>

View File

@ -1,7 +1,7 @@
--- ---
layout: page layout: page
title: "Database" 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 date: 2016-10-10 10:00
sidebar: true sidebar: true
comments: false comments: false
@ -10,14 +10,16 @@ footer: true
redirect_from: /details/database/ 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., `<path to config dir>/.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., `<path to config dir>/.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`: First load your database with `sqlite3`:
```bash ```bash
$ sqlite3 home-assistant_v2.db $ sqlite3 home-assistant_v2.db
SQLite version 3.13.0 2016-05-18 10:57:30 SQLite version 3.13.0 2016-05-18 10:57:30
Enter ".help" for usage hints. Enter ".help" for usage hints.
sqlite> sqlite>
``` ```
It helps to set some options to make the output more readable: 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 sqlite> .databases
seq name file seq name file
--- --------------- ---------------------------------------------------------- --- --------------- ----------------------------------------------------------
0 main /home/fab/.homeassistant/home-assistant_v2.db 0 main /home/fab/.homeassistant/home-assistant_v2.db
``` ```
### {% linkable_title Schema %} ### {% linkable_title Schema %}
@ -45,40 +47,40 @@ sqlite> SELECT sql FROM sqlite_master;
------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------
CREATE TABLE events ( CREATE TABLE events (
event_id INTEGER NOT NULL, event_id INTEGER NOT NULL,
event_type VARCHAR(32), event_type VARCHAR(32),
event_data TEXT, event_data TEXT,
origin VARCHAR(32), origin VARCHAR(32),
time_fired DATETIME, time_fired DATETIME,
created DATETIME, created DATETIME,
PRIMARY KEY (event_id) PRIMARY KEY (event_id)
) )
CREATE INDEX ix_events_event_type ON events (event_type) CREATE INDEX ix_events_event_type ON events (event_type)
CREATE TABLE recorder_runs ( CREATE TABLE recorder_runs (
run_id INTEGER NOT NULL, run_id INTEGER NOT NULL,
start DATETIME, start DATETIME,
"end" DATETIME, "end" DATETIME,
closed_incorrect BOOLEAN, closed_incorrect BOOLEAN,
created DATETIME, created DATETIME,
PRIMARY KEY (run_id), PRIMARY KEY (run_id),
CHECK (closed_incorrect IN (0, 1)) CHECK (closed_incorrect IN (0, 1))
) )
CREATE TABLE states ( CREATE TABLE states (
state_id INTEGER NOT NULL, state_id INTEGER NOT NULL,
domain VARCHAR(64), domain VARCHAR(64),
entity_id VARCHAR(64), entity_id VARCHAR(64),
state VARCHAR(255), state VARCHAR(255),
attributes TEXT, attributes TEXT,
event_id INTEGER, event_id INTEGER,
last_changed DATETIME, last_changed DATETIME,
last_updated DATETIME, last_updated DATETIME,
created DATETIME, created DATETIME,
PRIMARY KEY (state_id), PRIMARY KEY (state_id),
FOREIGN KEY(event_id) REFERENCES events (event_id) FOREIGN KEY(event_id) REFERENCES events (event_id)
) )
CREATE INDEX states__significant_changes ON states (domain, last_updated, entity_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 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): 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.internet_time 12963
sensor.solar_angle1 11397 sensor.solar_angle1 11397
sensor.solar_angle 10440 sensor.solar_angle 10440
group.all_switches 8018 group.all_switches 8018
``` ```
### {% linkable_title Delete %} ### {% linkable_title Delete %}

View File

@ -139,23 +139,6 @@ condition:
before: sunrise 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 %} ### {% 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'. 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'.
@ -190,6 +173,10 @@ condition:
Valid values for `weekday` are `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`. 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. Time condition windows can span across the midnight threshold. In the example above, the condition window is from 3pm to 2am.
<p class='note tip'>
A better weekday condition could be by using the [Workday Binary Sensor](/components/binary_sensor.workday/).
</p>
### {% linkable_title Zone condition %} ### {% 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/). 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/).

View File

@ -40,6 +40,10 @@ On Raspberry Pi you will need to enable the serial interface in the `raspi-confi
## {% linkable_title Configuration %} ## {% linkable_title Configuration %}
<P class='note'>
You can also use the Z-Wave *Integration* in the *Configuration* menu to set up the Z-Wave component.
</p>
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
zwave: zwave:

View File

@ -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.
<p class='img'>
<img src='/images/lovelace/lovelace_gauge_card.gif' alt='Screenshot of the gauge card'>
Screenshot of the gauge card.
</p>
```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
```
<p class='img'>
<img src='/images/lovelace/lovelace_gauge_card.gif' alt='Screenshot of the gauge card with custom title and unit of measurement'>
Screenshot of the gauge card with custom title and unit of measurement.
</p>
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
```

View File

@ -31,6 +31,6 @@ entity:
## {% linkable_title Example %} ## {% linkable_title Example %}
```yaml ```yaml
- type: sensor - type: thermostat
entity: climate.nest entity: climate.nest
``` ```

View File

@ -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: 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. - 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 - Water heaters get their own platform separate from `climate`, because you're not a fish living inside the hot water tank
@ -60,6 +60,24 @@ Other things to be aware of:
- Add LogBook support to HomeKit ([@ehendrix23] - [#17180]) ([homekit docs]) ([logbook docs]) (new-feature) - 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) - 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... %} ## {% 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. ...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.

View File

@ -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. 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. 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. 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. 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. 1. Connect your Raspberry Pi to the power supply, so it turns on.

View File

@ -92,14 +92,14 @@ A detailed guide about running Hass.io as a virtual machine is available in the
[etcher]: https://etcher.io/ [etcher]: https://etcher.io/
[Virtual Appliance]: https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/ova.md [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 [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 [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.11/hassos_rpi-1.11.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.11/hassos_rpi2-1.11.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.11/hassos_rpi3-1.11.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.11/hassos_rpi3-64-1.11.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 [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 [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 [linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio
[local]: http://hassio.local:8123 [local]: http://hassio.local:8123
[samba]: /addons/samba/ [samba]: /addons/samba/

View File

@ -8,6 +8,16 @@ comments: false
sharing: true sharing: true
footer: 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 %} ## {% linkable_title Changes in 0.80.0 %}
- 📣 New card type: `sensor` ❤️ - 📣 New card type: `sensor` ❤️
- 📣 New card type: `gauge` ❤️ - 📣 New card type: `gauge` ❤️

View File

@ -28,7 +28,7 @@ The Lovelace UI is:
</div> </div>
<p class='note warning'> <p class='note warning'>
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.
</p> </p>
## {% linkable_title How it works %} ## {% 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? %} ### {% 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? %} ### {% linkable_title Custom cards don't load on my iOS device? %}

View File

@ -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. 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.
<p class='note'> <p class='note'>
Split configuration is currently possible directly in Lovelace, but it Split configuration is no longer possible directly in Lovelace,
is expected to be removed in the near future due to fact that Home Assistant due to fact that Home Assistant writes directly to the `ui-lovelace.yaml` file.
will be writing directly to the `ui-lovelace.yaml` file. Use one of the above generators if you would like to contintue to have such functionality.
</p> </p>
## {% linkable_title Tips and Tricks %} ## {% linkable_title Tips and Tricks %}