diff --git a/source/_addons/bluetooth_bcm43xx.markdown b/source/_addons/bluetooth_bcm43xx.markdown index a34b2fa08a7..65ae6eec053 100644 --- a/source/_addons/bluetooth_bcm43xx.markdown +++ b/source/_addons/bluetooth_bcm43xx.markdown @@ -12,7 +12,10 @@ footer: true Start this add-on to activate the BCM43xx Bluetooth chipset.
- 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.
-Supported platforms: Raspberry Pi 3. +Supported platforms: + +- Raspberry Pi 3 + diff --git a/source/_addons/check_config.markdown b/source/_addons/check_config.markdown index f10f69848fe..1ef8abd754a 100644 --- a/source/_addons/check_config.markdown +++ b/source/_addons/check_config.markdown @@ -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 { diff --git a/source/_addons/git_pull.markdown b/source/_addons/git_pull.markdown index a316149cae4..8cb2c3a852b 100644 --- a/source/_addons/git_pull.markdown +++ b/source/_addons/git_pull.markdown @@ -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.- 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``` + 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`.
- **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: `-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`.
diff --git a/source/_addons/google_assistant.markdown b/source/_addons/google_assistant.markdown index 40923fdb19d..2c8e0adba2e 100644 --- a/source/_addons/google_assistant.markdown +++ b/source/_addons/google_assistant.markdown @@ -11,11 +11,11 @@ featured: true ---- 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.
- 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/).
[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. diff --git a/source/_addons/homematic.markdown b/source/_addons/homematic.markdown index 6a92bbff817..50a56b1bd9d 100644 --- a/source/_addons/homematic.markdown +++ b/source/_addons/homematic.markdown @@ -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 ``` diff --git a/source/_addons/mariadb.markdown b/source/_addons/mariadb.markdown index 013bdc8ebb4..cbc2d78b474 100644 --- a/source/_addons/mariadb.markdown +++ b/source/_addons/mariadb.markdown @@ -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 %} diff --git a/source/_addons/rpc_shutdown.markdown b/source/_addons/rpc_shutdown.markdown index a4d2d6689a9..d098c1d1d33 100644 --- a/source/_addons/rpc_shutdown.markdown +++ b/source/_addons/rpc_shutdown.markdown @@ -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: diff --git a/source/_addons/samba.markdown b/source/_addons/samba.markdown index 6b378a5dd87..939d3c95505 100644 --- a/source/_addons/samba.markdown +++ b/source/_addons/samba.markdown @@ -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 { diff --git a/source/_addons/tellstick.markdown b/source/_addons/tellstick.markdown index 49764d93dae..1bae8bac498 100644 --- a/source/_addons/tellstick.markdown +++ b/source/_addons/tellstick.markdown @@ -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. diff --git a/source/_components/device_tracker.linksys_ap.markdown b/source/_components/device_tracker.linksys_ap.markdown index 6cdc3984b2e..70cc3e17a14 100644 --- a/source/_components/device_tracker.linksys_ap.markdown +++ b/source/_components/device_tracker.linksys_ap.markdown @@ -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 diff --git a/source/_components/device_tracker.linksys_smart.markdown b/source/_components/device_tracker.linksys_smart.markdown index 0b9875e5f23..0cc22363fd9 100644 --- a/source/_components/device_tracker.linksys_smart.markdown +++ b/source/_components/device_tracker.linksys_smart.markdown @@ -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 -+- 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. -
+ +## {% linkable_title Configuration %} To use a Linksys Smart Wifi Router in your Home Assistant installation, add the following to your `configuration.yaml` file: diff --git a/source/_components/device_tracker.markdown b/source/_components/device_tracker.markdown index 41fd9b25a54..8f0d46cfc84 100644 --- a/source/_components/device_tracker.markdown +++ b/source/_components/device_tracker.markdown @@ -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 `-Don't use option `server_host` on a hass.io installation! +Don't use option `server_host` on a Hass.io installation!
```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: diff --git a/source/_components/media_player.panasonic_viera.markdown b/source/_components/media_player.panasonic_viera.markdown index 28778486017..601659a11d1 100644 --- a/source/_components/media_player.panasonic_viera.markdown +++ b/source/_components/media_player.panasonic_viera.markdown @@ -23,6 +23,7 @@ Currently known supported models: - TX-49DX650B - TX-50DX700B - TX-55CX700E +- TX-55EXW584 - TX-65EXW784 - TX-L42ET50 - TX-P42STW50 diff --git a/source/_components/media_player.webostv.markdown b/source/_components/media_player.webostv.markdown index b045ccc518a..a4afa661dad 100644 --- a/source/_components/media_player.webostv.markdown +++ b/source/_components/media_player.webostv.markdown @@ -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 diff --git a/source/_components/notify.telegram.markdown b/source/_components/notify.telegram.markdown index 077288efab2..9fd9b2f0d63 100644 --- a/source/_components/notify.telegram.markdown +++ b/source/_components/notify.telegram.markdown @@ -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 { diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index edccbd457b8..e682a20c389 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -159,6 +159,10 @@ automation: ``` {% endraw %} ++Rendering templates with time (`now()`) is dangerous as trigger templates only update based on entity state changes. +
+ ### {% 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. diff --git a/source/_docs/configuration/entity-registry.markdown b/source/_docs/configuration/entity-registry.markdown index b6183f7b76b..b699bb979eb 100644 --- a/source/_docs/configuration/entity-registry.markdown +++ b/source/_docs/configuration/entity-registry.markdown @@ -9,27 +9,18 @@ sharing: true footer: true --- --This is a new and experimental feature of Home Assistant. -
+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.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.
-The entity registry is stored in `-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.
## {% 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
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. diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown index b834900a6fc..628c6dbdb0b 100644 --- a/source/_docs/mqtt/broker.markdown +++ b/source/_docs/mqtt/broker.markdown @@ -34,10 +34,7 @@ mqtt: ```
-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.
-
-Issue with the HBMQTT broker: https://github.com/beerfactory/hbmqtt/issues/62
-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.
+If you're not using Chrome, please be sure to [read the FAQ](/lovelace/#faq) below. +
+ ## {% 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.