Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2018-11-20 01:38:06 +01:00
commit 318488f28e
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
78 changed files with 1501 additions and 570 deletions

View File

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

View File

@ -25,12 +25,29 @@ featured: true
}
```
Configuration variables:
- **lets_encrypt.accept_terms** (*Required*): If you accept the [Let's Encrypt Subscriber Agreement](https://letsencrypt.org/repository/), it will generate and update Let's Encrypt certificates for your DuckDNS domain.
- **token** (*Required*): Your Duck DNS API key, from your DuckDNS account page.
- **domains** (*Required*): A list of domains to update DNS.
- **seconds** (*Required*): Seconds between updates to Duck DNS.
{% configuration %}
lets_encrypt:
description: Let's Encrypt is a free, automated, and open certificate authority.
required: true
type: list
keys:
accept_terms:
description: If you accept the [Let's Encrypt Subscriber Agreement](https://letsencrypt.org/repository/), it will generate and update Let's Encrypt certificates for your DuckDNS domain.
required: true
type: boolean
token:
description: Your Duck DNS API key, from your DuckDNS account page.
required: true
type: string
domains:
description: A list of domains to update DNS.
required: true
type: list
seconds:
description: Seconds between updates to Duck DNS.
required: true
type: integer
{% endconfiguration %}
## {% linkable_title Home Assistant configuration %}
@ -51,4 +68,4 @@ You'll need to forward the port you listed in your configuration (8123 in the ex
Ensure that you allocate the Home Assistant system a fixed IP on your network before you configure port forwarding. You can do this either on the computer itself (see the [install guide](/hassio/installation/) or via a static lease on your router.
Restart Home Assistant for the configured changes to take effect. When you access the Home Assistant frontend you will now need to use `https`, even when accessing local instances, for example at `https://192.168.0.1:8123`.
Restart Home Assistant for the configured changes to take effect. When you access the Home Assistant frontend you will now need to use `https`, even when accessing local instances, for example at `https://192.168.0.1:8123`.

View File

@ -45,26 +45,63 @@ Follow devices will be supported and tested:
}
```
Configuration variables:
- **rf_enable** (*Required*): Boolean. Enable or disable BidCoS-RF.
- **wired_enable** (*Required*): Boolean. Enable or disable BidCoS-Wired.
For RF devices:
- **type** (*Required*): Device type for RFD service. Look into the manual of your device.
- **device** (*Required*): Device on the host.
For wired devices:
- **serial** (*Required*): Serial number of the device.
- **key** (*Required*): Encrypted key.
- **ip** (*Required*): IP address of LAN gateway.
For HmIP devices:
- **type** (*Required*): Device type for RFD service. Look into the manual of your device.
- **device** (*Required*): Device on the host.
{% configuration %}
rf_enable:
description: Enable or disable BidCoS-RF.
required: true
type: boolean
rf:
description: RF devices.
required: true
type: list
keys:
type:
description: Device type for RFD service. Look into the manual of your device.
required: true
type: string
device:
description: Device on the host.
required: true
type: string
wired_enable:
description: Enable or disable BidCoS-Wired.
required: true
type: boolean
wired:
description: Wired devices.
required: true
type: list
keys:
serial:
description: Serial number of the device.
required: true
type: string
key:
description: Encrypted key.
required: true
type: string
ip:
description: IP address of LAN gateway.
required: true
type: string
hmip_enable:
description: Enable or disable hmip.
required: true
type: boolean
hmip:
description: HMIP devices.
required: true
type: list
keys:
type:
description: Device type for RFD service. Look into the manual of your device.
required: true
type: string
device:
description: Device on the host.
required: true
type: string
{% endconfiguration %}
## {% linkable_title Home Assistant configuration %}

View File

@ -19,7 +19,9 @@ Setup and manage a [Let's Encrypt](https://letsencrypt.org/) certificate. This a
```json
{
"email": "example@example.com",
"domains": ["example.com", "mqtt.example.com", "hass.example.com"]
"domains": ["example.com", "mqtt.example.com", "hass.example.com"],
"certfile": "fullchain.pem",
"keyfile": "privkey.pem"
}
```
@ -32,6 +34,16 @@ domains:
description: A list of domains to create/renew the certificate.
required: true
type: list
certfile:
description: Name of the certfile that is created. Leave as default value.
required: true
type: string
default: fullchain.pem
keyfile:
description: Name of the keyfile that is created. Leave as default value.
required: true
type: string
default: privkey.pem
{% endconfiguration %}
## {% linkable_title Home Assistant configuration %}

View File

@ -32,18 +32,50 @@ Set up a [MariaDB](https://mariadb.org/) SQL server. It supports multiple databa
}
```
Configuration variables:
- **databases** (*Required*): List of databases.
- **logins** (*Required*): List of SQL accounts to create or update.
- **username** (*Required*): Username for account.
- **host** (*Required*): Host for account. If you need an account on multiple hosts, use '%'.
- **password** (*Required*): Password for account.
- **rights** (*Required*): List of rights to be granted.
- **username** (*Required*): Username for granted rights.
- **host** (*Required*): Host is a part of username like above.
- **database** (*Required*): Database name on which to grant user rights.
- **grant** (*Required*): SQL grant part for access too.
{% configuration %}
databases:
description: List of databases.
required: true
type: list
logins:
description: List of SQL accounts to create or update.
required: true
type: list
keys:
username:
description: Username for account.
required: true
type: string
host:
description: Host for account. If you need an account on multiple hosts, use '%'.
required: true
type: string
password:
description: Password for account.
required: true
type: string
rights:
description: List of rights to be granted.
required: true
type: list
keys:
username:
description: Username for granted rights.
required: true
type: string
host:
description: Host is a part of username like above.
required: true
type: string
database:
description: Database name on which to grant user rights.
required: true
type: string
grant:
description: SQL grant part for access too.
required: true
type: string
{% endconfiguration %}
## {% linkable_title Home Assistant configuration %}

View File

