Merge branch 'current' into next

This commit is contained in:
Fabian Affolter 2018-08-14 08:46:39 +02:00
commit a80732c1f1
No known key found for this signature in database
GPG Key ID: DDF3D6F44AAB1336
28 changed files with 251 additions and 144 deletions

View File

@ -12,7 +12,10 @@ footer: true
Start this add-on to activate the BCM43xx Bluetooth chipset.
<p class='note warning'>
This is not required on HassOS based Hass.io installs and should not be installed
This is not required on HassOS based Hass.io installs and should not be installed.
</p>
Supported platforms: Raspberry Pi 3.
Supported platforms:
- Raspberry Pi 3

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
---
You can use this addon to check whether your configuration files are valid against the new version of Home Assistant before you actually update your Home Assistant installation. This addon will help you avoid errors due to breaking changes, resulting in a smooth update.
You can use this add-on to check whether your configuration files are valid against the new version of Home Assistant before you actually update your Home Assistant installation. This add-on will help you avoid errors due to breaking changes, resulting in a smooth update.
```json
{

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
---
Load and update configuration files for Home Assistant from a GIT repository.
Load and update configuration files for Home Assistant from a [Git](https://git-scm.com/) repository.
```json
{
@ -22,6 +22,8 @@ Load and update configuration files for Home Assistant from a GIT repository.
"active": false,
"interval": 300
},
"deployment_user": "",
"deployment_password": "",
"deployment_key": [
"-----BEGIN RSA PRIVATE KEY-----",
"MIIEowIBAAKCAQEAv3hUrCvqGZKpXQ5ofxTOuH6pYSOZDsCqPqmaGBdUzBFgauQM",
@ -35,33 +37,33 @@ Load and update configuration files for Home Assistant from a GIT repository.
}
```
- **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add .git to your GitHub repository URL (see example config)
- **git_branch** (*Required*): Branch name of the git repo, leave this as 'master' if you are unsure.
- **git_remote** (*Required*): Name of the tracked repository, leave this as 'origin' if you are unsure.
- **git_command** (*Required*): Must be either 'pull' or 'reset', leave this as 'pull' if you are unsure.
- **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add `.git` to your GitHub repository URL (see example configuration)
- **git_branch** (*Required*): Branch name of the Git repo, leave this as 'master' if you are unsure.
- **git_remote** (*Required*): Name of the tracked repository. Leave this as `origin` if you are unsure.
- **git_command** (*Required*): Must be either `pull` or `reset`. Leave this as `pull` if you are unsure.
* **pull**: Incorporates changes from a remote repository into the current branch. Will preserve any local changes to tracked files.
* **reset**: Will execute ```git reset --hard``` and overwrite any local changes to tracked files and update from the remote repository.
* **reset**: Will execute `git reset --hard` and overwrite any local changes to tracked files and update from the remote repository.
<p class='note warning'>
Using the <b>reset</b> option will overwrite changes to tracked files. Tracked files are those visible in the Github repository or those given by the output on this command: ```git ls-tree -r master --name-only```
Using the `reset` option will overwrite changes to tracked files. Tracked files are those visible in the Github repository or those given by the output on this command: `git ls-tree -r master --name-only`.
</p>
- **auto_restart** (*Optional*): Restart Home Assistant when the configuration has changed (and is valid).
- **repeat/active** (*Optional*): Pull periodic for git updates.
- **repeat/active** (*Optional*): Pull periodic for Git updates.
- **repeat/interval** (*Optional*): Pull all x seconds and look for changes.
- **deployment_user** (*Optional*): Username to use when authenticating to a repo with a username and password.
- **deployment_password** (*Optional*): Password to use when authenticating to a repo. Ignored if deployment_user is not set.
- **deployment_key** (*Optional*): A private SSH key that will be used for communication during git operations. This key is mandatory for ssh-accessed repositories, which are the ones with the following pattern: `<user>@<host>:<repository path>`.
- **deployment_key_protocol** (*Optional*): The key protocol. Default is "rsa". Valid protocols are:
- **deployment_user** (*Optional*): Username to use when authenticating to a repository with a username and password.
- **deployment_password** (*Optional*): Password to use when authenticating to a repository. Ignored if `deployment_user` is not set.
- **deployment_key** (*Optional*): A private SSH key that will be used for communication during Git operations. This key is mandatory for ssh-accessed repositories, which are the ones with the following pattern: `<user>@<host>:<repository path>`.
- **deployment_key_protocol** (*Optional*): The key protocol. Default is `rsa`. Valid protocols are:
* **dsa**
* **ecdsa**
* **ed25519**
* **rsa**
The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using "rsa" protocol.
The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using `rsa` protocol.
<p class='note warning'>
You should only use this add-on if you do not have an existing configuration or if your existing configuration is already in a git repository. If the script does not find the necessary git files in your configuration folder, it will delete anything that might be there. Please ensure that there is a `.git` folder before using this. You can verify this by listing the items in the configuration folder including hidden files. The command is `ls -a /config`.
You should only use this add-on if you do not have an existing configuration or if your existing configuration is already in a Git repository. If the script does not find the necessary Git files in your configuration folder, it will delete anything that might be there. Please ensure that there is a `.git` folder before using this. You can verify this by listing the items in the configuration folder including hidden files. The command is `ls -a /config`.
</p>

View File

@ -11,11 +11,11 @@ featured: true
---
<p class='note warning'>
These instructions are outdated - the add-on has been updated and these are no longer accurate or complete
These instructions are outdated - the add-on has been updated and these are no longer accurate or complete.
</p>
<p class='note'>
If you want to integrate your Google Home, or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](/components/google_assistant/).
If you want to integrate your Google Home or mobile phone running Google Assistant, with Home Assistant, then you want the [Google Assistant component](/components/google_assistant/).
</p>
[Google Assistant][GoogleAssistant] is an AI-powered voice assistant that runs on the Raspberry Pi and x86 platforms and interact via the [DialogFlow][comp] integration with Home-Assistant. You can also use [Google Actions][GoogleActions] to extend its functionality.

View File

@ -9,11 +9,12 @@ sharing: true
footer: true
---
Set up a [HomeMatic](https://github.com/eq-3/occu) hardware layer. At the moment we don't support hmIP, but that is in progress. For learning and handling devices use our internal HomeMatic panel and services (in progress) or use [Homematic-Manager](https://github.com/hobbyquaker/homematic-manager) > 2.0.
Set up a [HomeMatic](https://github.com/eq-3/occu) hardware layer. For learning and handling devices use [Homematic-Manager](https://github.com/hobbyquaker/homematic-manager) > 2.0.
The logic layer will be Home-Assistant. There is no ReGa or other logic layer installed. You can't import an existing configuration, you'll need re-learn it into Home-Assistant.
The logic layer will be Home Assistant. There is no ReGa or other logic layer installed. You can't import an existing configuration, you'll need re-learn it into Home Assistant.
Follow devices will be supported and tested:
- [HM-MOD-RPI-PCB](https://www.elv.ch/homematic-funkmodul-fuer-raspberry-pi-bausatz.html)
```json
@ -38,17 +39,19 @@ Follow devices will be supported and tested:
Configuration variables:
- **rf_enable** (*Require*): Boolean. Enable or disable BidCoS-RF.
- **wired_enable** (*Require*): Boolean. Enable or disable BidCoS-Wired.
- **rf_enable** (*Required*): Boolean. Enable or disable BidCoS-RF.
- **wired_enable** (*Required*): Boolean. Enable or disable BidCoS-Wired.
For RF devices
- **type** (*Require*): Device type for RFD service. Look into the manual of your device.
- **device** (*Require*): Device on the host.
For RF devices:
For RF devices
- **serial** (*Require*): Serial number of the device.
- **key** (*Require*): Encrypted key.
- **ip** (*Require*): IP address of LAN gateway.
- **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.
## {% linkable_title Home Assistant configuration %}
@ -64,7 +67,8 @@ homematic:
## {% linkable_title Raspberry Pi3 %}
With HM-MOD-PRI-PCB you need to add follow into your `config.txt` on boot partition:
```
With HM-MOD-RPI-PCB you need to add follow into your `config.txt` on boot partition:
```text
dtoverlay=pi3-miniuart-bt
```

View File

@ -9,7 +9,7 @@ sharing: true
footer: true
---
Set up a [mariadb](https://mariadb.org/) SQL server. It supports multiple databases, users and permission settings. If you want to only connect from inside Home Assistant use `core-mariadb` as the host address.
Set up a [MariaDB](https://mariadb.org/) SQL server. It supports multiple databases, users and permission settings. If you want to only connect from inside Home Assistant use `core-mariadb` as the host address.
```json
{
@ -34,16 +34,16 @@ Set up a [mariadb](https://mariadb.org/) SQL server. It supports multiple databa
Configuration variables:
- **databases** (*Require*): List of databases.
- **logins** (*Require*): List of SQL accounts to create or update.
- **username** (*Require*): Username for account.
- **host** (*Require*): Host for account. If you need an account on multiple hosts, use '%'.
- **password** (*Require*): Password for account.
- **rights** (*Require*): List of rights to be granted.
- **username** (*Require*): Username for granted rights.
- **host** (*Require*): Host is a part of username like above.
- **database** (*Require*): Database name on which to grant user rights.
- **grant** (*Require*): SQL grant part for access too.
- **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.
## {% linkable_title Home Assistant configuration %}

View File

@ -28,7 +28,7 @@ Allows you to shut down a Windows computer with a service call from Home Assista
- **computers/address** (*Required*): IP address or NetBIOS name of the computer for the shutdown.
- **computers/credentials** (*Required*): Credentials for logging into computer. Use a `%` as the delimiter of username and password.
## {% linkable_title Home Assistant %}
### {% linkable_title Home Assistant configuration %}
Use the following inside Home Assistant service call to use it:

View File

@ -10,7 +10,7 @@ footer: true
featured: true
---
This addon allows you to set up a [Samba](https://samba.org/) server to access hass.io folders using Windows network shares.
This addon allows you to set up a [Samba](https://samba.org/) server to access Hass.io folders using Windows network shares.
```json
{

View File

@ -33,11 +33,9 @@ You will need to add internal communication details to `configuration.yaml` to e
```yaml
# Example configuration.yaml entry
tellstick:
host: core-tellstick
port: [50800, 50801]
```
To add [lights](/components/light.tellstick/), [sensors](/components/sensor.tellstick/) and [switches](/components/switch.tellstick/) you follow the guidelines for each type individually that is [described for Home Assistant](/components/tellstick/)
@ -71,9 +69,9 @@ Example for adding more devices in the add-on configuration (note the comma sepa
}
```
## Service calls
## {% linkable_title Service calls %}
If you wish to teach a selflearning device in your TellStick configuration:
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`
@ -85,8 +83,7 @@ Replace `1` with the corresponding ID of the device in your TellStick configurat
You can also use this to list devices or sensors and read the output in the add-on log:
`{"addon":"core_tellstick","input":{"function":"list-sensors"}}`
#### Supported service commands
### {% linkable_title Supported service commands %}
- `"function":"list"`: List currently configured devices with name and device id and all discovered sensors.

View File

@ -13,8 +13,11 @@ ha_release: 0.37
---
The `linksys_ap` platform offers presence detection by looking at connected devices to a Linksys based access point.
It was tested with a LAPAC1750 AC1750 Dual Band Access Point.
## {% linkable_title Configuration %}
To use a Linksys Access Point in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -22,25 +25,28 @@ To use a Linksys Access Point in your installation, add the following to your `c
device_tracker:
- platform: linksys_ap
host: 192.168.1.1
username: admin
password: password
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
Configuration variables:
- **host** (*Required*): The hostname or IP address of your access point, eg. `192.168.1.1`.
- **username** (*Required*: The username of an user with administrative privileges (read-only is sufficient).
- **username** (*Required*): The username of an user with administrative privileges (read-only is sufficient).
- **password** (*Required*): The password for your given admin account.
- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to true.
- **verify_ssl** (*Optional*): Verify SSL certificate for HTTPS request. Defaults to true.
## {% linkable_title Example %}
Example for all configuration options:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: linksys_ap
host: 192.168.1.1
username: admin
password: password
username: YOUR_USERNAME
password: YOUR_PASSWORD
verify_ssl: true
scan_interval: 6
consider_home: 12

View File

@ -15,12 +15,15 @@ ha_release: 0.48
The `linksys_smart` platform offers presence detection by looking at connected devices to a Linksys Smart Wifi based router.
Tested routers:
LINKSYS WRT3200ACM MU-MIMO Gigabit Wi-Fi Wireless Router
LINKSYS WRT1900ACS Dual-band Wi-Fi Router
<p class='note'>
- Linksys WRT3200ACM MU-MIMO Gigabit Wi-Fi Wireless Router
- Linksys WRT1900ACS Dual-band Wi-Fi Router
## {% linkable_title Setup %}
For this platform to work correctly, it is necessary to disable the "Access via wireless" feature in the Local Management Access section of the router administration page. If "Access via wireless" is not disabled, a connectivity conflict arises because the Home Assistant integration is trying to pass userid and password, but the router is only expecting a password.
</p>
## {% linkable_title Configuration %}
To use a Linksys Smart Wifi Router in your Home Assistant installation, add the following to your `configuration.yaml` file:

View File

@ -29,7 +29,6 @@ device_tracker:
new_device_defaults:
track_new_devices: True
hide_if_away: False
```
The following optional parameters can be used with any platform. However device tracker will only look for global settings under the configuration of the first configured platform:
@ -89,6 +88,24 @@ devicename:
| `hide_if_away` | False | If `yes`/`on`/`true` then the device will be hidden if it is not at home. |
| `consider_home` | [uses platform setting] | Seconds to wait till marking someone as not home after not being seen. Allows you to override the global `consider_home` setting from the platform configuration on a per device level. |
## {% linkable_title Using GPS device trackers with local network device trackers %}
GPS based device trackers (like [OwnTracks](/components/device_tracker.owntracks/), [GPSLogger](/components/device_tracker.gpslogger) and others) can also be used with local network device trackers, such as [Nmap](/components/device_tracker.nmap_tracker/) or [Netgear](/components/device_tracker.netgear/). To do this, fill in the `mac` field to the entry in `known_devices.yaml` with the MAC address of the device you want to track. This way the state of the device will be determined by *the source that reported last*. The naming convention for known device list is `<username>_<device-id>` and could be set in the app configuration.
An example showing the inclusion of the `mac` field for multiple platform tracking. The `mac` field was added to the GPS based device tracker entry and will enable tracking by all platforms that track via the `mac` address.
```yaml
USERNAME_DEVICE_ID:
name: Friendly Name
mac: EA:AA:55:E7:C6:94
picture: https://www.home-assistant.io/images/favicon-192x192.png
gravatar: test@example.com
track: yes
hide_if_away: no
```
If you want to track whether either your GPS based tracker or your local network tracker, identify you as being at home, use [a group](/components/group/) instead.
## {% linkable_title Device states %}
The state of your tracked device will be `'home'` if it is in the [home zone](/components/zone#home-zone), detected by your network or Bluetooth based presence detection. If you're using a presence detection method that includes coordinates then when it's in a zone the state will be the name of the zone (in lower case). When a device isn't at home and isn't in any zone, the state will be `'not_home'`.

View File

@ -18,7 +18,7 @@ It is HIGHLY recommended that you set the `api_password`, especially if you are
</p>
<p class='note'>
Don't use option `server_host` on a hass.io installation!
Don't use option `server_host` on a Hass.io installation!
</p>
```yaml
@ -29,20 +29,65 @@ http:
Configuration variables:
- **api_password** (*Optional*): Protect Home Assistant with a password.
- **server_host** (*Optional*): Only listen to incoming requests on specific IP/host (default: bind to `0.0.0.0` which means accept all IPv4 connections). Use `server_host: "::0"` if you want to listen to (and only) IPv6.
- **server_port** (*Optional*): Let you set a port to use. Defaults to 8123.
- **base_url** (*Optional*): The URL that Home Assistant is available on the internet. For example: `hass-example.duckdns.org:8123`. Defaults to the local IP address. The iOS app finds local installations, if you have an outside URL use this so that you can auto-fill when discovered in the app.
- **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection.
- **ssl_peer_certificate** (*Optional*): Path to the client/peer TLS/SSL certificate to accept secure connections from.
- **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection.
- **cors_allowed_origins** (*Optional*): A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://www.home-assistant.io` will allow requests from `https://www.home-assistant.io` but __not__ `http://www.home-assistant.io`.
- **use_x_forwarded_for** (*Optional*): Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You must also whitelist trusted proxies using the `trusted_proxies` setting below for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored. Defaults to False.
- **trusted_proxies** (*Optional*): List of trusted proxies, consisting of IP addresses or networks, that are allowed to set the `X-Forwarded-For` header. This is required when using `use_x_forwarded_for` because all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be set with extreme care.
- **trusted_networks** (*Optional*): List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. If using a reverse proxy with the `use_x_forwarded_for` option enabled, requests proxied to Home Assistant with a trusted `X-Forwarded-For` header will appear to come from the IP given in that header instead of the proxy IP.
- **ip_ban_enabled** (*Optional*): Flag indicating whether additional IP filtering is enabled. Defaults to False.
- **login_attempts_threshold** (*Optional*): Number of failed login attempt from single IP after which it will be automatically banned if `ip_ban_enabled` is True. Defaults to -1, meaning that no new automatic bans will be added.
- **ssl_profile** (*Optional*): The [Mozilla SSL profile](https://wiki.mozilla.org/Security/Server_Side_TLS) to use. Either `modern` or `intermediate`. Default is `modern`. Only lower if you are experiencing integrations causing SSL handshake errors.
{% configuration http %}
api_password:
description: Protect Home Assistant with a password.
required: false
type: string
server_host:
description: 'Only listen to incoming requests on specific IP/host (default: bind to `0.0.0.0` which means accept all IPv4 connections). Use `server_host: "::0"` if you want to listen to (and only) IPv6.'
required: false
type: string
server_port:
description: Let you set a port to use.
required: false
type: integer
default: 8123
base_url:
description: "The URL that Home Assistant is available on the internet. For example: `hass-example.duckdns.org:8123`. Defaults to the local IP address. The iOS app finds local installations, if you have an outside URL use this so that you can auto-fill when discovered in the app."
required: false
type: string
default: The local IP address
ssl_certificate:
description: Path to your TLS/SSL certificate to serve Home Assistant over a secure connection.
required: false
type: string
ssl_peer_certificate:
description: Path to the client/peer TLS/SSL certificate to accept secure connections from.
required: false
type: string
ssl_key:
description: Path to your TLS/SSL key to serve Home Assistant over a secure connection.
required: false
type: string
cors_allowed_origins:
description: "A list of origin domain names to allow [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) requests from. Enabling this will set the `Access-Control-Allow-Origin` header to the Origin header if it is found in the list, and the `Access-Control-Allow-Headers` header to `Origin, Accept, X-Requested-With, Content-type, X-HA-access`. You must provide the exact Origin, i.e. `https://www.home-assistant.io` will allow requests from `https://www.home-assistant.io` but __not__ `http://www.home-assistant.io`."
required: false
type: string, list
trusted_proxies:
description: "List of trusted proxies, consisting of IP addresses or networks, that are allowed to set the `X-Forwarded-For` header. This is required when using `use_x_forwarded_for` because all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be set with extreme care."
required: false
type: string, list
use_x_forwarded_for:
description: "Enable parsing of the `X-Forwarded-For` header, passing on the client's correct IP address in proxied setups. You **must** also whitelist trusted proxies using the `trusted_proxies` setting below for this to work. Non-whitelisted requests with this header will be considered IP spoofing attacks, and the header will, therefore, be ignored."
required: false
type: boolean
default: false
trusted_networks:
description: "List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. If using a reverse proxy with the `use_x_forwarded_for` and `trusted_proxies` options enabled, requests proxied to Home Assistant with a trusted `X-Forwarded-For` header will appear to come from the IP given in that header instead of the proxy IP."
required: false
type: string, list
ip_ban_enabled:
description: Flag indicating whether additional IP filtering is enabled.
required: false
type: boolean
default: false
login_attempts_threshold:
description: "Number of failed login attempt from single IP after which it will be automatically banned if `ip_ban_enabled` is True. When set to -1 no new automatic bans will be added."
required: false
type: integer
default: -1
{% endconfiguration %}
The sample below shows a configuration entry with possible values:

View File

@ -23,6 +23,7 @@ Currently known supported models:
- TX-49DX650B
- TX-50DX700B
- TX-55CX700E
- TX-55EXW584
- TX-65EXW784
- TX-L42ET50
- TX-P42STW50

View File

@ -76,8 +76,8 @@ Avoid using `[ ]` in the `name:` of your device.
Home Assistant is able to turn on a LG webOS Smart TV if you specify an action, like HDMI-CEC or WakeOnLan.
Common for webOS 3.0 and higher would be to use WakeOnLan feature.
To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models).
Common for webOS 3.0 and higher would be to use WakeOnLan feature.
To use this feature your TV should be connected to your network via Ethernet rather than Wireless and you should enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others) (or *Mobile App* in *General* settings for older models) (*may vary by version). On newer models (2017+), WakeOnLan may need to be enabled in the TV settings by going to Settings > General > Mobile TV On > Turn On Via WiFi [instructions](https://support.quanticapps.com/hc/en-us/articles/115005985729-How-to-turn-on-my-LG-Smart-TV-using-the-App-WebOS-).
```yaml
# Example configuration.yaml entry

View File

@ -25,7 +25,7 @@ To retrieve your `chat_id`, contact any of the Telegram bots created for this pu
The quickest way to retrieve your `chat_id` is visiting [https://api.telegram.org/botYOUR_API_TOKEN/getUpdates](https://api.telegram.org/botYOUR_API_TOKEN/getUpdates) or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates`. Replace `YOUR_API_TOKEN` with your actual token.
The result set will include your chat ID as `id` in the `from` section:
The result set will include your chat ID as `id` in the `chat` section:
```json
{

View File

@ -159,6 +159,10 @@ automation:
```
{% endraw %}
<p class='note warning'>
Rendering templates with time (`now()`) is dangerous as trigger templates only update based on entity state changes.
</p>
### {% linkable_title Time trigger %}
Time can be triggered in many ways. The most common is to specify `at` and trigger at a specific point in time each day. Alternatively, you can also match if the hour, minute or second of the current time has a specific value. You can prefix the value with a `/` to match whenever the value is divisible by that number. You cannot use `at` together with hour, minute or second.

View File

@ -9,27 +9,18 @@ sharing: true
footer: true
---
<p class='note'>
This is a new and experimental feature of Home Assistant.
</p>
Starting with version 0.63, Home Assistant keeps a registry of known entities. The entity registry makes sure that entities get unique identifiers and allow customizing the identifiers and names of these entities.
Starting with version 0.63, Home Assistant keeps a registry of known entities.
The entity registry makes sure that entities get unique identifiers and allow
customizing the identifiers and names of these entities.
As this is still a very new part of Home Assistant, changes will require a
restart of Home Assistant to take effect. A config user interface will be added
in a future version.
Changes require that Home Assistant is shut down when you edit the file, otherwise Home Assistant may over-write your changes, and a restart of Home Assistant is required for your changes to take effect. Version 0.75 introduced a configuration user interface.
<p class='note'>
An entity needs to have a unique ID to be registered in the entity registry.
Not all integrations currently provide a unique id for their entities.
</p>
The entity registry is stored in `<config>/entity_registry.yaml`. As a user,
you are unable to add entries, only update them. Here is an example file:
The entity registry is stored in `<config>/entity_registry.yaml`. As a user, you are unable to add entries, only update them. Here is an example file:
```
```yaml
climate.downstairs_virtual:
platform: nest
unique_id: EPoMyWkpNyoYu3pGlmGxabcdefghijkl
@ -40,20 +31,18 @@ light.study_ceiling:
disabled_by: user
```
As a user, you can change the `entity_id` and add the `name` and `disabled_by`
value to each entry.
- Changing the _first line_ of each entry will change the `entity_id` of the entity throughout Home Assistant.
As a user, you can change the `entity_id` and add the `name` and `disabled_by`value to each entry.
- Changing the _first line_ of each entry will change the `entity_id` of the entity throughout Home Assistant.
- The value of `name` will override the _friendly name_ of the entity as given by the integration.
_Added in Home Assistant 0.64._
- The key `disabled_by` can either be `hass` or `user`. This functionality
is even more experimental than the whole entity registry itself and might
cause integrations to fail and might be removed in the future.
- The key `disabled_by` can either be `hass` or `user`. This functionality is even more experimental than the whole entity registry itself and might cause integrations to fail and might be removed in the future.
_Added in Home Assistant 0.64._
{% linkable_title Supported Components %}
At the moment, only the following components are supported: Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV, Weather Underground
Only components that provide a unique ID for entities will are supported.
Note that for Weather Underground, second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number.

View File

@ -17,16 +17,9 @@ This is an advanced feature of Home Assistant. You'll need a basic understanding
Templating is a powerful feature in Home Assistant that allows the user control over information that is going into and out of the system. It is used for:
- Formatting outgoing messages in, for example, the [notify] and [alexa] components.
- Process incoming data from sources that provide raw data, like [MQTT], [REST sensor], or the [command line sensor].
- [Automation Templating].
[notify]: /components/notify/
[alexa]: /components/alexa/
[MQTT]: /components/mqtt/
[REST sensor]: /components/sensor.rest/
[command line sensor]: /components/sensor.command_line/
[Automation Templating]: /docs/automation/templating/
- Formatting outgoing messages in, for example, the [notify](/components/notify/) platforms and [alexa](/components/alexa/) component.
- Process incoming data from sources that provide raw data, like [MQTT](/components/mqtt/), [`rest` sensor](/components/sensor.rest/) or the [`command_line` sensor](/components/sensor.command_line/).
- [Automation Templating](/docs/automation/templating/).
## {% linkable_title Building templates %}
@ -38,6 +31,7 @@ The frontend has a template editor developer tool to help develop and debug temp
Templates can get big pretty fast. To keep a clear overview, consider using YAML multiline strings to define your templates:
{% raw %}
```yaml
script:
msg_who_is_home:
@ -45,12 +39,13 @@ script:
- service: notify.notify
data_template:
message: >
{% raw %}{% if is_state('device_tracker.paulus', 'home') %}
{% if is_state('device_tracker.paulus', 'home') %}
Ha, Paulus is home!
{% else %}
Paulus is at {{ states('device_tracker.paulus') }}.
{% endif %}{% endraw %}
{% endif %}
```
{% endraw %}
[Jinja2](http://jinja.pocoo.org/) supports a wide variety of operations:
@ -104,8 +99,10 @@ Home Assistant adds extensions to allow templates to access all of the current s
If your template uses an `entity_id` that begins with a number (example: `states.device_tracker.2008_gmc`) you must use a bracket syntax to avoid errors caused by rendering the `entity_id` improperly. In the example given, the correct syntax for the device tracker would be: `states.device_tracker['2008_gmc']`
</p>
## {% linkable_title Templates using `now()` %}
<p class='note warning'>
Rendering templates with time is dangerous as updates only trigger templates in sensors based on entity state changes.
Rendering templates with time (`now()`) is dangerous as updates only trigger templates in sensors based on entity state changes.
</p>
## {% linkable_title Home Assistant template extensions %}
@ -117,43 +114,51 @@ In templates, besides the normal [state object methods and properties](/topics/s
## {% linkable_title Examples %}
### {% linkable_title States %}
The next two statements result in same value if state exists. The second one will result in an error if state does not exist.
{% raw %}
```text
{% raw %}{{ states('device_tracker.paulus') }}
{{ states.device_tracker.paulus.state }}{% endraw %}
{{ states('device_tracker.paulus') }}
{{ states.device_tracker.paulus.state }}
```
{% endraw %}
### {% linkable_title Attributes %}
Print an attribute if state is defined. Both will return the same thing but the last one you can specify entity_id from a variable.
{% raw %}
```text
{% raw %}{% if states.device_tracker.paulus %}
{% if states.device_tracker.paulus %}
{{ states.device_tracker.paulus.attributes.battery }}
{% else %}
??
{% endif %}{% endraw %}
{% endif %}
```
{% endraw %}
With strings
{% raw %}
```text
{% raw %}{% set tracker_name = "paulus"%}
{% set tracker_name = "paulus"%}
{% if states("device_tracker." + tracker_name) != "unknown" %}
{{ state_attr("device_tracker." + tracker_name, "battery")}}
{% else %}
??
{% endif %}{% endraw %}
{% endif %}
```
{% endraw %}
### {% linkable_title Sensor states %}
Print out a list of all the sensor states.
{% raw %}
```text
{% raw %}{% for state in states.sensor %}
{% for state in states.sensor %}
{{ state.entity_id }}={{ state.state }},
{% endfor %}
@ -173,48 +178,58 @@ Print out a list of all the sensor states.
{{ as_timestamp(states.binary_sensor.garage_door.last_changed) }}
{{ as_timestamp(now()) - as_timestamp(states.binary_sensor.garage_door.last_changed) }}{% endraw %}
{{ as_timestamp(now()) - as_timestamp(states.binary_sensor.garage_door.last_changed) }}
```
{% endraw %}
### {% linkable_title Distance examples %}
If only 1 location is passed in, Home Assistant will measure the distance from home.
{% raw %}
```text
{% raw %}Using Lat Lng coordinates: {{ distance(123.45, 123.45) }}
Using Lat Lng coordinates: {{ distance(123.45, 123.45) }}
Using State: {{ distance(states.device_tracker.paulus) }}
These can also be combined in any combination:
{{ distance(123.45, 123.45, 'device_tracker.paulus') }}
{{ distance('device_tracker.anne_therese', 'device_tracker.paulus') }}{% endraw %}
{{ distance('device_tracker.anne_therese', 'device_tracker.paulus') }}
```
{% endraw %}
### {% linkable_title Closest examples %}
Find entities closest to the Home Assistant location:
{% raw %}
```text
{% raw %}Query all entities: {{ closest(states) }}
Query all entities: {{ closest(states) }}
Query all entities of a specific domain: {{ closest('states.device_tracker') }}
Query all entities in group.children: {{ closest('group.children') }}
Query all entities in group.children: {{ closest(states.group.children) }}{% endraw %}
Query all entities in group.children: {{ closest(states.group.children) }}
```
{% endraw %}
Find entities closest to a coordinate or another entity. All previous arguments still apply for 2nd argument.
{% raw %}
```text
{% raw %}Closest to a coordinate: {{ closest(23.456, 23.456, 'group.children') }}
Closest to a coordinate: {{ closest(23.456, 23.456, 'group.children') }}
Closest to an entity: {{ closest('zone.school', 'group.children') }}
Closest to an entity: {{ closest(states.zone.school, 'group.children') }}{% endraw %}
Closest to an entity: {{ closest(states.zone.school, 'group.children') }}
```
{% endraw %}
### {% linkable_title Combined %}
Since closest returns a state, we can combine it with distance too.
{% raw %}
```text
{% raw %}{{ closest(states).name }} is {{ distance(closest(states)) }} kilometers away.{% endraw %}
{{ closest(states).name }} is {{ distance(closest(states)) }} kilometers away.
```
{% endraw %}
## {% linkable_title Processing incoming data %}
@ -238,11 +253,13 @@ This means that if the incoming values looks like the sample below:
The template for `on` would be:
{% raw %}
```yaml
'{% raw %}{{value_json.on}}{% endraw %}'
'{{value_json.on}}'
```
{% endraw %}
Nested JSON in a response is supported as well
Nested JSON in a response is supported as well:
```json
{
@ -259,10 +276,11 @@ Nested JSON in a response is supported as well
Just use the "Square bracket notation" to get the value.
{% raw %}
```yaml
'{% raw %}{{ value_json["values"]["temp"] }}{% endraw %}'
'{{ value_json["values"]["temp"] }}'
```
{% endraw %}
The following overview contains a couple of options to get the needed values:
@ -294,8 +312,8 @@ The following overview contains a couple of options to get the needed values:
To evaluate a response, go to the <img src='/images/screenshots/developer-tool-templates-icon.png' alt='template developer tool icon' class="no-shadow" height="38" /> template developer tools, create your output into "Template", and check the result.
```yaml
{% raw %}
```yaml
{% set value_json=
{"name":"Outside",
"device":"weather-ha",
@ -304,5 +322,6 @@ To evaluate a response, go to the <img src='/images/screenshots/developer-tool-t
"hum":"35%"
} }%}
{{value_json.data.hum[:-1]}}{% endraw %}
{{value_json.data.hum[:-1]}}
```
{% endraw %}

View File

@ -22,7 +22,7 @@ On both Android and iOS, you can add the Home Assistant "web app" to your homesc
4. Tap on Add to Homescreen
5. A dialog will popup; tap on Add
<p class='img' style='width:500px; margin-left: auto; margin-right: auto;'>
<p class='img' style='max-width:500px; margin-left: auto; margin-right: auto;'>
<img src='/images/screenshots/android-homescreen-guide.gif' />
</p>

View File

@ -12,7 +12,7 @@ redirect_from: /getting-started/installation-raspberry-pi/
This installation of Home Assistant requires the Raspberry Pi to run [Raspbian Lite](https://www.raspberrypi.org/downloads/raspbian/). The installation will be installed in a [Virtual Environment](/docs/installation/virtualenv) with minimal overhead. Instructions assume this is a new installation of Raspbian Lite.
You must have Python 3.5.3 or later installed, which is the case for Raspbian Stretch.
You must have Python 3.5.3 or later installed (including the package `python3-dev`) which is the case for Raspbian Stretch.
<p class='note'>
Although these installation steps specifically mention a Raspberry Pi, you can go ahead and proceed on any Linux install as well. This guide is also referred to as the "Advanced Guide" for a virtual environment install.

View File

@ -34,10 +34,7 @@ mqtt:
```
<p class='note warning'>
There is an issue with the HBMQTT broker that can cause a memory leak (slowly increasing used memory). This causes an unstable system after the memory is full. You could measure/monitor this with a system monitor. The issue is from 2016 and could already be resolved with newer versions. Use another broker when you experience this issue, for example, Mosquitto. <br>
<br>
Issue with the HBMQTT broker: https://github.com/beerfactory/hbmqtt/issues/62 <br>
System monitor: https://www.home-assistant.io/components/sensor.systemmonitor/
There is [an issue](https://github.com/beerfactory/hbmqtt/issues/62) with the HBMQTT broker and the WebSocket connection that is causing a memory leak. If you experience this issue, consider using another broker like Mosquitto.
</p>
### {% linkable_title Owntracks%}

View File

@ -196,6 +196,20 @@ Triple tap off|2|4
Tap and hold on|1|2
Tap and hold off|2|2
Some installations will see those details:
**Top button ID: 1, Bottom ID: 2**
**Action**|**scene\_data**
:-----:|:-----:
Single Press|7800
Hold Button|7740
2x Tap|7860
3x Tap|7920
4x Tap|7980
5x Tap|8040
### {% linkable_title Fibaro Button FGPB-101-6 v3.2 %}
<!-- from https://hastebin.com/esodiweduq.cs -->
@ -353,4 +367,4 @@ Button three hold|Circle|3|2
Button three release|Circle|3|1
Button four tap|Circle with Line|4|0
Button four hold|Circle with Line|4|2
Button four release|Circle with Line|4|1
Button four release|Circle with Line|4|1

View File

@ -58,7 +58,7 @@ network_key:
type: string
default: None
config_path:
description: The path to the Python OpenZWave configuration files.
description: "The path to the Python OpenZWave configuration files. NOTE: there is also the [update_config service](https://www.home-assistant.io/docs/z-wave/services/) to perform updating the config within python-openzwave automatically."
required: false
type: string
default: the 'config' that is installed by python-openzwave

View File

@ -42,7 +42,7 @@ show_state:
default: "true"
column_width:
required: false
description: "Column width as CSS length like `100px` or `calc(100% / 7)`."
description: "Column width as CSS length like `100px` or `calc(100% / 7)`. This controls how many entities appear in a row - at the default 20% you have 5 entities in a row. Use `calc(100% / 7)` for 7 entities in a row, and so on."
type: string
default: 20%
{% endconfiguration %}

View File

@ -52,6 +52,6 @@ aspect_ratio:
- type: map
aspect_ratio: 100%
entities:
- entity: device_tracker.demo_paulus
- device_tracker.demo_paulus
- zone.home
```

View File

@ -18,6 +18,7 @@ Hass.io images are available for:
- [Raspberry Pi 2 Model B][pi2]
- [Raspberry Pi 3 Model B and B+ 32bit][pi3-32] (recommended)
- [Raspberry Pi 3 Model B and B+ 64bit][pi3-64]
- [Tinkerboard (Beta)][tinker]
- As [Virtual Appliance]:
- [VMDK][vmdk]
@ -80,6 +81,7 @@ A detailed guide about running Hass.io as a virtual machine is available in the
[pi2]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi2-1.9.img.gz
[pi3-32]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi3-1.9.img.gz
[pi3-64]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_rpi3-64-1.9.img.gz
[tinker]: https://github.com/home-assistant/hassos/releases/download/2.1/hassos_tinker-2.1.img.gz
[vmdk]: https://github.com/home-assistant/hassos/releases/download/1.9/hassos_ova-1.9.vmdk
[linux]: https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio
[local]: http://hassio.local:8123

View File

@ -26,6 +26,10 @@ The Lovelace UI is:
<iframe width="560" height="315" src="https://www.youtube.com/embed/6FX9_leiikw" frameborder="0" allowfullscreen></iframe>
</div>
<p class='note warning'>
If you're not using Chrome, please be sure to [read the FAQ](/lovelace/#faq) below.
</p>
## {% linkable_title How it works %}
The old user interface relied solely on the state machine. This caused trouble as it meant that the state machine was now not only the source for device states, but also for user interface configuration. With Lovelace, we're taking a completely different approach. All user interface configuration will live in a separate file, controlled by the user.