@ -17,20 +17,8 @@ After installation you are presented with a default and example configuration, t
After any changes have been made to the configuration, you need to restart the add-on for the changes to take effect.
Configuration variables:
- **id** (*Required*): A number and must be unique for each device.
- **name** (*Required*): A name for easy identification of the device.
- **protocol** (*Required*): This is the protocol the device uses. More on the different protocols later down.
- **model** (*Optional*): The model parameter is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus self-learning, etc.
- **house** (*Optional*): Depending on protocol the values here can vary a lot to identify or group per house or type.
- **unit** (*Optional*): Unit identifier, in most cases a value between 1 to 16 and often used in combination with the house.
- **fade** (*Optional*): Fade is either `true` or `false` and tells a dimmer if it should fade smooth or instant between values (only for IKEA protocol as it seems).
- **code** (*Optional*): A number series based on ones and zeroes often used for dip-switch based devices.
You will need to add internal communication details to `configuration.yaml` to enable the integration from Hass.io and the add-on.
```yaml
# Example configuration.yaml entry
tellstick:
@ -69,11 +57,47 @@ Example for adding more devices in the add-on configuration (note the comma sepa
}
```
{% configuration %}
id:
description: A number and must be unique for each device.
required: true
type: integer
name:
description: A name for easy identification of the device.
required: true
type: string
protocol:
description: This is the protocol the device uses. More on the different protocols later down.
required: true
type: string
model:
description: The model parameter is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus self-learning, etc.
required: false
type: string
house:
description: Depending on protocol the values here can vary a lot to identify or group per house or type.
required: false
type: string
unit:
description: Unit identifier, in most cases a value between 1 to 16 and often used in combination with the house.
required: false
type: integer
fade:
description: Fade is either `true` or `false` and tells a dimmer if it should fade smooth or instant between values (only for IKEA protocol as it seems).
required: false
type: boolean
code:
description: A number series based on ones and zeroes often used for dip-switch based devices.
required: false
type: string
{% endconfiguration %}
## {% linkable_title Service calls %}
If you wish to teach a self-learning device in your TellStick configuration:
Go to Home Assistant [service call](http://hassio.local:8123/dev-service) in Developer tools and select.
- Service: `hassio.addon_stdin`
- Enter service Data:
`{"addon":"core_tellstick","input":{"function":"learn","device":"1"}}`

View File

@ -17,7 +17,7 @@ The `ffmpeg` platform allows you to use any video feed as a camera in Home Assis
## {% linkable_title Configuration %}
To enable your FFmpeg feed in your installation, add the following to your `configuration.yaml` file:
To enable your FFmpeg feed in your installation you must first configure the [ffmpeg component](https://www.home-assistant.io/components/ffmpeg/), then add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View File

@ -13,7 +13,7 @@ ha_release: pre 0.7
ha_iot_class: "Local Polling"
---
The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler then the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter then the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities.
The `generic_thermostat` climate platform is a thermostat implemented in Home Assistant. It uses a sensor and a switch connected to a heater or air conditioning under the hood. When in heater mode, if the measured temperature is cooler than the target temperature, the heater will be turned on and turned off when the required temperature is reached. When in air conditioning mode, if the measured temperature is hotter than the target temperature, the air conditioning will be turned on and turned off when required temperature is reached. One Generic Thermostat entity can only control one switch. If you need to activate two switches, one for a heater and one for an air conditioner, you will need two Generic Thermostat entities.
```yaml
# Example configuration.yaml entry

View File

@ -25,11 +25,13 @@ To enable `discovery` in your installation, add the following to your `configura
```yaml
# Example configuration.yaml entry
discoverable:
expose_password: yes
expose_password: true
```
Configuration variables:
- **expose_password** (*Optional*): It is up to the user to expose the password in the discovery response (Default: off). If password not exposed, uHA instances will have to provide it (`get_instance('my password')`).
{% configuration %}
expose_password:
description: It is up to the user to expose the password in the discovery response. If password not exposed, uHA instances will have to provide it (`get_instance('my password')`).
required: false
default: false
type: boolean
{% endconfiguration %}

View File

@ -13,14 +13,11 @@ ha_release: 0.80
ha_iot_class: "Cloud Polling"
---
The `evohome` platform is the main component to set up and integrate all supported evohome devices.
The `evohome` platform is the main component to set up and integrate all supported evohome Climate devices.
It uses the [evohomeclient](https://pypi.org/project/evohomeclient/) client library and so will let you control (only) _EU-based_ [Honeywell Connect Comfort](https://international.mytotalconnectcomfort.com/Account/Login) systems.
Currently, only Controllers are supported; support for Heating zones and DHW controllers will be added at a later time.
It is related to the [honeywell](/components/climate.honeywell/) climate component, which allows limited integration with evohome Heating zones. These two components should be usuable side-by-side, but YMMV.
Currently, only Controllers and Zones are supported; support for DHW controllers will be added at a later time. More information is available [evohome climate component](/components/climate.honeywell/) page.
## {% linkable_title Configuration %}
@ -31,9 +28,9 @@ To use this component in your installation, add the following to your `configura
evohome:
username: YOUR_USERNAME
password: YOUR_PASSWORD
location_idx: 0
```
This is a IoT cloud-polling device, and the `scan_interval` is currently fixed at 3 minutes. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell.
This is an IoT cloud-polling device, and the `scan_interval` is currently fixed at 5 minutes. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell.
{% configuration %}
username:

View File

@ -14,7 +14,7 @@ ha_category: Image Processing
The `ffmpeg` component allows other Home Assistant components to process video and audio streams. This component supports all FFmpeg versions since 3.0.0; if you have an older version, please update.
<p class='note'>
You need the `ffmpeg` binary in your system path. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](http://www.ffmpeg.org/) website.
You need the `ffmpeg` binary in your system path. On Hassbian you will need to login as the `pi` user and `sudo apt install ffmpeg`. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](http://www.ffmpeg.org/) website.
</p>
<p class='note'>

View File

@ -105,9 +105,9 @@ google_assistant:
project_id: YOUR_PROJECT_ID
api_key: YOUR_API_KEY
exposed_domains:
- SWITCH
- LIGHT
- GROUP
- switch
- light
- group
entity_config:
switch.kitchen:
name: CUSTOM_NAME_FOR_GOOGLE_ASSISTANT

View File

@ -1,7 +1,7 @@
---
layout: page
title: "HomeKit"
description: "Instructions on how to setup the HomeKit component in Home Assistant."
description: "Instructions on how to set up the HomeKit component in Home Assistant."
date: 2018-02-20 17:30
sidebar: true
comments: false
@ -12,7 +12,7 @@ ha_release: 0.64
logo: apple-homekit.png
---
The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they can be controlled from Apple's `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later. However if you do encounter issues, checkout the [troubleshooting](#troubleshooting) section.
The `HomeKit` component allows you to forward entities from Home Assistant to Apple `HomeKit`, so they can be controlled from Apple's `Home` app and `Siri`. Please make sure that you have read the [considerations](#considerations) listed below to save you some trouble later. However if you do encounter issues, check out the [troubleshooting](#troubleshooting) section.
<p class="note">
If you want to control `HomeKit` only devices with Home Assistant, check out the [HomeKit controller](/components/homekit_controller/) component.
@ -79,7 +79,7 @@ homekit:
type: boolean
default: false
filter:
description: Filters for entities to be included / excluded from HomeKit. ([Configure Filter](#configure-filter))
description: Filters for entities to be included/excluded from HomeKit. ([Configure Filter](#configure-filter))
required: false
type: map
keys:
@ -110,7 +110,7 @@ homekit:
type: map
keys:
name:
description: Name of entity to show in HomeKit. HomeKit will cache the name on the first run so a device must be removed and then re-added for any change to take effect.
description: Name of the entity to show in HomeKit. HomeKit will cache the name on the first run so a device must be removed and then re-added for any change to take effect.
required: false
type: string
code:
@ -147,20 +147,25 @@ homekit:
After Home Assistant has started, the entities specified by the filter are exposed to `HomeKit` if they are [supported](#supported-components). To add them:
1. Open the Home Assistant frontend. A new card will display the `pin code`.
1. Open the `Home` app.
2. Click `Add Accessory`, than select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`.
2. Click `Add Accessory`, then select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`.
4. Confirm that you are adding an `Uncertified Accessory` by clicking on `Add Anyway`.
5. Enter the `PIN` code.
6. Follow the setup be clicking on `Next` and lastly `Done` in the top right hand corner.
6. Follow the setup by clicking on `Next` and lastly `Done` in the top right-hand corner.
7. The `Home Assistant` Bridge and the Accessories should now be listed in the `Home` app.
After the setup is completed you should be able to control your Home Assistant components through `Home` and `Siri`.
After the setup is completed, you should be able to control your Home Assistant components through `Home` and `Siri`.
## {% linkable_title Move Home Assistant install %}
If you like to retain your HomeKit pairing through a move to a new Home Assistant device or installation, besides copying the configurations files you need to copy the `.homekit.state` file inside your configurations directory. Keep in mind though that the file is usually hidden by default, depending on your operating system.
Before you copy it, make sure to stop the old and new Home Assistant instances first entirely, otherwise it won't work.
## {% linkable_title Considerations %}
### {% linkable_title Accessory ID %}
Currently this component uses the `entity_id` to generate a unique `accessory id (aid)` for `HomeKit`. The `aid` is used to identify a device and save all configurations made for it. This however means that if you decide to change an `entity_id` all configurations for this accessory made in the `Home` app will be lost.
Currently, this component uses the `entity_id` to generate a unique `accessory id (aid)` for `HomeKit`. The `aid` is used to identify a device and save all configurations made for it. This, however, means that if you decide to change an `entity_id` all configurations for this accessory made in the `Home` app will be lost.
### {% linkable_title Device Limit %}
@ -168,19 +173,18 @@ The HomeKit guidelines only allow a maximum of 100 unique accessories (`aid`) pe
### {% linkable_title Persistence Storage %}
Unfortunately `HomeKit` doesn't support any kind of persistent storage - only the configuration for accessories that are added to the `Home Assistant Bridge` are kept. To avoid problems it is recommended to use an automation to always start `HomeKit` with at least the same entities setup. If for some reason some entities are not setup, their config will be deleted. (State unknown or similar will not cause any issues.)
Unfortunately `HomeKit` doesn't support any persistent storage - only the configuration for accessories that are added to the `Home Assistant Bridge` are kept. To avoid problems, it is recommended to use an automation to always start `HomeKit` with at least the same entities setup. If for some reason some entities are not set up, their config will be deleted. (State unknown or similar will not cause any issues.)
A common situation might be if you decide to disable parts of the configuration for testing. Please make sure to disable `auto start` and `turn off` the `Start HomeKit` automation (if you have one).
## {% linkable_title Disable Auto 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`.
Depending on your setup, it might be necessary to disable `Auto Start` for all accessories to be available for `HomeKit`. Only those entities that are fully set up 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 to be 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 class='note'>
Please remember that you can only have a single `automation` entry. Add the automation to your existing automations.
</p>
{% raw %}
@ -207,7 +211,7 @@ For a general delay where your component doesn't generate an event, you can also
{% raw %}
```yaml
# Example using a delay after start of Home Assistant
# Example using a delay after the start of Home Assistant
homekit:
auto_start: False
@ -222,10 +226,9 @@ automation:
```
{% endraw %}
## {% linkable_title Configure Filter %}
By default no entity will be excluded. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added.
By default, no entity will be excluded. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added.
{% raw %}
```yaml
@ -257,12 +260,12 @@ Filters are applied as follows:
- if entity is included, pass (as #2 above)
- if entity include and exclude, the entity exclude is ignored
## {% linkable_title Safe Mode %}
The `safe_mode` option should only be used (and only works) if you encounter issues during the pairing. ([Paring hangs - zeroconf error](#pairing-hangs---zeroconf-error))
The `safe_mode` option should only be used (and only works) if you encounter issues during the pairing. ([Paring hangs - zeroconf error](#pairing-hangs---zeroconf-error)).
To use `safe_mode`, add the option to your `homekit` config:
```yaml
homekit:
safe_mode: True
@ -274,8 +277,6 @@ Restart your Home Assistant instance. If you don't see a `pincode`, follow the [
To avoid any errors, after you have successfully paired your Home Assistant Bridge, remove the `safe_mode` option from your config and restart Home Assistant.
</p>
## {% linkable_title Supported Components %}
The following components are currently supported:
@ -304,7 +305,6 @@ The following components are currently supported:
| switch | Switch | Represented as a switch by default but can be changed by using `type` within `entity_config`. |
| water_heater | WaterHeater | All water_heater devices. |
## {% linkable_title Troubleshooting %}
### {% linkable_title Deleting the `.homekit.state` file %}
@ -336,48 +336,72 @@ homekit:
```
#### {% linkable_title PIN doesn't appear as persistent status %}
You might have paired the `Home Assistant Bridge` already. If not, delete the `.homekit.state` file ([guide](#deleting-the-homekitstate-file)).
#### {% linkable_title `Home Assistant Bridge` doesn't appear in the Home App (for pairing) %}
For `Docker` users: make sure to set `network_mode: host`. Other reasons could be network related. Make sure to check your router configuration. For some it helped when the Home Assistant device was using WIFI, not LAN. Remember that the iOS device needs to be in the same local network as the Home Assistant device for paring.
This is often setup and network related. Make sure to check the other issues below as well, but things that might work include:
- Check your router configuration
- Try with WIFI **and** LAN
- Change the default [port](#port)
Remember that the iOS device needs to be in the same local network as the Home Assistant device for paring.
#### {% linkable_title `Home Assistant Bridge` doesn't appear in the Home App (for pairing) - Docker %}
Set `network_mode: host`. If you have further problems this [issue](https://github.com/home-assistant/home-assistant/issues/15692) might help.
#### {% linkable_title `Home Assistant Bridge` doesn't appear in the Home App (for pairing) - VirtualBox %}
Configure the network mode as `networkbridge`. Otherwise the Home Assistant Bridge won't be exposed to the network.
#### {% linkable_title Pairing hangs - zeroconf error %}
Pairing eventually fails, you might see and an error message `NonUniqueNameException`. Add the `safe_mode` option to your config. See [safe_mode](#safe-mode)
Pairing eventually fails, you might see and an error message `NonUniqueNameException`. Add the `safe_mode` option to your config, see [safe_mode](#safe-mode).
#### {% linkable_title Pairing hangs - only works with debug config %}
Pairing works fine when the filter is set to only include `demo.demo`, but fails with normal config. See [specific entity doesn't work](#specific-entity-doesnt-work)
#### {% linkable_title Duplicate AID found when attempting to add accessory %}
Two of your entities share the same `entity_id`. Either resolve this or configure the [filter](#configure-filter) to exclude them.
#### {% linkable_title Pairing hangs - no error %}
Make sure that you don't try to add more than 100 accessories, see [device limit](#device-limit). In rare cases, one of your entities doesn't work with the HomeKit component. Use the [filter](#configure-filter) to find out which one. Feel free to open a new issue in the `home-assistant` repo, so we can resolve it.
#### {% linkable_title Duplicate AID found when attempting to add accessory %}
Two of your entities share the same `entity_id`. Either resolve this or configure the [filter](#configure-filter) to exclude them.
### {% linkable_title Issues during normal use %}
#### {% linkable_title Pairing hangs - no error %}
Make sure that you don't try to add more then 100 accessories, see [device limit](#device-limit). In rare cases one of your entities doesn't work with the HomeKit component. Use the [filter](#configure-filter) to find out which one. Feel free to open a new issue in the `home-assistant` repo, so we can resolve it.
#### {% linkable_title Some of my devices don't show up - Z-Wave / Discovery %}
See [disable auto start](#disable-auto-start)
#### {% linkable_title My entity doesn't show up %}
Check if the domain of your entity is [supported](#supported-components). If it is, check your [filter](#configure-filter) settings. Make sure the spelling is correct, especially if you use `include_entities`.
#### {% linkable_title HomeKit doesn't work on second Home Assistant instance %}
To use the HomeKit component with to different Home Assistant instances on the same local network, you need to set a custom name for at least one of them. [config/name](#name)
#### {% linkable_title Specific entity doesn't work %}
Although we try our best, some entities don't work with the HomeKit component yet. The result will be that either pairing fails completely or all Home Assistant accessories will stop working. Use the filter to identify which entity is causing the issue. It's best to try pairing and step by step including more entities. If it works unpair and repeat until you find the one that is causing the issues. To help others and the developers, please open a new issue here: [home-assistant/issues/new](https://github.com/home-assistant/home-assistant/issues/new?labels=component: homekit)
#### {% linkable_title Accessories are all listed as not responding %}
See [specific entity doesn't work](#specific-entity-doesnt-work)
#### {% linkable_title Accessory not responding - after restart or update %}
See [device limit](#device-limit)
#### {% linkable_title Accessory not responding - randomly %}
Unfortunately that sometimes happens at the moment. It might help to close the `Home` App and delete it from the cache. Usually the accessory should get back to responding after a few minutes at most.
Unfortunately, that sometimes happens at the moment. It might help to close the `Home` App and delete it from the cache. Usually, the accessory should get back to responding after a few minutes at most.
#### {% linkable_title Accessories not responding / behaving unusual - Upgrade from `0.65.x` %}
To fix this, you need to unpair the `Home Assistant Bridge`, delete the `.homekit.state` file ([guide](#deleting-the-homekitstate-file)) and pair it again. This should only be an issue if you're upgrading from `0.65.x` or below.
[devices]: https://www.home-assistant.io/docs/configuration/devices/
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.

View File

@ -44,21 +44,65 @@ image_processing:
- entity_id: camera.seven_segments
```
Configuration variables:
- **ssocr_bin** (*Optional*): The command line tool `ssocr`. Set it if you use a different name for the executable. Defaults to `ssocr`.
- **x_position** (*Optional*): X coordinate of the upper left corner of the area to crop. Defaults to `0`.
- **y_position** (*Optional*): Y coordinate of the upper left corner of the area to crop. Defaults to `0`.
- **height** (*Optional*): Height of the area to crop. Defaults to `0`.
- **width** (*Optional*): Width of the area to crop. Defaults to `0`.
- **rotate** (*Optional*): Rotation of the image. Defaults to `0`.
- **threshold** (*Optional*): Threshold for the difference between the digits and the background. Defaults to `0`.
- **digits** (*Optional*): Number of digits in the display. Defaults to `-1`.
- **extra_arguments** (*Optional*): Other arguments to use. Like `-D`, `dilation`, `erosion`, `greyscale`, `make_mono`, etc.
- **source** array (*Required*): List of image sources.
- **entity_id** (*Required*): A camera entity id to get picture from.
- **name** (*Optional*): This parameter allows you to override the name of your `image_processing` entity.
{% configuration %}
ssocr_bin:
description: The command line tool `ssocr`. Set it if you use a different name for the executable.
required: false
default: ssocr
type: string
x_position:
description: X coordinate of the upper left corner of the area to crop.
required: false
default: 0
type: integer
y_position:
description: Y coordinate of the upper left corner of the area to crop.
required: false
default: 0
type: integer
height:
description: Height of the area to crop.
required: false
default: 0
type: integer
width:
description: Width of the area to crop.
required: false
default: 0
type: integer
rotate:
description: Rotation of the image.
required: false
default: 0
type: integer
threshold:
description: Threshold for the difference between the digits and the background.
required: false
default: 0
type: integer
digits:
description: Number of digits in the display.
required: false
default: -1
type: integer
extra_arguments:
description: Other arguments to use. Like `-D`, `dilation`, `erosion`, `greyscale`, `make_mono`, etc.
required: false
type: string
source:
description: List of image sources.
required: true
type: list
keys:
entity_id:
description: A camera entity id to get picture from.
required: true
type: string
name:
description: This parameter allows you to override the name of your `image_processing` entity.
required: false
type: string
{% endconfiguration %}
### {% linkable_title Setup process %}
@ -94,6 +138,7 @@ image_processing:
With the help of a [template sensor](/components/sensor.template/), the value can be shown as badge.
{% raw %}
```yaml
sensor:
- platform: template
@ -103,4 +148,5 @@ sensor:
friendly_name: 'Ampere'
unit_of_measurement: 'A'
```
{% endraw %}

View File

@ -16,13 +16,13 @@ ha_release: 0.82
The `tensorflow` image processing platform allows you to detect and recognize objects in a camera image using [TensorFlow](https://www.tensorflow.org/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category.
<p class='note warning'>
The following packages must be installed on Hassbian after following the setup for the component to work:
The following packages must be installed on Hassbian/Raspbian before following the setup for the component to work:
`$ sudo apt-get install libatlas-base-dev libopenjp2-7 libtiff5`
</p>
## {% linkable_title Setup %}
You need to install the `tensorflow` Python packages with: `$ pip3 install tensorflow==1.11.0`. The wheel is not available for all platforms. See [the official install guide](https://www.tensorflow.org/install/) for other options. Hass.io has this package pre-installed.
You need to install the `tensorflow` Python packages with: `$ pip3 install tensorflow==1.11.0`. The wheel is not available for all platforms. See [the official install guide](https://www.tensorflow.org/install/) for other options. Hass.io is not yet supported but an addon is under development.
This component requires files to be downloaded, compiled on your computer, and added to the Home Assistant configuration directory. These steps can be performed using the sample script at [this gist](https://gist.github.com/hunterjm/6f9332f92b60c3d5e448ad936d7353c3). Alternatively, if you wish to perform the process manually, the process is as follows:

View File

@ -12,7 +12,7 @@ ha_category: History
ha_release: 0.9
---
The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.6/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available.
The `influxdb` component makes it possible to transfer all state changes to an external [InfluxDB](https://influxdb.com/) database. See the [official installation documentation](https://docs.influxdata.com/influxdb/v1.7/introduction/installation/) for how to set up an InfluxDB database, or if you're using Hass.io, [there is a community add-on](https://community.home-assistant.io/t/community-hass-io-add-on-influxdb/54491) available.
## {% linkable_title Configuration %}

View File

@ -51,7 +51,6 @@ To set up an INSTEON Hub model [2242], use the following configuration:
# Hub 2242 configuration variables
insteon:
host: HOST
ip_port: IP_PORT
hub_version: 1
```

View File

@ -26,3 +26,20 @@ lametric:
client_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
## {% linkable_title Setup Steps %}
LaMetric needs an OAuth2 `client_id` and `client_secret` from the LaMetric developer portal to use it with Home Assistant.
These are the steps to take:
1. Log in with your LaMetric device account to [developer.lametric.com](https://developer.lametric.com).
2. Hit the Create button and choose [Notification](https://developer.lametric.com/applications/createsource).
3. Fill in the form. You can put almost anything in the fields, they just need to be populated:
* App Name: Home Assistant
* Description: Home Assistant
* Privacy Policy: http://localhost/
* Check all permission boxes
* Hit Save
4. You should be directed to your [Notification Apps list](https://developer.lametric.com/applications/sources), click on "Home Assistant", copy your client ID and client Secret and paste into the Home Assistant configuration block in the previous section.
5. Set up some notifications in Home Assistant by following the instructions on the [Lametric Notify](/components/notify.lametric) page.
6. Save all configuration files and restart Home Assistant.

View File

@ -67,7 +67,7 @@ logger:
### {% linkable_title Log Levels %}
Possible log severity levels are:
Possible log severity levels, listed in order from most severe to least severe, are:
- critical
- fatal

View File

@ -12,13 +12,13 @@ ha_category: Notifications
ha_release: 0.38
---
To be able to receive events from Mailgun, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the `base_url` configured for the HTTP component ([docs](https://www.home-assistant.io/components/http/#base_url)).
To be able to receive webhooks from Mailgun, your Home Assistant instance needs to be accessible from the web ([Hass.io instructions](/addons/duckdns/)) and you need to have the `base_url` configured for the HTTP component ([docs](https://www.home-assistant.io/components/http/#base_url)).
To set it up, go to the integrations page in the configuration screen and find Mailgun. Click on configure. Follow the instructions on the screen to configure Mailgun.
You will get a URL of the following format: `https://<home-assistant-domain>/api/webhook/9940e99a26fae4dcf6fe0a478124b6b58b578ea4c55c9a584beb1c9f5057bb91`. To generate inbound events, add a Route set to Store and Notify with that url.
You will get a URL of the following format: `https://<home-assistant-domain>/api/webhook/9940e99a26fae4dcf6fe0a478124b6b58b578ea4c55c9a584beb1c9f5057bb91`. To receive webhooks from Mailgun, you need to provide that url as a callback URL in the Webhooks tab of the Mailgun Control Panel.
Events coming in from Mailgun will be available as events in Home Assistant and are fired as `mailgun_message_received`. The [data specified by Mailgun](https://www.mailgun.com/blog/a-guide-to-using-mailguns-webhooks) will be available as the event data. You can use this event to trigger automations.
Events coming in from Mailgun will be available as events in Home Assistant and are fired as `mailgun_message_received`. The [data specified by Mailgun](https://documentation.mailgun.com/en/latest/api-events.html#event-structure) will be available as the event data. You can use this event to trigger automations.
You can then consume that information with the following automation:

View File

@ -43,7 +43,7 @@ media_player:
- platform: plex
```
In case [discovery](/components/discovery/) does not work (GDM disabled or non-local plex server), you can create `~/.homeassistant/plex.conf` manually.
In case [discovery](/components/discovery/) does not work (GDM disabled or non-local Plex server), you can create the `plex.conf` manually and placed it in your [configuration directory ](/docs/configuration/) or `/config/` if you are running Hass.io.
```json
{"IP_ADDRESS:PORT": {"token": "TOKEN", "ssl": false, "verify": true}}

View File

@ -32,14 +32,34 @@ notify:
region_name: 'us-east-1'
```
Configuration variables:
- **aws_access_key_id** (*Required if aws_secret_access_key is provided*): Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`.
- **aws_secret_access_key** (*Required if aws_access_key_id is provided*): Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`.
- **profile_name** (*Optional*): A credentials profile name.
- **region_name** (*Required*): The region identifier to connect to. The default is `us-east-1`.
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **context** (*Optional*): An optional dictionary you can provide to pass custom context through to the Lambda function. The `context` dictionary (if any) is combined with the same data available at the `/api/config` HTTP API route.
{% configuration %}
aws_access_key_id:
description: Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`.
required: Required if aws_secret_access_key is provided
type: string
aws_secret_access_key:
description: Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`.
required: Required if aws_access_key_id is provided
type: string
profile_name:
description: A credentials profile name.
required: false
type: string
region_name:
description: The region identifier to connect to.
required: true
default: "`us-east-1`"
type: string
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
context:
description: An optional dictionary you can provide to pass custom context through to the Lambda function. The `context` dictionary (if any) is combined with the same data available at the `/api/config` HTTP API route.
required: false
type: string
{% endconfiguration %}
### {% linkable_title Usage %}

View File

@ -24,9 +24,16 @@ notify:
command: "espeak -vmb/mb-us1"
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **command** (*Required*): The action to take.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
command:
description: The action to take.
required: true
type: string
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: pre 0.7
---
The `file` platform allows you to store notifications from Home Assistant as a file.
To enable file notifications in your installation, add the following to your `configuration.yaml` file:
@ -25,10 +24,21 @@ notify:
filename: FILENAME
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **filename** (*Required*): Name of the file to use. The file will be created if it doesn't exist and saved in your [configuration](/docs/configuration/) folder.
- **timestamp** (*Optional*): Setting `timestamp` to `True` adds a timestamp to every entry.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
filename:
description: Name of the file to use. The file will be created if it doesn't exist and saved in your [configuration](/docs/configuration/) folder.
required: true
type: string
timestamp:
description: Setting `timestamp` to `True` adds a timestamp to every entry.
required: false
default: false
type: boolean
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: pre 0.7
---
The `instapush` platform uses [Instapush](https://instapush.im) to delivery notifications from Home Assistant to your Android or iOS device.
The Instapush [Getting Started page](https://instapush.im/home/start/) will guide through the process of creating the required items.
@ -30,13 +29,29 @@ notify:
tracker: TRACKER_NAME
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **api_key** (*Required*): Your API key for Instapush.
- **app_secret** (*Required*): The secret for your created application.
- **event** (*Required*): The event to push to.
- **tracker** (*Required*): The name of tracker inside Instapush.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
api_key:
description: Your API key for Instapush.
required: string
type: string
app_secret:
description: The secret for your created application.
required: string
type: string
event:
description: The event to push to.
required: string
type: string
tracker:
description: The name of tracker inside Instapush.
required: string
type: string
{% endconfiguration %}
To retrieve the needed values for existing settings, log into your account at [https://instapush.im](https://instapush.im) and go to your **Dashboard**. Then click the **APPS** tab, choose an app, and check the **Basic Info** section. The *Application ID* is the `api_key` and `app_secret` is the *Application Secret*.

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: 0.27
---
The `llamalab_automate` platform uses Googles Cloud Messaging Services to push messages from Home Assistant to your Android device running the LlamaLab [Automate](https://llamalab.com/automate/) app. This can serve as an alternative to Tasker + AutoRemote.
Go to [https://llamalab.com/automate/cloud/](https://llamalab.com/automate/cloud/) and create a new API key/secret.
@ -28,12 +27,25 @@ notify:
to: YOUR_EMAIL_ADDRESS
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **api_key** (*Required*): Enter the API key for Automate.
- **to** (*Required*): E-Mail address the Automate-Fiber is configured for.
- **device** (*Optional*): Name of the target device to receive the messages.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
api_key:
description: Enter the API key for Automate.
required: true
type: string
to:
description: E-Mail address the Automate-Fiber is configured for.
required: true
type: string
device:
description: Name of the target device to receive the messages.
required: false
type: string
{% endconfiguration %}
Receiving cloud messages in Automate:

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: 0.32
---
The `matrix` platform allows you to deliver notifications from Home Assistant to a [Matrix](http://matrix.org) room. Rooms can be both direct as well as group chats.
## {% linkable_title Configuration %}
@ -28,10 +27,17 @@ notify:
default_room: ROOM_ID_OR_ALIAS
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **default_room** (*Required*): The room all messages will be sent to, when no other target is given.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
default_room:
description: The room all messages will be sent to, when no other target is given.
required: true
type: string
{% endconfiguration %}
The target room has to be precreated, the room id can be obtained from the rooms settings dialog. Rooms by default have a canonical id of the form `"!<randomid>:homeserver.tld"`, but can also be allocated aliases like `"#roomname:homeserver.tld"`. Make sure to use quotes around the room id or alias to escape special characters (`!`, and `#`) in YAML. The notifying account may need to be invited to the room, depending on the individual rooms policies.

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: 0.52
---
The `prowl` platform uses [Prowl](https://www.prowlapp.com/) to deliver push notifications from Home Assistant to your iOS device.
Go to the [Prowl website](https://www.prowlapp.com/) and create a new API key.
@ -27,10 +26,17 @@ notify:
api_key: YOUR_API_KEY
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **api_key** (*Required*): The Prowl API key to use.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
api_key:
description: The Prowl API key to use.
required: true
type: string
{% endconfiguration %}
### {% linkable_title Prowl service data %}

View File

@ -24,10 +24,17 @@ notify:
api_key: YOUR_API_KEY
```
Configuration variables:
- **api_key** (*Required*): Enter the API key for Pushbullet. Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token.
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
{% configuration %}
api_key:
description: Enter the API key for Pushbullet. Go to [https://www.pushbullet.com/#settings/account](https://www.pushbullet.com/#settings/account) to retrieve your API key/access token.
required: true
type: string
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
{% endconfiguration %}
### {% linkable_title Usage %}
@ -84,7 +91,6 @@ action:
- **file** (*Required*): File to send with Pushbullet.
### {% linkable_title File URL support %}
```yaml
@ -100,6 +106,7 @@ action:
- **file_url** (*Required*): File to send with Pushbullet.
### {% linkable_title Single target %}
```yaml
action:
service: notify.NOTIFIER_NAME
@ -108,10 +115,9 @@ action:
message: "This only goes to one specific device"
target: device/DEVICE_NAME
```
- **target**: Pushbullet device to recive the notification.
- **target**: Pushbullet device to recive the notification.
<p class='note'>
Don't forget to [whitelist external directories](/docs/configuration/basic/), so Home Assistant has access to them.
</p>

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: pre 0.7
---
The `pushetta` notify platform uses [Pushetta](http://www.pushetta.com) to delivery notifications from Home Assistant to your devices.
To retrieve the API token, log into your account at [http://www.pushetta.com](http://www.pushetta.com) and go to your **Dashboard**. Create a new channel by clicking on **Channels** and then **Add a Channel**.
@ -28,21 +27,35 @@ notify:
channel_name: YOUR_CHANNEL_NAME
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **api_key** (*Required*): Your API key for Pushetta.
- **channel_name** (*Required*): The name of your channel.
- **send_test_msg** (*Optional*): Disable/enable the test message send on Home Assistant's startup to test the API key and the existence of the channel. Default to `False`.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
api_key:
description: Your API key for Pushetta.
required: true
type: string
channel_name:
description: The name of your channel.
required: true
type: string
send_test_msg:
description: Disable/enable the test message send on Home Assistant's startup to test the API key and the existence of the channel.
required: false
default: false
type: boolean
{% endconfiguration %}
It's easy to test your Pushetta setup outside of Home Assistant. Assuming you have a channel *home-assistant*, just fire a request and check the channel page in the dashboard for a new message.
```bash
curl -X POST \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d "{ \"body\" : \"Hello World\", \"message_type\" : \"text/plain\" }" \
http://api.pushetta.com/api/pushes/home-assistant/
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d "{ \"body\" : \"Hello World\", \"message_type\" : \"text/plain\" }" \
http://api.pushetta.com/api/pushes/home-assistant/
```
For further details, please check the [API](http://pushetta.com/pushetta-api/).

View File

@ -26,16 +26,22 @@ notify:
private_key: YOUR_KEY
```
**Configuration variables:**
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **private_key** (*Required*): Your private or alias key. Private key = send the notification to all devices with standard params, alias key send the notification to the devices stored in the alias with predefined params.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
private_key:
description: Your private or alias key. Private key = send the notification to all devices with standard params, alias key send the notification to the devices stored in the alias with predefined params.
required: true
type: string
{% endconfiguration %}
### {% linkable_title Examples %}
Message to two devices with formatted text.
```yaml
action:
service: notify.notify

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: 0.13
---
The `rest` notification platform allows you to deliver [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) notifications from Home Assistant to another party.
To enable the REST notification in your installation, add the following to your `configuration.yaml` file:
@ -25,17 +24,46 @@ notify:
resource: http://IP_ADDRESS/ENDPOINT
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **resource** (*Required*): The resource or endpoint that will receive the value.
- **method** (*Optional*): The method of the request. Default is `GET`. Other valid options are `POST` or `POST_JSON`.
- **headers** (*Optional*): The headers for the request.
- **message_param_name** (*Optional*): Parameter name for the message. Defaults to `message`.
- **title_param_name** (*Optional*): Parameter name for the title. Defaults to none.
- **target_param_name** (*Optional*): Parameter name for the target. Defaults to none.
- **data** (*Optional*): Dictionary of extra parameters to send to the resource.
- **data_template** (*Optional*): Template dictionary of extra parameters to send to the resource.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
resource:
description: The resource or endpoint that will receive the value.
required: true
type: string
method:
description: The method of the request. Valid options are `GET`, `POST` or `POST_JSON`.
required: false
default: GET
type: string
headers:
description: The headers for the request.
required: false
type: string
message_param_name:
description: Parameter name for the message.
required: false
default: message
type: string
title_param_name:
description: Parameter name for the title.
required: false
type: string
target_param_name:
description: Parameter name for the target.
required: false
type: string
data:
description: Dictionary of extra parameters to send to the resource.
required: false
type: string
data_template:
description: Template dictionary of extra parameters to send to the resource.
required: false
type: template
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -13,6 +13,12 @@ ha_category: Notifications
The `sendgrid` notification platform sends email notifications via [SendGrid](https://sendgrid.com/), a proven cloud-based email platform.
## {% linkable_title Setup %}
You need an [API key](https://app.sendgrid.com/settings/api_keys) from SendGrid.
## {% linkable_title Configuration %}
To enable notification emails via SendGrid in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -25,11 +31,24 @@ notify:
recipient: YOUR_RECIPIENT
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **api_key** (*Required*): SendGrid API key - https://app.sendgrid.com/settings/api_keys
- **sender** (*Required*): E-mail address of the sender.
- **recipient** (*Required*): Recipient of the notification.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
api_key:
description: Your SendGrid API key.
required: true
type: string
sender:
description: The e-mail address of the sender.
required: true
type: string
recipient:
description: The recipient of the notification.
required: true
type: string
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -12,7 +12,6 @@ ha_category: Notifications
ha_release: pre 0.7
---
The `syslog` platform allows you to deliver notifications from Home Assistant to the local syslog.
To enable syslog notifications in your installation, add the following to your `configuration.yaml` file:
@ -24,12 +23,28 @@ notify:
platform: syslog
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **facility** (*Optional*): Facility according to RFC 3164 (http://tools.ietf.org/html/rfc3164). Default is 'syslog' if no value is given. Check the table below for entries.
- **option** (*Optional*): Log option. Default is 'pid' if no value is given. Check the table below for entries.
- **priority** (*Optional*): Priority of the messages. Default is 'info' if no value is given. Check the table below for entries.
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
facility:
description: Facility according to RFC 3164 (http://tools.ietf.org/html/rfc3164). Check the table below for entries.
required: false
default: syslog
type: string
option:
description: Log option. Check the table below for entries.
required: false
default: pid
type: string
priority:
description: Priority of the messages. Check the table below for entries.
required: false
default: info
type: string
{% endconfiguration %}
The table contains values to use in your `configuration.yaml` file.

View File

@ -98,18 +98,20 @@ To configure additional functionality, add configuration options beneath a `bina
openuv:
api_key: YOUR_OPENUV_API_KEY
binary_sensors:
- uv_protection_window
monitored_conditions:
- uv_protection_window
sensors:
- current_ozone_level
- current_uv_index
- current_uv_level
- max_uv_index
- safe_exposure_time_type_1
- safe_exposure_time_type_2
- safe_exposure_time_type_3
- safe_exposure_time_type_4
- safe_exposure_time_type_5
- safe_exposure_time_type_6
monitored_conditions:
- current_ozone_level
- current_uv_index
- current_uv_level
- max_uv_index
- safe_exposure_time_type_1
- safe_exposure_time_type_2
- safe_exposure_time_type_3
- safe_exposure_time_type_4
- safe_exposure_time_type_5
- safe_exposure_time_type_6
```
<p class='note warning'>

View File

@ -32,31 +32,89 @@ plant:
min_moisture: 20
```
Configuration variables:
- **entity_id** (*Required*): Set by you and is used by the component as the `entity_id`.
- **sensors** (*Required*):
- **moisture** (*Optional*): Moisture of the plant. Measured in %. Can have a min and max value set optionally.
- **battery** (*Optional*): Battery level of the plant sensor. Measured in %. Can only have a min level set optionally.
- **temperature:** (*Optional*): Temperature of the plant. Measured in degrees Celsius. Can have a min and max value set optionally.
- **conductivity:** (*Optional*): Conductivity of the plant. Measured in µS/cm. Can have a min and max value set optionally.
- **brightness:** (*Optional*): Light exposure of the plant. Measured in Lux. Can have a min and max value set optionally.
- **min_moisture** (*Optional*): Minimum moisture level before triggering a problem. Typical value: 20
- **max_moisture** (*Optional*): Maximum moisture level before triggering a problem. Typical value: 60
- **min_battery** (*Optional*): Minimum battery level before triggering a problem. Typical value: 20
- **min_conductivity** (*Optional*): Minimum conductivity level before triggering a problem. Typical value: 500
- **max_conductivity** (*Optional*): Maximum conductivity level before triggering a problem. Typical value: 3000
- **min_temperature** (*Optional*): Minimum temperature before triggering a problem.
- **max_temperature** (*Optional*): Maximum temperature before triggering a problem.
- **min_brightness** (*Optional*): Minimum brightness before triggering a problem. In contrast to the other values, this check is *not* looking at the current situation, but rather at the last days. A problem is only reported if the maximum brightness over the last days was lower than min_brightness. You can use this to check if the plant gets enough light during the course of the day.
- **max_brightness** (*Optional*): Maximum brightness before triggering a problem.
- **check_days** (*Optional*): time interval (in days) used when checking **min_brightness**, if not set, the default value is 3
{% configuration %}
entity_id:
description: Set by you and is used by the component as the `entity_id`.
required: true
type: list
keys:
sensors:
description: List of sensor measure entities.
required: true
type: list
keys:
moisture:
description: Moisture of the plant. Measured in %. Can have a min and max value set optionally.
required: false
type: string
battery:
description: Battery level of the plant sensor. Measured in %. Can only have a min level set optionally.
required: false
type: string
temperature:
description: Temperature of the plant. Measured in degrees Celsius. Can have a min and max value set optionally.
required: false
type: string
conductivity:
description: Conductivity of the plant. Measured in µS/cm. Can have a min and max value set optionally.
required: false
type: string
brightness:
description: Light exposure of the plant. Measured in Lux. Can have a min and max value set optionally.
required: false
type: string
mind_moisture:
description: Minimum moisture level before triggering a problem.
required: false
default: 20
type: integer
max_moisture:
description: Maximum moisture level before triggering a problem.
required: false
default: 60
type: integer
min_battery:
description: Minimum battery level before triggering a problem.
required: false
default: 20
type: integer
min_conductivity:
description: Minimum conductivity level before triggering a problem.
required: false
default: 500
type: integer
max_conductivity:
description: Maximum conductivity level before triggering a problem.
required: false
default: 3000
type: integer
min_temperature:
description: Minimum temperature before triggering a problem.
required: false
type: float
max_temperature:
description: Maximum temperature before triggering a problem.
required: false
type: float
min_brightness:
description: Minimum brightness before triggering a problem. In contrast to the other values, this check is *not* looking at the current situation, but rather at the last days. A problem is only reported if the maximum brightness over the last days was lower than min_brightness. You can use this to check if the plant gets enough light during the course of the day.
required: false
type: integer
max_brightness:
description: Maximum brightness before triggering a problem.
required: false
type: integer
check_days:
description: time interval (in days) used when checking `min_brightness`.
required: false
default: 3
type: integer
{% endconfiguration %}
## {% linkable_title Examples %}
### Using plain MQTT sensor to get the data
This is a practical example that uses a multiple of `MQTT sensors` to supply the readings used by the `plant` sensor.
Another good source of this data would be the [Mi Flora](/components/sensor.miflora/) component.
Another good source of this data would be the [Mi Flora](/components/sensor.miflora/) component.
If the sensor data is within the min/max values the status will be `ok`, if not the status will be `problem`. You can use this to trigger a notification, if there is a problem with your plant. Of course you can only monitor attributes of your plant, where the sensor is configured and is providing the data.
@ -67,6 +125,7 @@ The main sources of the data will usually be a [MiFlora sensor](/components/sens
If you want to get the date via a PlantGateway, this is a typical configuration for the MQTT sensors:
{% raw %}
```yaml
# Example configuration.yaml entry
plant:
@ -82,7 +141,7 @@ plant:
min_battery: 17
min_conductivity: 500
min_temperature: 15
sensor:
- platform: mqtt
name: my_plant_moisture
@ -105,6 +164,7 @@ sensor:
state_topic: my_plant_topic
value_template: '{{ value_json.brightness }}'
```
{% endraw %}
You have to replace the `state_topic` with the value that you configured in the PlantGateway. It also depends on the global configuration of your MQTT server.

View File

@ -72,7 +72,7 @@ route53:
aws_access_key_id: ABC123
aws_secret_access_key: DEF456
zone: ZONEID678
domain: home.yourdomain.com
domain: yourdomain.com
records:
- vpn
- hassio

View File

@ -28,9 +28,12 @@ sensor:
- linev
```
Configuration variables:
- **resources** array (*Required*): Contains all entries to display.
{% configuration %}
resources:
description: Contains all entries to display.
required: true
type: list
{% endconfiguration %}
### {% linkable_title Example %}

View File

@ -13,7 +13,6 @@ ha_iot_class: "Local Polling"
ha_release: pre 0.7
---
The `arest` sensor platform allows you to get all data from your devices (like Arduinos with a Ethernet/Wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework.
## {% linkable_title Configuration %}
@ -24,7 +23,7 @@ To use your aREST enabled device in your installation, add the following to your
# Example configuration.yaml entry
sensor:
- platform: arest
resource: http://IP_ADDRESS
resource: https://IP_ADDRESS
monitored_variables:
temperature:
name: temperature
@ -33,22 +32,63 @@ sensor:
name: Pin 0 analog
```
Configuration variables:
{% configuration %}
resource:
description: "IP address and schema of the device that is exposing an aREST API, e.g., https://192.168.1.10."
required: true
type: string
name:
description: Let you overwrite the name of the device.
required: false
default: aREST sensor
type: string
pins:
description: List of pins to monitor. Analog pins need a leading **A** for the pin number.
required: false
type: list
keys:
pin:
description: Pin number to use.
required: true
type: list
keys:
name:
description: The name of the variable you wish to monitor.
required: true
type: string
unit_of_measurement:
description: Defines the unit of measurement of the sensor, if any.
required: false
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
monitored_variables:
description: List of exposed variables.
required: false
type: list
keys:
variable:
description: Name of the variable to monitor.
required: true
type: list
keys:
name:
description: The name to use for the frontend.
required: false
type: string
unit_of_measurement:
description: Defines the units of measurement of the sensor, if any.
required: false
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
{% endconfiguration %}
- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g., http://192.168.1.10.
- **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used.
- **monitored_variables** array (*Optional*): List of exposed variables.
- **[variable]** (*Required*): Name of the variable to monitor.
- **name** (*Optional*): The name to use for the frontend.
- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any.
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
- **pins** array (*Optional*): List of pins to monitor. Analog pins need a leading **A** for the pin number.
- **[pin]** (*Required*): Pin number to use.
- **name** (*Required*): The name of the variable you wish to monitor.
- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any.
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you could use the one of the example sketches (eg. [Ethernet](https://raw.githubusercontent.com/marcoschwartz/aREST/master/examples/Ethernet/Ethernet.ino) for an Arduino with Ethernet shield). In those sketches are two variables (`temperature` and `humidity`) available which will act as endpoints.
The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you could use the one of the example sketches (eg. [Ethernet](https://raw.githubusercontent.com/marcoschwartz/aREST/master/examples/Ethernet/Ethernet.ino) for an Arduino with Ethernet shield). In those sketches are two variables (`temperature` and `humidity`) available which will act as endpoints.
Accessing one of the endpoints (eg. http://192.168.1.10/temperature) will give you the value inside a JSON response.
@ -75,4 +115,3 @@ The root will give you a JSON response that contains all variables and their cur
```json
{"return_value": 34, "id": "sensor02", "name": "livingroom", "connected": true}
```

View File

@ -46,17 +46,28 @@ sensor:
- air_quality
```
Configuration variables:
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend. The following conditions can be monitored.
- **captured_today**: Return the number of videos captured on the current day.
- **last_capture**: Return the timestamp from the last video captured by your Arlo camera.
- **total_cameras**: Return the number of recognized and active cameras linked on your Arlo account.
- **battery_level**: Return the battery level of your Arlo camera.
- **signal_strength**: Return the wireless signal strength of your Arlo camera.
- **temperature**: Return the ambient temperature detected by your Arlo Baby camera.
- **humidity**: Return the ambient relative humidity detected by your Arlo Baby camera.
- **air_quality**: Return the ambient air quality (a reading of volatile organic compounds (VOCs) in parts per million) detected by your Arlo Baby camera.
{% configuration %}
monitored_conditions:
description: Conditions to display in the frontend. The following conditions can be monitored.
required: false
type: list
keys:
captured_today:
description: Return the number of videos captured on the current day.
last_capture:
description: Return the timestamp from the last video captured by your Arlo camera.
total_cameras:
description: Return the number of recognized and active cameras linked on your Arlo account.
battery_level:
description: Return the battery level of your Arlo camera.
signal_strength:
description: Return the wireless signal strength of your Arlo camera.
temperature:
description: Return the ambient temperature detected by your Arlo Baby camera.
humidity:
description: Return the ambient relative humidity detected by your Arlo Baby camera.
air_quality:
description: Return the ambient air quality (a reading of volatile organic compounds (VOCs) in parts per million) detected by your Arlo Baby camera.
{% endconfiguration %}
If no **monitored_conditions** are specified, all of above will be enabled by default.

View File

@ -13,7 +13,6 @@ ha_release: 0.47
ha_iot_class: "Cloud Polling"
---
The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a web service that provides detailed weather information for users in The Netherlands. The relevant weather station used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component). A map of all available weather stations can be found [here](https://www.google.com/maps/d/embed?mid=1NivHkTGQUOs0dwQTnTMZi8Uatj0).
The selected weather station will provide all weather data, with the exception of the forecasted precipitation. The forecasted precipitation data will be retrieved from buienradar using your actual gps-location (and not the location of the nearest weather station).
@ -32,60 +31,113 @@ sensor:
- pressure
```
Configuration variables:
{% configuration %}
name:
description: You can specify a name of the component, but do not have to. See more info below.
required: false
type: string
latitude:
description: Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.nl.
required: false
type: float
longitude:
description: Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.nl.
required: false
type: float
timeframe:
description: "Minutes to look ahead for precipitation forecast (min: 5 / max: 120)."
required: false
default: 60
type: integer
monitored_conditions:
description: One or more conditions to display in the frontend.
required: true
type: list
keys:
stationname:
description: The name of the selected meteo-station.
conditioncode:
description: A symbol and a unique code identifying the current weather condition ([a..z]).
condition:
description: A symbol and the current weather condition (`clear`, `cloudy`, `fog`, `rainy`, `snowy` or `lightning`).
conditiondetailed:
description: A symbol and detailed current weather condition (`clear`, `partlycloudy`, `cloudy`, `partlycloudy-fog`, `partlycloudy-light-rain`, `partlycloudy-rain`, `light-rain`, `rainy`, `snowy-rainy`, `partlycloudy-light-snow`, `partlycloudy-snow`, `light-snow`, `snowy`, `partlycloudy-lightning` or `lightning`).
conditionexact:
description: A symbol with the full current weather condition (in English).
symbol:
description: A symbol for the current weather with the full current condition (in Dutch).
humidity:
description: The relative humidity (%).
temperature:
description: "The current temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
groundtemperature:
description: "The current ground temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
windspeed:
description: "The wind speed in [m/s](https://en.wikipedia.org/wiki/M/s)."
windforce:
description: "The wind speed/force in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale)."
winddirection:
description: "Where the wind is coming from: N (North),Z (south), NO (North-East), etc."
windazimuth:
description: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
pressure:
description: "The sea-level air pressure in [hPa](https://en.wikipedia.org/wiki/Hectopascal)."
visibility:
description: "Visibility in meters ([m](https://en.wikipedia.org/wiki/Metre))."
windgust:
description: "The wind speed of wind gusts ([m/s](https://en.wikipedia.org/wiki/M/s))."
precipitation:
description: The amount of precipitation/rain in mm/h.
precipitation_forecast_average:
description: The average expected precipitation/rain in mm/h within the given time-frame.
precipitation_forecast_total:
description: The total expected precipitation/rain in mm within the given time-frame. The total expected rain in the configured time-frame will be equal to _precipitation_forecast_total_/_timeframe_ mm/min. So, with time-frame configured to 30 minutes and a value of 5, the expected rain is 5 mm in 30 minutes, which is the same as 10 mm/h. If time-frame is set to 90 minutes and a value of 5, the expected rain is 5 mm in 90 minutes, which is equal to 3.3 mm/h.
irradiance:
description: "Sun intensity in Watt per square meter ([W/m2](https://en.wikipedia.org/wiki/W/m2))."
temperature_1d:
description: "The forecasted temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
mintemp_1d:
description: "The forecasted minimum temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
rainchance_1d:
description: The forecasted chance for rain (%).
sunchance_1d:
description: The forecasted chance for sun (%).
rain_1d:
description: "The forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre)."
snow_1d:
description: "The forecasted amount of snow in [cm](https://en.wikipedia.org/wiki/Centimetre)."
windforce_1d:
description: "The expected windforce in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale)."
conditioncode_1d:
description: Symbol and condition code of the expected condition.
condition_1d:
description: Symbol and expected condition.
conditiondetailed_1d:
description: Symbol and detailed expected condition.
conditionexact_1d:
description: Symbol and full expected condition (in English).
symbol_1d:
description: Symbol and full expected condition (in Dutch).
{% endconfiguration %}
- **name** (*Optional*): You can specify a name of the component, but do not have to. If you specify a name, the sensors will get an entity name of `sensor.[name]_[default sensor display name]`, for example:
- `sensor.lopik_temperature`, since the name of the sensor is set to `lopik` and the default display name for monitored condition `temperature` is `Temperature`
- `sensor.lopik_wind_force`, since the name of the sensor is set to `lopik` and the default display name for monitored condition `windforce` is `Wind force`
If no name is specified the sensors will be called `sensor.br_[default sensor display name]`, for example:
- `sensor.br_wind_speed`, since no name has been set for the sensor and the default display name for monitored condition `windspeed` is `Wind speed`
- `sensor.br_ground_temperature`, since no name has been set for the sensor and the default display name for monitored condition `groundtemperature` is `Ground Temperature`
- **latitude** (*Optional*): Latitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.nl.
- **longitude** (*Optional*): Longitude to use for selection of data source location. Longitude and latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.nl.
- **timeframe** (*Optional*): Minutes to look ahead for precipitation forecast (5..120) [default: 60].
- **monitored_conditions** array (*Required*): One or more conditions to display in the frontend.
- **stationname**: The name of the selected meteo-station.
- **conditioncode**: A symbol and a unique code identifying the current weather condition ([a..z]).
- **condition**: A symbol and the current weather condition (clear, cloudy, fog, rainy, snowy, lightning).
- **conditiondetailed**: A symbol and detailed current weather condition (clear, partlycloudy, cloudy, partlycloudy-fog, partlycloudy-light-rain, partlycloudy-rain, light-rain, rainy, snowy-rainy, partlycloudy-light-snow, partlycloudy-snow, light-snow, snowy, partlycloudy-lightning, lightning).
- **conditionexact**: A symbol with the full current weather condition (in English).
- **symbol**: A symbol for the current weather with the full current condition (in Dutch).
- **humidity**: The relative humidity (%).
- **temperature**: The current temperature (in [C](https://en.wikipedia.org/wiki/Celsius)).
- **groundtemperature**: The current ground temperature (in [C](https://en.wikipedia.org/wiki/Celsius)).
- **windspeed**: The wind speed in [m/s](https://en.wikipedia.org/wiki/M/s).
- **windforce**: The wind speed/force in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale).
- **winddirection**: Where the wind is coming from: N (North),Z (south), NO (North-East), etc.
- **windazimuth**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
- **pressure**: The sea-level air pressure in [hPa](https://en.wikipedia.org/wiki/Hectopascal).
- **visibility**: Visibility in meters ([m](https://en.wikipedia.org/wiki/Metre)).
- **windgust**: The wind speed of wind gusts ([m/s](https://en.wikipedia.org/wiki/M/s)).
- **precipitation**: The amount of precipitation/rain in mm/h.
- **precipitation_forecast_average**: The average expected precipitation/rain in mm/h within the given time-frame.
- **precipitation_forecast_total**: The total expected precipitation/rain in mm within the given time-frame. The total expected rain in the configured time-frame will be equal to _precipitation_forecast_total_/_timeframe_ mm/min. So, with time-frame configured to 30 minutes and a value of 5, the expected rain is 5 mm in 30 minutes, which is the same as 10 mm/h. If time-frame is set to 90 minutes and a value of 5, the expected rain is 5 mm in 90 minutes, which is equal to 3.3 mm/h.
- **irradiance**: Sun intensity in Watt per square meter ([W/m2](https://en.wikipedia.org/wiki/W/m2)).
- **temperature_1d** [<sup>[1d]</sup>](#1d): The forecasted temperature (in [C](https://en.wikipedia.org/wiki/Celsius)).
- **mintemp_1d** [<sup>[1d]</sup>](#1d): The forecasted minimum temperature (in [C](https://en.wikipedia.org/wiki/Celsius)).
- **rainchance_1d** [<sup>[1d]</sup>](#1d): The forecasted chance for rain (%).
- **sunchance_1d** [<sup>[1d]</sup>](#1d): The forecasted chance for sun (%).
- **rain_1d** [<sup>[1d]</sup>](#1d): The forecasted amount of rain in [mm](https://en.wikipedia.org/wiki/Millimetre).
- **snow_1d** [<sup>[1d]</sup>](#1d): The forecasted amount of snow in [cm](https://en.wikipedia.org/wiki/Centimetre).
- **windforce_1d** [<sup>[1d]</sup>](#1d): The expected windforce in [Bft](https://en.wikipedia.org/wiki/Beaufort_scale).
- **conditioncode_1d** [<sup>[1d]</sup>](#1d): Symbol and condition code of the expected condition.
- **condition_1d** [<sup>[1d]</sup>](#1d): Symbol and expected condition.
- **conditiondetailed_1d** [<sup>[1d]</sup>](#1d): Symbol and detailed expected condition.
- **conditionexact_1d** [<sup>[1d]</sup>](#1d): Symbol and full expected condition (in English).
- **symbol_1d** [<sup>[1d]</sup>](#1d): Symbol and full expected condition (in Dutch).
## {% linkable_title The `Name` Variable %}
If you specify a name, the sensors will get an entity name of `sensor.[name]_[default sensor display name]`, for example:
## Daily forecasts
- `sensor.lopik_temperature`, since the name of the sensor is set to `lopik` and the default display name for monitored condition `temperature` is `Temperature`.
- `sensor.lopik_wind_force`, since the name of the sensor is set to `lopik` and the default display name for monitored condition `windforce` is `Wind force`.
Conditions above marked with <a name="1d">[1d]</a> are daily forecasts. To get forecast for different day, replace the number
If no name is specified the sensors will be called `sensor.br_[default sensor display name]`, for example:
- `sensor.br_wind_speed`, since no name has been set for the sensor and the default display name for monitored condition `windspeed` is `Wind speed`.
- `sensor.br_ground_temperature`, since no name has been set for the sensor and the default display name for monitored condition `groundtemperature` is `Ground Temperature`.
## {% linkable_title Daily forecasts %}
Conditions above marked with `1d` are daily forecasts. To get forecast for different day, replace the number
in `_1d` part of the sensor name. Valid values are from `1` to `5`.
## Configuration examples
## {% linkable_title Configuration examples %}
Full configuration example (excluding forecasted conditions) where location is manually specified:
@ -119,7 +171,6 @@ Full configuration example (excluding forecasted conditions) where location is m
- precipitation_forecast_total
```
Configuration example with current condition and (some) forecasted values:
```yaml

View File

@ -28,12 +28,28 @@ sensor:
- type: current_hour_average
```
Configuration variables:
- **monitored_feeds** array (*Required*): Feeds to monitor.
- **type** (*Required*): Name of the feed.
- **five_minute**: The latest 5-minute price in cents.
- **current_hour_average**: The latest current hour average price in cents.
- **name** (*Optional*): Custom name for the sensor.
- **offset** (*Optional*): The pricing feeds provide only the *supply* cost of the electricity. The offset parameter allows you to provide a fixed constant that will be added to the pricing data to provide a more accurate representation of the total electricity cost per kWh.
{% configuration %}
monitored_feeds:
description: Feeds to monitor.
required: true
type: list
keys:
type:
description: Name of the feed.
required: true
type: list
keys:
five_minute:
description: The latest 5-minute price in cents.
current_hour_average:
description: The latest current hour average price in cents.
name:
description: Custom name for the sensor.
required: false
type: string
offset:
description: The pricing feeds provide only the *supply* cost of the electricity. The offset parameter allows you to provide a fixed constant that will be added to the pricing data to provide a more accurate representation of the total electricity cost per kWh.
required: false
default: 0.0
type: float
{% endconfiguration %}

View File

@ -36,94 +36,161 @@ sensor:
- nearest_storm_distance
```
Configuration variables:
{% configuration %}
api_key:
description: Your API key.
required: true
type: string
name:
description: Additional name for the sensors.
required: false
default: Dark Sky
type: string
forecast:
description: List of days in the 7 day forecast you would like to receive data on, starting with tomorrow as day 1. Any `monitored_condition` with a daily forecast by DarkSky will generate a sensor tagged with `_<day>`.
required: false
type: list
language:
description: The desired language of the summary properties. The valid options are further down in a table.
required: false
default: "`en`"
type: string
latitude:
description: Latitude coordinate to monitor weather of (required if **longitude** is specified).
required: false
default: coordinates defined in your `configuration.yaml`
type: float
longitude:
description: Longitude coordinate to monitor weather of (required if **latitude** is specified).
required: false
default: coordinates defined in your `configuration.yaml`
type: float
monitored_conditions:
description: Conditions to display in the frontend.
required: true
type: list
keys:
summary:
description: A human-readable text summary of the current conditions.
precip_type:
description: The type of precipitation occurring.
precip_intensity:
description: The average expected intensity of precipitation occurring.
precip_probability:
description: A value between 0 and 1 which is representing the probability of precipitation.
precip_accumulation:
description: Daily snow accumulation. Returns unknown if no snow accumulation available.
temperature:
description: The current temperature.
apparent_temperature:
description: A numerical value representing the apparent (or "feels like") temperature.
dew_point:
description: The dew point.
wind_speed:
description: The wind speed.
wind_gust:
description: The wind gust.
wind_bearing:
description: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
cloud_cover:
description: The percentage of sky occluded by clouds.
humidity:
description: The relative humidity.
pressure:
description: The sea-level air pressure in millibars.
visibility:
description: The average visibility.
ozone:
description: The columnar density of total atmospheric ozone in Dobson.
minutely_summary:
description: A human-readable text summary for the next hour.
hourly_summary:
description: A human-readable text summary for the next 24 hours.
daily_summary:
description: A human-readable text summary for the next 7 days.
temperature_high:
description: Today's daytime expected high temperature.
temperature_low:
description: Today's overnight expected low temperature.
apparent_temperature_high:
description: Today's daytime expected apparent high temperature.
apparent_temperature_low:
description: Today's overnight expected apparent low temperature.
precip_intensity_max:
description: Today's expected maximum intensity of precipitation.
uv_index:
description: The current UV index.
moon_phase:
description: The fractional part of the lunation number during the given day.
units:
description: Specify the unit system. Valid options are `auto`, `us`, `si`, `ca`, `uk` and `uk2`. `auto` will let Dark Sky decide the unit system based on location.
required: false
default: "`si` or `us`, based on the temperature preference in Home Assistant."
type: string
update_interval:
description: "Minimum time interval between updates. Supported formats: `update_interval: 'HH:MM:SS'`, `update_interval: 'HH:MM'` and Time period dictionary (see example below)."
required: false
default: 2 minutes
type: time
{% endconfiguration %}
- **api_key** (*Required*): Your API key.
- **name** (*Optional*): Additional name for the sensors. Default to platform name.
- **forecast** array (*Optional*): List of days in the 7 day forecast you would like to receive data on, starting with tomorrow as day 1. Any `monitored_condition` with a daily forecast by DarkSky will generate a sensor tagged with `_<day>`.
- **language** (*Optional*): The desired language of the summary properties. Valid options are
- `ar`: Arabic
- `az`: Azerbaijani
- `be`: Belarusian
- `bg`: Bulgarian
- `bs`: Bosnian
- `ca`: Catalan
- `cs`: Czech
- `da`: Danish
- `de`: German
- `el`: Greek
- `en`: English (which is the default)
- `es`: Spanish
- `et`: Estonian
- `fi`: Finnish
- `fr`: French
- `hr`: Croatian
- `hu`: Hungarian
- `id`: Indonesian
- `is`: Icelandic
- `it`: Italian
- `ja`: Japanese
- `ka`: Georgian
- `kw`: Cornish
- `nb`: Norwegian Bokmål
- `nl`: Dutch
- `pl`: Polish
- `pt`: Portuguese
- `ro`: Romanian
- `ru`: Russian
- `sk`: Slovak
- `sl`: Slovenian
- `sr`: Serbian
- `sv`: Swedish
- `tet`: Tetum
- `tr`: Turkish
- `uk`: Ukrainian
- `x-pig-latin`: Igpay Atinlay
- `zh`: simplified Chinese
- `zh-tw`: traditional Chinese
- **latitude** (*Optional*): Latitude coordinate to monitor weather of (required if **longitude** is specified), defaults to coordinates defined in your `configuration.yaml`
- **longitude** (*Optional*): Longitude coordinate to monitor weather of (required if **latitude** is specified), defaults to coordinates defined in your `configuration.yaml`
- **monitored_conditions** array (*Required*): Conditions to display in the frontend.
- **summary**: A human-readable text summary of the current conditions.
- **precip_type**: The type of precipitation occurring.
- **precip_intensity**: The average expected intensity of precipitation occurring.
- **precip_probability**: A value between 0 and 1 which is representing the probability of precipitation.
- **precip_accumulation**: Daily snow accumulation. Returns unknown if no snow accumulation available.
- **temperature**: The current temperature.
- **apparent_temperature**: A numerical value representing the apparent (or "feels like") temperature.
- **dew_point**: The dew point.
- **wind_speed**: The wind speed.
- **wind_gust**: The wind gust.
- **wind_bearing**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
- **cloud_cover**: The percentage of sky occluded by clouds.
- **humidity**: The relative humidity.
- **pressure**: The sea-level air pressure in millibars.
- **visibility**: The average visibility.
- **ozone**: The columnar density of total atmospheric ozone in Dobson.
- **minutely_summary**: A human-readable text summary for the next hour.
- **hourly_summary**: A human-readable text summary for the next 24 hours.
- **daily_summary**: A human-readable text summary for the next 7 days.
- **temperature_high**: Today's daytime expected high temperature.
- **temperature_low**: Today's overnight expected low temperature.
- **apparent_temperature_high**: Today's daytime expected apparent high temperature.
- **apparent_temperature_low**: Today's overnight expected apparent low temperature.
- **precip_intensity_max**: Today's expected maximum intensity of precipitation.
- **uv_index**: The current UV index.
- **moon_phase**: The fractional part of the lunation number during the given day.
- **units** (*Optional*): Specify the unit system. Default to `si` or `us` based on the temperature preference in Home Assistant. Other options are `auto`, `us`, `si`, `ca`, `uk` and `uk2`.
`auto` will let Dark Sky decide the unit system based on location.
- **update_interval** (*Optional*): Minimum time interval between updates. Default is 2 minutes. Supported formats:
- `update_interval: 'HH:MM:SS'`
- `update_interval: 'HH:MM'`
- Time period dictionary, e.g.:
<pre>update_interval:
# At least one of these must be specified:
days: 0
hours: 0
minutes: 3
seconds: 30
milliseconds: 0
</pre>
#### {% linkable_title Time period dictionary example %}
```yaml
update_interval:
# At least one of these must be specified:
days: 0
hours: 0
minutes: 3
seconds: 30
milliseconds: 0
```
#### {% linkable_title Language options %}
All language options are described in this table that you can use for the dark sky sensor.
|Language|Variable Code|
|---|---|
|Arabic|`ar`|
|Azerbaijani|`az`|
|Belarusian|`be`|
|Bulgarian|`bg`|
|Bosnian|`bs`|
|Catalan|`ca`|
|Czech|`cs`|
|Danish|`da`|
|German|`de`|
|Greek|`el`|
|English|`en`|
|Spanish|`es`|
|Estonian|`et`|
|Finnish|`fi`|
|French|`fr`|
|Croatian|`hr`|
|Hungarian|`hu`|
|Indonesian|`id`|
|Icelandic|`is`|
|Italian|`it`|
|Japanese|`ja`|
|Georgian|`ka`|
|Cornish|`kw`|
|Norwegian Bokmål|`nb`|
|Dutch|`nl`|
|Polish|`pl`|
|Portuguese|`pt`|
|Romanian|`ro`|
|Russian|`ru`|
|Slovak|`sk`|
|Slovenian|`sl`|
|Serbian|`sr`|
|Swedish|`sv`|
|Tetum|`tet`|
|Turkish|`tr`|
|Ukrainian|`uk`|
|Igpay Atinlay|`x-pig-latin`|
|simplified Chinese|`zh`|
|traditional Chinese|`zh-tw`|
<p class='note warning'>
While the platform is called "darksky" the sensors will show up in Home Assistant as "dark_sky" (eg: sensor.dark_sky_summary).

View File

@ -13,7 +13,6 @@ ha_iot_class: "Cloud Polling"
ha_release: "0.40"
---
The `dnsip` sensor will expose an IP address, fetched via DNS resolution, as its value. There are two operational modes:
1. When you enable the sensor with minimal configuration, it will query the [OpenDNS](https://www.opendns.com/) nameservers with the hostname `myip.opendns.com`, which will resolve to your external/public IP address.
@ -31,14 +30,38 @@ sensor:
- platform: dnsip
```
Configuration variables:
- **hostname** (*Optional*): The hostname for which to perform the DNS query. Defaults to `myip.opendns.com` (special hostname that resolves to your public IP).
- **name** (*Optional*): Name of the sensor. Defaults to `myip` or hostname without dots if specified.
- **resolver** (*Optional*): The DNS server to target the query at. Defaults to `208.67.222.222` (OpenDNS).
- **ipv6** (*Optional*): Set this to `true` or `false` if IPv6 should be used. When resolving the public IP, this will be the IP of the machine where Home Assistant is running on.
- **resolver_ipv6** (*Optional*): The IPv6 DNS server to target the query at. Defaults to `2620:0:ccc::2` (OpenDNS).
- **scan_interval** (*Optional*): Defines number of seconds for polling interval. Defaults to `120` seconds.
{% configuration %}
hostname:
description: The hostname for which to perform the DNS query.
required: false
default: "`myip.opendns.com` (special hostname that resolves to your public IP)"
type: string
name:
description: Name of the sensor.
required: false
default: "`myip` or hostname without dots if specified"
type: string
resolver:
description: The DNS server to target the query at.
required: false
default: "`208.67.222.222` (OpenDNS)"
type: string
ipv6:
description: Set this to `true` or `false` if IPv6 should be used. When resolving the public IP, this will be the IP of the machine where Home Assistant is running on.
required: false
default: false
type: boolean
resolver_ipv6:
description: The IPv6 DNS server to target the query at.
required: false
default: "`2620:0:ccc::2` (OpenDNS)"
type: string
scan_interval:
description: Defines number of seconds for polling interval.
required: false
default: "`120`"
type: integer
{% endconfiguration %}
## {% linkable_title Extended example %}

View File

@ -16,12 +16,12 @@ ha_iot_class: "Local Polling"
The `eddystone_temperature` sensor platform reads temperature information from Bluetooth LE advertisements transmitted by [Eddystone](https://en.wikipedia.org/wiki/Eddystone_(Google)) beacons. Your beacons must be configured to transmit UID frames (for identification) and TLM frames (for temperature).
All beacons that support the Eddystone protocol, have a temperature sensor and can transmit TLM frames are compatible with this platform. For example [Gimbal](https://store.gimbal.com/collections/beacons/), [Estimote](http://estimote.com/) or [kontakt.io](https://kontakt.io/). For more manufacturers see [this overview](https://developers.google.com/beacons/eddystone#beacon_manufacturers) by Google.
## Requirements
## {% linkable_title Requirements %}
As this platform uses `bluez` to scan for Bluetooth LE devices **a Linux OS with bluez installed** is required. In addition to that, the `libbluetooth` headers need to be installed:
```bash
$ sudo apt-get install libbluetooth-dev
$ sudo apt-get install libbluetooth-dev
```
Scanning for Bluetooth LE devices also requires special permissions. To grant these to the python executable execute the following:
@ -46,10 +46,33 @@ sensor:
namespace: "112233445566778899AA"
instance: "000000000002"
```
Configuration variables:
- **bt_device_id** (*Optional*): The id of the Bluetooth device that should be used for scanning (hci*X*). You can find the correct one using `hcitool dev` (default: 0).
- **beacons** array (*Required*): The beacons that should be monitored.
- **[entry]** (*Required*): Name of the beacon.
- **namespace** (*Required*): Namespace ID of the beacon in hexadecimal notation. Must be exactly 20 characters (10 bytes) long.
- **instance** (*Required*): Instance ID of the beacon in hexadecimal notation. Must be exactly 12 characters (6 bytes) long.
- **name** (*Optional*): Friendly name of the beacon.
{% configuration %}
bt_device_id:
description: The id of the Bluetooth device that should be used for scanning (hci*X*). You can find the correct one using `hcitool dev`.
required: false
default: 0
type: integer
beacons:
description: The beacons that should be monitored.
required: true
type: list
keys:
entry:
description: Name of the beacon.
required: true
type: list
keys:
namespace:
description: Namespace ID of the beacon in hexadecimal notation. Must be exactly 20 characters (10 bytes) long.
required: true
type: string
instance:
description: Instance ID of the beacon in hexadecimal notation. Must be exactly 12 characters (6 bytes) long.
required: true
type: string
name:
description: Friendly name of the beacon.
required: false
type: string
{% endconfiguration %}

View File

@ -47,37 +47,65 @@ sensor:
- voltage_3
```
Configuration variables:
{% configuration %}
display_options:
description: List of readings to monitor.
required: false
default: All the conditions
type: list
keys:
temperature:
description: Ambient temperature in Celsius. Since the sensor is close to the Raspberry Pi, that might affect the accuracy of the reading (ie. the Pi might heat up the sensor)
pressure:
description: Atmospheric pressure in hPa.
light:
description: Ambient light, as an integer in the 0-65535 range.
light_red:
description: Red color reading scaled to the ambient light, as an integer in the 0-255 range.
light_green:
description: Green color reading scaled to the ambient light, as an integer in the 0-255 range.
light_blue:
description: Blue color reading scaled to the ambient light, as an integer in the 0-255 range.
accelerometer_x:
description: Accelerometer reading in units of G, along the X axis.
accelerometer_y:
description: Accelerometer reading in units of G, along the Y axis.
accelerometer_z:
description: Accelerometer reading in units of G, along the Z axis.
magnetometer_x:
description: Magnetometer reading, the X component of the raw vector.
magnetometer_y:
description: Magnetometer reading, the y component of the raw vector.
magnetometer_z:
description: Magnetometer reading, the z component of the raw vector.
voltage_0:
description: Voltage reading on Analog In 0 in units of V.
voltage_1:
description: Voltage reading on Analog In 1 in units of V.
voltage_2:
description: Voltage reading on Analog In 2 in units of V.
voltage_3:
description: Voltage reading on Analog In 3 in units of V.
use_led:
description: Declaring that the on-board LEDs are *not* used for the color measurements thus these readings are based on the ambient light. If the value is set to True, the on-board LEDs will blink whenever a reading is taken.
required: false
default: false
type: boolean
{% endconfiguration %}
- **display_options** (*Optional*) array: List of readings to monitor. Default is monitoring all of them:
- **temperature**: ambient temperature in Celsius. Since the sensor is close to the Raspberry Pi, that might affect the accuracy of the reading (ie. the Pi might heat up the sensor)
- **pressure**: atmospheric pressure in hPa.
- **light**: ambient light, as an integer in the 0-65535 range
- **light_red**: red color reading scaled to the ambient light, as an integer in the 0-255 range
- **light_green**: green color reading scaled to the ambient light, as an integer in the 0-255 range
- **light_blue**: blue color reading scaled to the ambient light, as an integer in the 0-255 range
- **accelerometer_x**: accelerometer reading in units of G, along the X axis
- **accelerometer_y**: accelerometer reading in units of G, along the Y axis
- **accelerometer_z**: accelerometer reading in units of G, along the Z axis
- **magnetometer_x**: magnetometer reading, the X component of the raw vector
- **magnetometer_y**: magnetometer reading, the Y component of the raw vector
- **magnetometer_z**: magnetometer reading, the X component of the raw vector
- **voltage_0**: voltage reading on Analog In 0 in units of V
- **voltage_1**: voltage reading on Analog In 1 in units of V
- **voltage_2**: voltage reading on Analog In 2 in units of V
- **voltage_3**: voltage reading on Analog In 3 in units of V
- **use_led** (*Optional*) True / False boolean; Default value is False, declaring that the on-board LEDs are *not* used for the color measurements thus these readings are based on the ambient light. If the value is set to True, the on-board LEDs will blink whenever a reading is taken.
### {% linkable_title Notes %}
### Notes
#### X, Y, Z axes
* **X, Y, Z axes**
* X is parallel with the long edge of the board
* Y is parallel with the short edge of the board
* Z is perpendicular to the board
* **Voltages**
* voltage readings are done in the 0-3.3V range, please do not connect higher voltages than that! See the [Enviro pHAT's getting started guide](https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-enviro-phat) regarding how to make a voltage divider
- X is parallel with the long edge of the board
- Y is parallel with the short edge of the board
- Z is perpendicular to the board
### Give the values friendly names & icons
#### Voltages
- voltage readings are done in the 0-3.3V range, please do not connect higher voltages than that! See the [Enviro pHAT's getting started guide](https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-enviro-phat) regarding how to make a voltage divider
### {% linkable_title Give the values friendly names & icons %}
Add something like the following to your [customize section](/docs/configuration/customizing-devices/):

View File

@ -13,7 +13,6 @@ ha_iot_class: "Local Polling"
ha_release: 0.45
---
The `file` sensor platform reads the entries from a plain-text file and shows the found value. Only the last line of the file is used. This is similar to do `$ tail -n 1 sensor.txt` on the command-line. Note that file paths must be added to [whitelist_external_dirs](/docs/configuration/basic/).
## {% linkable_title Configuration %}
@ -27,12 +26,25 @@ sensor:
file_path: /home/user/.homeassistant/sensor-data.txt
```
Configuration variables:
- **file_path** (*Required*): path to file that stores the sensor data.
- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `File`.
- **unit_of_measurement** (*Optional*): Defines the units of measurement of the sensor, if any.
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
{% configuration %}
file_path:
description: Path to file that stores the sensor data.
required: true
type: string
name:
description: Name of the sensor to use in the frontend.
required: false
default: file name
type: string
unit_of_measurement:
description: Defines the units of measurement of the sensor, if any.
required: false
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
{% endconfiguration %}
## {% linkable_title Examples %}
@ -59,4 +71,3 @@ sensor:
value_template: {% raw %}'{{ value_json.temperature }}'{% endraw %}
unit_of_measurement: '°C'
```

View File

@ -1,6 +1,6 @@
---
layout: page
title: "iOS"
title: "iOS Sensor"
description: "Instructions on how to use the iOS sensors with Home Assistant."
date: 2018-04-06 08:00
sidebar: true
@ -14,4 +14,4 @@ ha_release: 0.31
ha_iot_class: push
---
The `ios` component is the Home Assistant part for using the iOS companion app. For further details please check the [iOS section](/docs/ecosystem/ios/) in the documentation for further details.
The `ios` sensor platform is the Home Assistant part for using the iOS companion app. For further details please check the [iOS section](/docs/ecosystem/ios/) in the documentation for further details.

View File

@ -23,7 +23,7 @@ To add Météo-France to your installation, add the following to your `configura
# Example configuration.yaml entry
sensor:
- platform: meteo_france
postal_code: 76000
postal_code: '76000'
monitored_conditions:
- temperature
- weather

View File

@ -15,17 +15,21 @@ ha_iot_class: "Local Polling"
The `miflora` sensor platform allows one to monitor plant soil and air conditions. The [Mi Flora plant sensor](https://www.huahuacaocao.com/product) is a small Bluetooth Low Energy device that monitors the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time.
# Install Bluetooth Backend
There are "Chinese" and "International" versions available and there is a [report](https://community.home-assistant.io/t/miflora-showing-data-unknown/19550/8) that only the "International" works.
## {% linkable_title Install a Bluetooth Backend %}
Before configuring Home Assistant you need a Bluetooth backend and the MAC address of your sensor. Depending on your operating system, you may have to configure the proper Bluetooth backend for your system:
- On [Hass.io](/hassio/installation/): Miflora will work out of the box.
- On a [generic Docker installation](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- On other Linux systems:
- Preferred solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
   - Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
- Preferred solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
 - Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
- On Windows and MacOS there is currently no support for the [miflora library](https://github.com/open-homeautomation/miflora/).
# Scan for MAC address
## {% linkable_title Scan for devices %}
Start a scan to determine the MAC addresses of the sensor (you can identify your sensor by looking for `Flower care` or `Flower mate` entries) using this command:
```bash
@ -48,7 +52,8 @@ $ bluetoothctl
If you can't use `hcitool` or `bluetoothctl` but have access to an Android phone you can try `BLE Scanner` or similar scanner applications from the Play Store to easily find your sensor MAC address. If you are using Windows 10, try the `Microsoft Bluetooth LE Explorer` app from the Windows Store.
# Configure
## {% linkable_title Configuration %}
To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -104,6 +109,8 @@ adapter:
By default the sensor is only polled once every 20 minutes (`scan_interval` is 1200 seconds by default). On a Home Assistant restart sensor will report initial value. If you set `median: 3`, it will take _at least_ 40 minutes before the sensor will report an average value. Keep in mind though that reducing polling intervals will have a negative effect on the battery life.
</p>
## {% linkable_title Full example %}
A full configuration example could look like the one below:
```yaml

View File

@ -98,7 +98,7 @@ sensor:
- 'RB'
- 'RE'
- 'Bus'
- 'S'
- 'S-Bahn'
- station: 3006907
products: 'Bus'
destinations: ['Wiesbaden Dernsches Gelände', 'Mainz Hauptbahnhof']
@ -106,7 +106,7 @@ sensor:
- station: 3006904
lines: 'S8'
max_journeys: 5
products: 'S'
products: 'S-Bahn'
```
The first sensor will return S-Bahn, bus, RB and RE trains departures from Frankfurt Hauptbahnhof to Frankfurt Airport or Stadium that are at least 5 minutes away.

View File

@ -13,7 +13,6 @@ ha_release: 0.35
ha_iot_class: "Local Push"
---
The `sensehat` sensor platform allows you to display information collected by a [Sense HAT](https://www.raspberrypi.org/products/sense-hat/) add-on board for Raspberry Pi.
## {% linkable_title Configuration %}
@ -30,21 +29,37 @@ sensor:
- pressure
```
Configuration variables:
{% configuration %}
display_options:
description: List of details to monitor.
required: true
default: "`memory_free`"
type: list
keys:
temperature:
description: Temperature
humidity:
description: Humidity
pressure:
description: Pressure
name:
description: Change the name of te sensor, for in the frontend.
required: false
type: string
is_hat_attached:
description: Declaring that the SenseHAT _is_ physically on the Raspberry Pi.
required: false
default: true
type: boolean
{% endconfiguration %}
- **display_options** (*Requires*) array: List of details to monitor. Defaults is `memory_free`.
- 'temperature'
- 'humidity'
- 'pressure'
is_hat_attached (Optional): True|False boolean; Default value is True declaring that the SenseHAT _is_ physically on the Raspberry Pi
#### Customizing the Sense HAT data
#### {% linkable_title Customizing the Sense HAT data %}
**Format the sensor values**
Add the following to your `sensor`:
{% raw %}
```yaml
# Example configuration.yaml entry
sensor:
@ -66,6 +81,7 @@ sensor:
value_template: '{{ states.sensor.humidity.state | round(1) }}'
unit_of_measurement: '%'
```
{% endraw %}
**Give the values friendly names & icons**
@ -98,7 +114,9 @@ group:
- sensor.sensehat_humidity
- sensor.sensehat_pressure
```
Add the _sense_hat group_ a group (_Kitchen for example_)
Add the sense_hat group (_Kitchen for example_)
```yaml
# Example configuration.yaml entry
group:
@ -106,12 +124,11 @@ group:
- group.sense_hat
```
### Directions for installing on Raspberry Pi All-In-One installer and HASSbian:
### {% linkable_title Directions for installing on Raspberry Pi All-In-One installer and HASSbian: %}
Here are the steps to make the _SenseHAT_ sensor work _successfully_ with the virtual environment versions.
#### Install SenseHAT package to _homeassistant_venv_
#### {% linkable_title Install SenseHAT package to _homeassistant_venv_ %}
```bash
# switch to the homeassistant_venv environment
@ -123,13 +140,13 @@ pip3 install sense-hat
# be patient, this will take a long while
```
#### Return to `pi`
#### {% linkable_title Return to `pi` %}
Type `exit` to quit out of the _homeassistant_venv_ back to your `pi` environment.
As all of the following steps should be under the `pi` user environment.
###### Install _RTIMU_
#### {% linkable_title Install _RTIMU_ %}
```bash
# pi user environment: Install RTIMU

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
logo: sigfox.png
ha_category: Sensor
ha_iot_class: "Local Polling"
ha_iot_class: "Cloud Polling"
ha_release: 0.68
---

View File

@ -33,10 +33,10 @@ sensor:
solar_angle:
friendly_name: "Sun angle"
unit_of_measurement: 'degrees'
value_template: "{{ states.sun.sun.attributes.elevation }}"
value_template: "{{ state_attr('sun.sun', 'elevation') }}"
sunrise:
value_template: "{{ states.sun.sun.attributes.next_rising }}"
value_template: "{{ state_attr('sun.sun', 'next_rising') }}"
```
{% endraw %}
@ -103,7 +103,7 @@ sensor:
solar_angle:
friendly_name: "Sun Angle"
unit_of_measurement: '°'
value_template: "{{ '%+.1f'|format(states.sun.sun.attributes.elevation) }}"
value_template: "{{ '%+.1f'|format(state_attr('sun.sun', 'elevation')) }}"
```
{% endraw %}
@ -162,7 +162,7 @@ sensor:
value_template: >-
{% if is_state('switch.kettle', 'off') %}
off
{% elif states.switch.kettle.attributes.kwh|float < 1000 %}
{% elif state_attr('switch.kettle', 'kwh')|float < 1000 %}
standby
{% elif is_state('switch.kettle', 'on') %}
on
@ -309,8 +309,7 @@ sensor:
Useful entities to choose might be `sensor.date` which update once per day, or `sensor.time` which updates once per minute.
Note: If a template uses more than one sensor they can be listed
Note: [Time & Date Sensors](https://www.home-assistant.io/components/sensor.time_date/) used as an update trigger, must be configured. 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.

View File

@ -48,3 +48,7 @@ Configuration options for the UPS Sensor:
<p class='note warning'>
The UPS sensor logs into the UPS My Choice website to scrape package data. It does not use an API. Use at your own risk.
</p>
<p class='note info'>
If the UPS sensor is throwing an error about not being able to login to the UPS My Choice website, it's likely because there is a new UPS Technology Agreement (UTA) preventing the scraper from accessing the package data. Login to UPS My Choice manually and accept the UTA to resolve this.
</p>

View File

@ -25,12 +25,14 @@ shell_command:
restart_pow: touch ~/.pow/restart.txt
```
Configuration variables:
{% configuration %}
alias:
description: Give the shell command a name (alias) as a variable and set the command you want to execute after the colon. e.g., `alias`:`the shell command you want to execute`.
required: true
type: string
{% endconfiguration %}
- Alias for the command
- Command itself.
The commands can be dynamic, using templates to insert values for arguments. When using templates, shell_command runs in a more secure environment which doesn't allow any shell helpers like automatically expanding the home dir `~` or using pipe symbols to run multiple commands. Similarly, only content after the first space can be generated by a template. This means the command name itself cannot be generated by a template, but it must be literally provided.
The commands can be dynamic, using templates to insert values for arguments. When using templates, shell_command runs in a more secure environment which doesn't allow any shell helpers like automatically expanding the home dir `~` or using pipe symbols to run multiple commands. Similarly, only content after the first space can be generated by a template. This means the command name itself cannot be generated by a template, but it must be literally provided.
Any service data passed into the service call to activate the shell command will be available as a variable within the template.
@ -54,7 +56,7 @@ input_number:
min: 18
max: 32
step: 1
{% raw %}
shell_command:
set_ac_to_slider: 'irsend SEND_ONCE DELONGHI AC_{{ states.input_number.ac_temperature.state }}_AUTO'

View File

@ -23,7 +23,7 @@ This component provides the following platforms:
- Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system.
- Switch - Charger and max range switch. Allow you to start/stop charging and set max range charging.
## {% linkable_title Configuration %}
## {% linkable_title Configuration %}
To use Tesla in your installation, add the following to your `configuration.yaml` file:

View File

@ -13,7 +13,7 @@ ha_release: 0.51
ha_iot_class: "Local Polling"
---
The `xiaomi miio` vacuum platform allows you to control the state of your [Xiaomi Mi Robot Vacuum](http://www.mi.com/roomrobot/).
The `xiaomi miio` vacuum platform allows you to control the state of your [Xiaomi Mi Robot Vacuum](https://www.mi.com/roomrobot/).
Currently supported services are:
@ -135,9 +135,9 @@ The following table shows the units of measurement for each attribute:
<p class='note'>
As per [python-miio issue 185](https://github.com/rytilahti/python-miio/issues/185) the Android Mi Home app no longer stores the token within the database (it's retrieved from Xiaomi servers from version 5.0.31+). Currently the only known fix is to uninstall, then install a downgraded version of the apk. Apkmirror is a trusted source for older versions of the app. [Mi-Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) is confirmed as working for the following Android methods. Using older version than 5.0.30 is not recommended as it might lack support for some newer devices like the Roborock S50.
The iPhone app still stores the token in the sqlite db as of v4.7.18 (July 17, 2018).
<br/> <br/>
The iPhone app still stores the token in the sqlite db as of v4.9.1 (Nov 7, 2018).
<br/> <br/>
This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuum, Mi Robot 2 (Roborock) Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security method and requires a `key` (16 alphanumeric chars), which can be obtained
easily via a hidden menu item at the Mi-Home app or using the `miio` command line tool.
</p>
@ -248,12 +248,12 @@ To fetch the token follow these instructions depending on your mobile phone plat
1. Configure the robot with the Mi-Home app.
2. Using iTunes, create an unencrypted backup of your iPhone.
3. Install [iBackup Viewer](http://www.imactools.com/iphonebackupviewer/), open it, and open your backup.
3. Install [iBackup Viewer](https://www.imactools.com/iphonebackupviewer/), open it, and open your backup.
4. Open the "Raw Data" module.
5. Navigate to `com.xiaomi.mihome`.
6. Search for a file that looks like this: `123456789_mihome.sqlite` note that `_mihome.sqlite` is *not* the correct file.
7. Save this file to your filesystem.
8. Install [DB Browser for SQLite](http://sqlitebrowser.org/).
8. Install [DB Browser for SQLite](https://sqlitebrowser.org/).
9. Open DB Browser and load the `.sqlite` file you saved from your backup.
10. Click on the `Execute SQL` tab.
11. Input and run this query: `SELECT ZTOKEN FROM ZDEVICE WHERE ZMODEL LIKE "%vacuum%"`
@ -267,3 +267,28 @@ To fetch the token follow these instructions depending on your mobile phone plat
2. Install [BlueStacks](https://www.bluestacks.com).
3. Set up the Mi-Home app in BlueStacks and login to synchronize devices.
4. Use [BlueStacks Tweaker](https://forum.xda-developers.com/general/general/bluestacks-tweaker-2-tool-modifing-t3622681) to access the filesystem and retrieve the token.
#### {% linkable_title Selecting token manually (Windows and Android)%}
The following instruction explained an alternativ way, if MiToolKit didn't work.
Software Required:
- Android ADB is contained in [Android SDK](https://developer.android.com/studio/releases/platform-tools)
- [Mi-Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/)
- [Android Backup Extractor](https://sourceforge.net/projects/adbextractor/)
- [SQLite Browser](https://sqlitebrowser.org/)
1. Install an old Version of MiHome (e.g. Mi-Home version 5.0.30) on your Android-Device
2. Open MiHome, log-in and add your devices
3. Enable USB-Debugging on your Android
4. Create a backup from your MiHome App, by using adb
```bash
adb backup com.xiaomi.smarthome
```
Now the backup App opens on you Android-Device. You don't need to set a password, just click save.
5. Extract the backup-file with android-backup-extractor
```bash
java -jar abe.jar unpack backup.ab backup.tar
```
After that, you kann open the file with WinRaR or what ever you like.
6. Go to \apps\com.xiaomi.smarthome\db
7. Open miio2.db with SQLite Browser
8. You can find your device tokens in "devicerecord" table

View File

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: waterfurnace.png
ha_category: Irrigation
ha_category: Sensor
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---

View File

@ -51,6 +51,7 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/
- Aqara Intelligent Air Conditioner Controller Hub (lumi.acpartner.v1)
- Decoupled mode of the Aqara Wall Switches (Single & Double)
- Additional alarm events of the Gas and Smoke Detector: Analog alarm, battery fault alarm (smoke detector only), sensitivity fault alarm, I2C communication failure
- Aqara HomeKit Gateway version(v3), as it is not supported by the Mi Home App, only the Aqara Home App.
## {% linkable_title Setup %}

View File

@ -14,6 +14,7 @@ In Home Assistant 0.19 we introduced a new powerful feature: variables in script
The trigger data made is available during [template](/docs/configuration/templating/) rendering as the `trigger` variable.
{% raw %}
```yaml
# Example configuration.yaml entries
automation:
@ -23,28 +24,54 @@ automation:
action:
service: notify.notify
data_template:
message: >{% raw %}
message: >
Paulus just changed from {{ trigger.from_state.state }}
to {{ trigger.to_state.state }}{% endraw %}
to {{ trigger.to_state.state }}
automation 2:
trigger:
platform: mqtt
topic: /notify/+
action:
service_template: >{% raw %}
notify.{{ trigger.topic.split('/')[-1] }}{% endraw %}
service_template: >
notify.{{ trigger.topic.split('/')[-1] }}
data_template:
message: {% raw %}'{{ trigger.payload }}'{% endraw %}
message: '{{ trigger.payload }}'
automation 3:
trigger:
# Multiple Entities for which you want to perform the same action.
- platform: state
entity_id:
- light.bedroom_closet
to: 'on'
# Trigger when someone leaves the closet light on for 10 minutes.
for: '00:10:00'
- platform: state
entity_id:
- light.kiddos_closet
to: 'on'
for: '00:10:00'
- platform: state
entity_id:
- light.linen_closet
to: 'on'
for: '00:10:00'
action:
- service: light.turn_off
data_template:
# Whichever entity triggers the automation we want to turn off THAT entity, not the others.
entity_id: "{{ trigger.entity_id }}"
```
{% endraw %}
## {% linkable_title Important Template Rules %}
There are a few very important rules to remember when writing automation templates:
1. You ***must*** use `data_template` in place of `data` when using templates in the `data` section of a service call.
1. You ***must*** use `service_template` in place of `service` when using templates in the `service` section of a service call.
1. You ***must*** surround single-line templates with double quotes (`"`) or single quotes (`'`).
1. You **must** use `data_template` in place of `data` when using templates in the `data` section of a service call.
1. You **must** use `service_template` in place of `service` when using templates in the `service` section of a service call.
1. You **must** surround single-line templates with double quotes (`"`) or single quotes (`'`).
1. It is advised that you prepare for undefined variables by using `if ... is not none` or the [`default` filter](http://jinja.pocoo.org/docs/dev/templates/#default), or both.
1. It is advised that when comparing numbers, you convert the number(s) to a [`float`](http://jinja.pocoo.org/docs/dev/templates/#float) or an [`int`](http://jinja.pocoo.org/docs/dev/templates/#int) by using the respective [filter](http://jinja.pocoo.org/docs/dev/templates/#list-of-builtin-filters).
1. While the [`float`](http://jinja.pocoo.org/docs/dev/templates/#float) and [`int`](http://jinja.pocoo.org/docs/dev/templates/#int) filters do allow a default fallback value if the conversion is unsuccessful, they do not provide the ability to catch undefined variables.

View File

@ -43,7 +43,7 @@ unit_system:
required: false
type: string
time_zone:
description: "Pick yours from here: [http://en.wikipedia.org/wiki/List_of_tz_database_time_zones](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)"
description: "Pick your time zone from the column **TZ** of [Wikipedia's list of tz database time zones](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones)"
required: false
type: string
name:

View File

@ -92,7 +92,7 @@ See the documentation about [splitting the configuration](/docs/configuration/sp
### {% linkable_title Customizing entities with packages %}
It is possible to [customize entities](docs/configuration/customizing-devices/) within packages. Just create your customization entries under:
It is possible to [customize entities](/docs/configuration/customizing-devices/) within packages. Just create your customization entries under:
```yaml
homeassistant:

View File

@ -70,9 +70,9 @@ Now, lets assume that a blank file has been created in the Home Assistant config
```text
automation.yaml
zones.yaml
sensors.yaml
switches.yaml
zone.yaml
sensor.yaml
switch.yaml
device_tracker.yaml
customize.yaml
```
@ -83,9 +83,9 @@ Inside the base configuration file add the following entries:
```yaml
automation: !include automation.yaml
zone: !include zones.yaml
sensor: !include sensors.yaml
switch: !include switches.yaml
zone: !include zone.yaml
sensor: !include sensor.yaml
switch: !include switch.yaml
device_tracker: !include device_tracker.yaml
```
@ -111,7 +111,7 @@ This small example illustrates how the "split" files work. In this case, we star
This (large) sensor configuration gives us another example:
```yaml
### sensors.yaml
### sensor.yaml
### METEOBRIDGE #############################################
- platform: tcp
name: 'Outdoor Temp (Meteobridge)'

View File

@ -105,3 +105,9 @@ found character '\t' that cannot start any token
```
This means that you've mistakenly entered a tab character, instead of spaces.
### {% linkable_title Upper and lower case %}
Home Assistant is case sensitive, a state of `'on'` is not the same as `'On'` or `'ON'`. Similarly an entity of `group.Doors` is not the same as `group.doors`.
If you're having trouble, check the case that Home Assistant is reporting in the dev-state menu, under *Developer tools*.

View File

@ -57,16 +57,21 @@ Creating a `.gitignore` file in your repository will tell Git which files NOT to
Here is an example that will ignore everything but your YAML configuration.
```bash
# Example .gitignore file for your config dir. Lines with ! will not be ignored.
# Example .gitignore file for your config dir.
# A * ensures that everything will be ignored.
*
# You can whitelist files/folders with !, these will not be ignored.
!*.yaml
!.gitignore
*.conf
*.txt
*.log
!*.md
# Ignore folders.
.storage
.cloud
.google.token
# Ensure these YAML files are ignored, otherwise your secret data/credentials will leak.
ip_bans.yaml
secrets.yaml
known_devices.yaml

View File

@ -29,7 +29,7 @@ The app is available on the iOS App Store in every country that Apple supports.
The `ios` component is the companion component for the Home Assistant iOS app. While not required, adding the `ios` component to your setup will greatly enhance the iOS app with new notification, location and sensor functions not possible with a standalone app.
Loading the `ios` component will also load the [`device_tracker`][device-tracker], [`zeroconf`][zeroconf] and [`notify`][notify] platforms.
Loading the `ios` component will also load the [`device_tracker`](/components/device_tracker), [`zeroconf`](/components/zeroconf) and [`notify`](/components/notify) platforms.
## {% linkable_title Setup %}
@ -37,7 +37,7 @@ Loading the `ios` component will also load the [`device_tracker`][device-tracker
The `ios` component will automatically be loaded under the following circumstances:
1. The [`discovery`][discovery] component is enabled.
1. The [`discovery`](/components/discovery) component is enabled.
2. You have just installed the app and are at the getting started screen.
Automated discovery and component loading only happens at first install of the app. You may need to wait a few minutes for the iOS component to load as the `discovery` component only scans the network every 5 minutes.
@ -53,12 +53,10 @@ You may also manually load the `ios` component by adding the following to your c
ios:
```
Configuration variables:
{% configuration %}
push:
description: Actionable push notifications configuration. See the [actionable notifications documentation](/docs/ecosystem/ios/notifications/actions/) for more information.
required: false
type: list
{% endconfiguration %}
- **push** (*Optional*): Actionable push notifications configuration. See the [actionable notifications documentation][actionable-notifications] for more information.
[discovery]: /components/discovery
[device-tracker]: /components/device_tracker
[zeroconf]: /components/zeroconf
[notify]: /components/notify
[actionable-notifications]: /docs/ecosystem/ios/notifications/actions/

View File

@ -14,7 +14,7 @@ If you already have Python 3.5.3 or later installed, you can easily give Home As
It's recommended when installing Python packages that you use a [virtual environment](https://docs.python.org/3.5/library/venv.html#module-venv). This will make sure that your Python installation and Home Assistant installation won't impact one another. The following steps will work on most UNIX like systems.
_(If you're on a Debian based system, you will need to install Python virtual environment support using `apt-get install python3-pip python3-venv`.)_
_(If you're on a Debian based system, you will need to install Python virtual environment support using `apt-get install python3-pip python3-venv`. You may also need to install development libraries using `apt-get install build-essential libssl-dev libffi-dev python-dev`.)_
<p class='Note'>
It is recommended to use the [advanced guide](/docs/installation/raspberry-pi/) which allows for the installation to run as a `homeassistant` user. The steps below may be shorter but some users find difficulty when applying updates and may run into issues.
@ -65,6 +65,7 @@ It is recommended to use the [advanced guide](/docs/installation/raspberry-pi/)
$ python3 -m pip install --upgrade homeassistant
```
5. Start Home Assistant
6. You can now reach the web interface on `http://ipaddress:8123/` - the first start may take up to 20 minutes before the web interface is available
### {% linkable_title Notes %}

View File

@ -245,3 +245,41 @@ Setting up a switch using topic prefix and abbreviated configuration variable na
- Command topic: `homeassistant/switch/irrigation/set`
- State topic: `homeassistant/switch/irrigation/state`
- Payload: `{"~": "homeassistant/switch/irrigation", "name": "garden", "cmd_t": "~/set", , "stat_t": "~/state"}`
Setting up a climate component (heat only) with abbreviated configuration variable names to reduce payload length.
- Configuration topic: `homeassistant/climate/livingroom/config`
- Configuration payload:
```yaml
{
"name":"Livingroom",
"dev_cla":"climate",
"mode_cmd_t":"homeassistant/climate/livingroom/thermostatModeCmd",
"mode_stat_t":"homeassistant/climate/livingroom/state",
"mode_stat_tpl":"{{value_json.mode}}",
"avty_t":"homeassistant/climate/livingroom/available",
"pl_avail":"online",
"pl_not_avail":"offline",
"temp_cmd_t":"homeassistant/climate/livingroom/targetTempCmd",
"temp_stat_t":"homeassistant/climate/livingroom/state",
"temp_stat_tpl":"{{value_json.target_temp}}",
"curr_temp_t":"homeassistant/climate/livingroom/state",
"current_temperature_template":"{{value_json.current_temp}}",
"min_temp":"15",
"max_temp":"25",
"temp_step":"0.5",
"modes":["off", "heat"]
}
```
- State topic: `homeassistant/climate/livingroom/state`
- State payload:
```yaml
{
"mode":"off",
"target_temp":"21.50",
"current_temp":"23.60",
}
```

View File

@ -20,7 +20,7 @@ Screenshot of the plant status card.
{% configuration %}
type:
required: true
description: picture-status
description: plant-status
type: string
entity:
required: true

View File

@ -38,6 +38,48 @@ And we have one more thing… we have soft-forked Open Z-Wave and have added sup
- Add a component for GreenEye Monitor ([@jkeljo] - [#16378]) ([greeneye_monitor docs]) (new-platform)
- TensorFlow image_processing component ([@hunterjm] - [#17795]) ([image_processing.tensorflow docs]) (new-platform)
## {% linkable_title Release 0.82.1 - November 15 %}
- catch key error when saving image ([@hunterjm] - [#18365]) ([image_processing.tensorflow docs])
- Fix hangouts notify ([@MartinHjelmare] - [#18372]) ([notify docs])
- Fix including from sub dir ([@bramkragten] - [#18378])
- Fix default value for optional Sense configuration parameter ([@claytonjn] - [#18379]) ([sense docs])
- cancel off_delay action ([@dgomes] - [#18389]) ([binary_sensor.mqtt docs])
- Changed checking of cover state closed from 0 to closed_position variable. ([@pszafer] - [#18407]) ([cover.mqtt docs])
- updated pydaikin version ([@fredrike] - [#18413]) ([daikin docs]) ([climate.daikin docs])
- edp_redy: increase UPDATE_INTERVAL ([@abmantis] - [#18429]) ([edp_redy docs])
- Update pyozw to 0.1.1 ([@pvizeli] - [#18436]) ([zwave docs])
- Fix AsusWRT ([@kennedyshead] - [#18400])
[#18365]: https://github.com/home-assistant/home-assistant/pull/18365
[#18372]: https://github.com/home-assistant/home-assistant/pull/18372
[#18378]: https://github.com/home-assistant/home-assistant/pull/18378
[#18379]: https://github.com/home-assistant/home-assistant/pull/18379
[#18389]: https://github.com/home-assistant/home-assistant/pull/18389
[#18407]: https://github.com/home-assistant/home-assistant/pull/18407
[#18413]: https://github.com/home-assistant/home-assistant/pull/18413
[#18429]: https://github.com/home-assistant/home-assistant/pull/18429
[#18436]: https://github.com/home-assistant/home-assistant/pull/18436
[#18400]: https://github.com/home-assistant/home-assistant/pull/18400
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@abmantis]: https://github.com/abmantis
[@bramkragten]: https://github.com/bramkragten
[@claytonjn]: https://github.com/claytonjn
[@dgomes]: https://github.com/dgomes
[@fredrike]: https://github.com/fredrike
[@hunterjm]: https://github.com/hunterjm
[@pszafer]: https://github.com/pszafer
[@pvizeli]: https://github.com/pvizeli
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
[climate.daikin docs]: /components/climate.daikin/
[cover.mqtt docs]: /components/cover.mqtt/
[daikin docs]: /components/daikin/
[edp_redy docs]: /components/edp_redy/
[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
[notify docs]: /components/notify/
[sense docs]: /components/sense/
[zwave docs]: /components/zwave/
## {% 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.

View File

@ -0,0 +1,55 @@
---
layout: post
title: "State of the Union"
description: "Paulus speaks about the origin of Home Assistant and where we're heading."
date: 2018-11-16 00:01:00
date_formatted: "November 16, 2018"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Video
og_image: /images/blog/2018-11-state-of-the-union/share-the-love.jpg
---
<p class='img'>
<img src='/images/blog/2018-11-state-of-the-union/share-the-love.jpg' alt='Photo of Paulus Schoutsen presenting the state of the union.'>
</p>
Last Wednesday, November 14, we had a meetup in Amsterdam hosted by <a href='https://www.ing.nl'>ING</a>. Over 80 Home Assistant enthusiasts gathered to hear me, Paulus Schoutsen, the founder of Home Assistant, speak. I talked about how Home Assistant got started, what makes Home Assistant so successful (community!) and what we're working towards.
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/egcOCWIh9jQ" frameborder="0" allowfullscreen></iframe>
</div>
Special thanks to:
- Jeroen Joosse for the initiative and organizing
- Erik-Jan Riemers for co-organizing and making it this big
- ING for hosting the event
- Franck Nijhof for providing the Hass.io demos
- Klaas Schoute for providing the TensorFlow demos
- Frank Kuiper for editing the presentation video
More photos after the click.
<!--more-->
<p class='img'>
<img src='/images/blog/2018-11-state-of-the-union/chatter.jpg' alt='Crowd talking Home Assistant'>
Crowd talking Home Assistant
</p>
<p class='img'>
<img src='/images/blog/2018-11-state-of-the-union/frenck-hassio.jpg' alt='Frenck showing all the ins and outs of Hass.io'>
Frenck showing all the ins and outs of Hass.io
</p>
<p class='img'>
<img src='/images/blog/2018-11-state-of-the-union/zwave-table.jpg' alt='The Z-Wave table'>
The Z-Wave table
</p>
<p class='img'>
<img src='/images/blog/2018-11-state-of-the-union/presentation-selfie.jpg' alt='Presentation selfie!'>
Presentation selfie!
</p>

View File

@ -18,7 +18,7 @@ zwave:
### {% linkable_title RAZBERRY BOARD %}
If you need GPIO on Raspberry Pi 3 for your Z-Wave module, add the following line into `config.txt` (you have to access that on the SD card directly; simply plug it into your PC and edit it there):
If you need GPIO on Raspberry Pi 3 for your Z-Wave module, add the following line into `config.txt` (you have to access that on the SD card directly. Simply plug it into your PC and edit it there. The `config.txt` is not accessible from your Linux system, you may need to open the SD card on a Windows system.):
```
dtoverlay=pi3-miniuart-bt
@ -44,7 +44,7 @@ zha:
### {% linkable_title Finding the path %}
If the above defaults don't work, you can check what hardware has been found using the [hassio command](/hassio/commandline/#hardware):
If the above defaults don't work, you can check what hardware has been found using the [`hassio` command](/hassio/commandline/#hardware):
```bash
$ hassio hardware info

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB