diff --git a/source/_addons/mariadb.markdown b/source/_addons/mariadb.markdown
index a945d69f12b..844f77a88ae 100644
--- a/source/_addons/mariadb.markdown
+++ b/source/_addons/mariadb.markdown
@@ -41,7 +41,7 @@ logins:
required: true
type: string
host:
- description: Host for account. If you need an account on multiple hosts, use '%'.
+ description: Host for account. Use '%', to accept connections for this account from any host.
required: true
type: string
password:
diff --git a/source/_addons/nginx_proxy.markdown b/source/_addons/nginx_proxy.markdown
index 1fc02fbd891..53d45c6d607 100644
--- a/source/_addons/nginx_proxy.markdown
+++ b/source/_addons/nginx_proxy.markdown
@@ -17,7 +17,8 @@ In the `http` section of the `configuration.yaml` file remove `ssl_certificate`,
"active": false,
"default": "nginx_proxy_default*.conf",
"servers": "nginx_proxy/*.conf"
- }
+ },
+ "cloudflare": false
}
```
@@ -43,6 +44,11 @@ customize:
required: false
type: boolean
default: false
+cloudflare:
+ description: If enabled, configure Nginx with a list of IP addresses directly from Cloudflare that will be used for `set_real_ip_from` directive Nginx config.
+ required: false
+ type: boolean
+ default: false
{% endconfiguration %}
diff --git a/source/_cookbook/foscam_away_mode_PTZ.markdown b/source/_cookbook/foscam_away_mode_PTZ.markdown
index ed1d29e8bf8..c5460a41cb9 100644
--- a/source/_cookbook/foscam_away_mode_PTZ.markdown
+++ b/source/_cookbook/foscam_away_mode_PTZ.markdown
@@ -4,7 +4,7 @@ description: "Example of how to set Foscam to only have Motion Detection Recordi
ha_category: Automation Examples
---
-This requires a [Foscam IP Camera](/integrations/foscam) camera with PTZ (Pan, Tilt, Zoom) and CGI functionality ([Source](http://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf))
+This requires a [Foscam IP Camera](/integrations/foscam) camera with PTZ (Pan, Tilt, Zoom) and CGI functionality ([Source](https://www.foscam.es/descarga/Foscam-IPCamera-CGI-User-Guide-AllPlatforms-2015.11.06.pdf))
Foscam Cameras can be controlled by Home Assistant through a number of CGI commands.
The following outlines examples of the switch, services, and scripts required to move between 2 preset destinations while controlling motion detection, but many other options of movement are provided in the Foscam CGI User Guide linked above.
diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown
index adf436e668d..2be3ee4b435 100644
--- a/source/_docs/automation/trigger.markdown
+++ b/source/_docs/automation/trigger.markdown
@@ -226,7 +226,7 @@ automation:
{% endraw %}
-If you want to get more precise, start with the US Naval Observatory [tool](http://aa.usno.navy.mil/data/docs/AltAz.php) which will help you estimate what the solar elevation will be at any specific time. Then from this, you can select from the defined twilight numbers.
+If you want to get more precise, start with the US Naval Observatory [tool](https://aa.usno.navy.mil/data/docs/AltAz.php) which will help you estimate what the solar elevation will be at any specific time. Then from this, you can select from the defined twilight numbers.
Although the actual amount of light depends on weather, topography and land cover, they are defined as:
diff --git a/source/_docs/configuration/secrets.markdown b/source/_docs/configuration/secrets.markdown
index 4264c7dbe6c..c9d108f9282 100644
--- a/source/_docs/configuration/secrets.markdown
+++ b/source/_docs/configuration/secrets.markdown
@@ -13,15 +13,19 @@ The workflow for moving private information to `secrets.yaml` is very similar to
The entries for password and API keys in the `configuration.yaml` file usually looks like the example below.
```yaml
-http:
- api_password: YOUR_PASSWORD
+homeassistant:
+ auth_providers:
+ - type: legacy_api_password
+ api_password: YOUR_PASSWORD
```
Those entries need to be replaced with `!secret` and an identifier.
```yaml
-http:
- api_password: !secret http_password
+homeassistant:
+ auth_providers:
+ - type: legacy_api_password
+ api_password: !secret http_password
```
The `secrets.yaml` file contains the corresponding password assigned to the identifier.
diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown
index 47c20e0daa8..9719eb1c148 100644
--- a/source/_docs/configuration/templating.markdown
+++ b/source/_docs/configuration/templating.markdown
@@ -17,13 +17,13 @@ Templating is a powerful feature that allows you to control information going in
## Building templates
-Templating in Home Assistant is powered by the [Jinja2](http://jinja.pocoo.org/) templating engine. This means that we are using their syntax and make some custom Home Assistant variables available to templates during rendering. Jinja2 supports a wide variety of operations:
+Templating in Home Assistant is powered by the [Jinja2](https://palletsprojects.com/p/jinja) templating engine. This means that we are using their syntax and make some custom Home Assistant variables available to templates during rendering. Jinja2 supports a wide variety of operations:
-- [Mathematical operation](http://jinja.pocoo.org/docs/dev/templates/#math)
-- [Comparisons](http://jinja.pocoo.org/docs/dev/templates/#comparisons)
-- [Logic](http://jinja.pocoo.org/docs/dev/templates/#logic)
+- [Mathematical operation](https://jinja.palletsprojects.com/en/master/templates/#math)
+- [Comparisons](https://jinja.palletsprojects.com/en/master/templates/#comparisons)
+- [Logic](https://jinja.palletsprojects.com/en/master/templates/#logic)
-We will not go over the basics of the syntax, as Jinja2 does a great job of this in their [templates documentation](http://jinja.pocoo.org/docs/dev/templates/).
+We will not go over the basics of the syntax, as Jinja2 does a great job of this in their [templates documentation](https://jinja.palletsprojects.com/en/master/templates/).
The frontend has a template editor tool to help develop and debug templates. Click on the

icon, create your template in the _Template editor_ and check the results on the right.
@@ -175,6 +175,7 @@ The same thing can also be expressed as a filter:
- For specific values: `utcnow().second`, `utcnow().minute`, `utcnow().hour`, `utcnow().day`, `utcnow().month`, `utcnow().year`, `utcnow().weekday()` and `utcnow().isoweekday()`.
- `as_timestamp()` will convert datetime object or string to UNIX timestamp. This function also be used as a filter.
- `strptime(string, format)` will parse a string to a datetime based on a [format](https://docs.python.org/3.6/library/datetime.html#strftime-and-strptime-behavior).
+- `relative_time` will convert datetime object to its human-friendly "age" string. The age can be in second, minute, hour, day, month or year (but only the biggest unit is considered, e.g. if it's 2 days and 3 hours, "2 days" will be returned). Note that it only works for dates _in the past_.
- Filter `timestamp_local` will convert an UNIX timestamp to local time/data.
- Filter `timestamp_utc` will convert a UNIX timestamp to UTC time/data.
- Filter `timestamp_custom(format_string, local_boolean)` will convert a UNIX timestamp to a custom format, the use of a local timestamp is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime).
@@ -262,7 +263,7 @@ Closest to some entity:
### Numeric functions and filters
-Some of these functions can also be used in a [filter](http://jinja.pocoo.org/docs/dev/templates/#id11). This means they can act as a normal function like this `sqrt(2)`, or as part of a filter like this `2|sqrt`.
+Some of these functions can also be used in a [filter](https://jinja.palletsprojects.com/en/master/templates/#id11). This means they can act as a normal function like this `sqrt(2)`, or as part of a filter like this `2|sqrt`.
- `log(value, base)` will take the logarithm of the input. When the base is omitted, it defaults to `e` - the natural logarithm. Can also be used as a filter.
- `sin(value)` will return the sine of the input. Can be used as a filter.
diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown
index 0e854549c12..ec7fae5a854 100644
--- a/source/_docs/installation/freenas.markdown
+++ b/source/_docs/installation/freenas.markdown
@@ -7,6 +7,12 @@ description: "Installation of Home Assistant on your FreeNAS."
This has been tested on FreeNAS 11.2 and should also work on FreeBSD 11.x as well. These instructions assume you already have a running and accessible jail. For more information on creating a jail read the official FreeNAS User Guide regarding [Jails](https://www.ixsystems.com/documentation/freenas/11.2/jails.html). Once you have the jail available, follow the steps below. Directories used follow standard BSD conventions but can be adjusted as you wish.
+Enter the Home Assistant jail. If you don't know which name you have given the jail, you can use the `iocage list` command to check.
+```bash
+# If the jail is called 'HomeAssistant'
+iocage exec HomeAssistant
+```
+
Create the user and group that Home Assistant will run as. The user/group ID of `8123` can be replaced if this is already in use in your environment.
```bash
@@ -149,7 +155,7 @@ run_rc_command "$1"
Make the `rc.d` script executable:
```bash
-# chmod +x /usr/local/etc/rc.d/homeassistant
+chmod +x /usr/local/etc/rc.d/homeassistant
```
Configure the service to start on boot and start the Home Assistant service:
@@ -166,3 +172,31 @@ You can also restart the jail to ensure that Home Assistant starts on boot.
USB Z-wave sticks may give `dmesg` warnings similar to "data interface 1, has no CM over data, has no break". This doesn't impact the function of the Z-Wave stick in Home Assistant. Just make sure the proper `/dev/cu*` is used in the Home Assistant `configuration.yaml` file.
+
+# Updating
+Before updating, read the changelog to see what has changed and how it affects your Home Assistant instance. Enter the jail using `iocage exec `. Stop the Home Assistant service:
+
+```bash
+service homeassistant stop
+```
+
+Then, enter the `venv`:
+
+```bash
+su homeassistant
+cd /usr/local/share/homeassistant
+source ./bin/activate.csh
+```
+
+Upgrade Home Assistant:
+
+```bash
+pip3 install homeassistant --upgrade
+```
+
+Log out of the `homeassistant` user and start Home Assistant:
+
+```bash
+exit
+service homeassistant start
+```
diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown
index 416a4e947da..0d37ab7be55 100644
--- a/source/_integrations/alexa.smart_home.markdown
+++ b/source/_integrations/alexa.smart_home.markdown
@@ -168,7 +168,7 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom
* `Access Token URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/token
* `Client ID`:
- https://pitangui.amazon.com/ if you are in US
- - https://layla.amazon.co.uk/ if you are in EU
+ - https://layla.amazon.com/ if you are in EU
- https://alexa.amazon.co.jp/ if you are in JP and AU (not verified yet)
The trailing slash is important here.
diff --git a/source/_integrations/avion.markdown b/source/_integrations/avion.markdown
index e786dd7a92e..5313cfc4eff 100644
--- a/source/_integrations/avion.markdown
+++ b/source/_integrations/avion.markdown
@@ -8,7 +8,7 @@ logo: avi-on.png
ha_release: 0.37
---
-Support for the Avi-on Bluetooth dimmer switch [Avi-On](http://avi-on.com/).
+Support for the Avi-on Bluetooth dimmer switch [Avi-On](https://avi-on.com/).
## Setup
diff --git a/source/_integrations/binary_sensor.xiaomi_aqara.markdown b/source/_integrations/binary_sensor.xiaomi_aqara.markdown
index 0103f255b27..d8457fbb018 100644
--- a/source/_integrations/binary_sensor.xiaomi_aqara.markdown
+++ b/source/_integrations/binary_sensor.xiaomi_aqara.markdown
@@ -99,6 +99,20 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra
entity_id: climate.livingroom
data:
operation_mode: 'Smart schedule'
+- alias: Notify if door is opened when away
+ trigger:
+ platform: state
+ entity_id: binary_sensor.door_window_sensor_15xxxxxxc9xx6b
+ from: 'off'
+ to: 'on'
+ condition:
+ - condition: state
+ entity_id: group.family
+ state: 'not_home'
+ action:
+ - service: notify.notify_person
+ data:
+ message: 'The door has been opened'
```
#### Smoke
diff --git a/source/_integrations/buienradar.markdown b/source/_integrations/buienradar.markdown
index 3db8a463997..522e3470558 100644
--- a/source/_integrations/buienradar.markdown
+++ b/source/_integrations/buienradar.markdown
@@ -9,7 +9,7 @@ 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 `buienradar` platform uses [buienradar.nl](https://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).
diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown
index 15d5024a48d..a3331c40ebb 100644
--- a/source/_integrations/discord.markdown
+++ b/source/_integrations/discord.markdown
@@ -46,7 +46,7 @@ Bots can only send messages to servers or attach local available images. To add
Now use the Discord Authorization page with the **Client ID** of your [bot](https://discordapp.com/developers/docs/topics/oauth2#bots).
-[https://discordapp.com/api/oauth2/authorize?client_id=[CLIENT_ID]&scope=bot&permissions=0](https://discordapp.com/api/oauth2/authorize?client_id=[CLIENT_ID]&scope=bot&permissions=0)
+`https://discordapp.com/api/oauth2/authorize?client_id=[CLIENT_ID]&scope=bot&permissions=0`
diff --git a/source/_integrations/flux_led.markdown b/source/_integrations/flux_led.markdown
index edc02e1ae93..5627d9b881b 100644
--- a/source/_integrations/flux_led.markdown
+++ b/source/_integrations/flux_led.markdown
@@ -13,7 +13,6 @@ The `flux_led` support is integrated into Home Assistant as a light platform. Se
Example of bulbs:
- [Flux Smart Lighting](http://www.fluxsmartlighting.com/)
-- [MagicLight® Plus - WiFi Smart LED Light Bulb4](https://amzn.to/2X0Zath)
- [Flux WiFi Smart LED Light Bulb4](https://amzn.to/2X0dVwu)
- [WIFI smart LED light Bulb1](https://amzn.to/2J2fksr)
diff --git a/source/_integrations/habitica.markdown b/source/_integrations/habitica.markdown
index b5abb3922a0..7b1c1ca31f3 100644
--- a/source/_integrations/habitica.markdown
+++ b/source/_integrations/habitica.markdown
@@ -49,7 +49,7 @@ url:
description: "URL to your Habitica instance, if you are hosting your own"
required: false
type: string
- default: http://habitica.com
+ default: https://habitica.com
sensors:
description: List of sensors to generate for this user. If you don't specify this entry then the default (all sensors) will be generated. If you specify this entry empty then no sensors will be generated.
required: false
@@ -84,7 +84,7 @@ So let's call the API on `habitica.api_call`.
* The `name` key becomes `xxxNotAValidNickxxx`.
* The `path` key is trickier.
- * Remove 'https://habitica.com/api/v3/' at the beginning of the endpoint URL.
+ * Remove `https://habitica.com/api/v3/` at the beginning of the endpoint URL.
* Split the remaining on slashes (/) and **append the lowercase method** at the end.
* You should get `["tasks", "user", "post"]`. To get a better idea of the API you are recommended to try all of the API calls in IPython console [using this package](https://github.com/ASMfreaK/habitipy/blob/master/README.md).
* The `args` key is more or less described in the [docs](https://habitica.com/apidoc/).
diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown
index bbeaa1023c8..218af288be1 100644
--- a/source/_integrations/homekit.markdown
+++ b/source/_integrations/homekit.markdown
@@ -352,7 +352,7 @@ The following integrations are currently supported:
| sensor | CarbonDioxideSensor | All sensors that have `co2` as part of their `entity_id` or `co2` as their `device_class` |
| sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` |
| 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. |
+| water_heater | WaterHeater | All `water_heater` devices. |
## Troubleshooting
diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown
index 08aa479bfc7..21e1396fcaf 100644
--- a/source/_integrations/html5.markdown
+++ b/source/_integrations/html5.markdown
@@ -341,5 +341,5 @@ If you need to verify domain ownership with Google Webmaster Central/Search Cons
2. Create a directory named `www` in your Home Assistant configuration directory (`/config/` share from Samba add-on).
3. Place the downloaded `google*.html` file in the `www` directory.
4. RESTART Home Assistant. **This is important!**
-5. Verify the file can be accessed in the browser, e.g., **https://example.com:8123/local/google123456789.html** (change filename). You should see a plain text message saying "google-site-verification: ...". If you see "404: Not Found" or something else, retry the above steps.
+5. Verify the file can be accessed in the browser, e.g., `https://example.com:8123/local/google123456789.html` (change filename). You should see a plain text message saying "google-site-verification: ...". If you see "404: Not Found" or something else, retry the above steps.
6. Go back to Google Webmaster Central/Search Console and proceed with the verification.
diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown
index 4f9914cff8d..1cda4f554e5 100644
--- a/source/_integrations/input_text.markdown
+++ b/source/_integrations/input_text.markdown
@@ -71,7 +71,7 @@ input_text:
### Services
-This integrations provide three services to modify the state of the `input_text`.
+This integration provides a single service to modify the state of the `input_text`.
| Service | Data | Description |
| ------- | ---- | ----------- |
diff --git a/source/_integrations/luci.markdown b/source/_integrations/luci.markdown
index d15abcb8c0b..776607e3718 100644
--- a/source/_integrations/luci.markdown
+++ b/source/_integrations/luci.markdown
@@ -9,7 +9,7 @@ ha_release: pre 0.7
_This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/integrations/openwrt/)._
-This is a presence detection scanner for OpenWRT using [luci](http://wiki.openwrt.org/doc/techref/luci).
+This is a presence detection scanner for OpenWRT using [luci](https://openwrt.org/docs/techref/luci).
diff --git a/source/_integrations/mikrotik.markdown b/source/_integrations/mikrotik.markdown
index 9a2a2ffa3a5..909260201a7 100644
--- a/source/_integrations/mikrotik.markdown
+++ b/source/_integrations/mikrotik.markdown
@@ -112,10 +112,10 @@ If everything is working fine you can disable the pure `api` service in RouterOS
## The user privileges in RouterOS
-To use this device tracker you need restricted privileges only. To enhance the security of your MikroTik device create a "read only" user who is able to connect to API only:
+To use this device tracker you need restricted privileges only. To enhance the security of your MikroTik device create a "read only" user who is able to connect to API and perform ping test only:
```bash
-/user group add name=homeassistant policy=read,api,!local,!telnet,!ssh,!ftp,!reboot,!write,!policy,!test,!winbox,!password,!web,!sniff,!sensitive,!romon,!dude,!tikapp
+/user group add name=homeassistant policy=read,api,!local,!telnet,!ssh,!ftp,!reboot,!write,!policy,test,!winbox,!password,!web,!sniff,!sensitive,!romon,!dude,!tikapp
/user add group=homeassistant name=homeassistant
/user set password="YOUR_PASSWORD" homeassistant
```
diff --git a/source/_integrations/oasa_telematics.markdown b/source/_integrations/oasa_telematics.markdown
index b71b3b986db..c761c32c005 100644
--- a/source/_integrations/oasa_telematics.markdown
+++ b/source/_integrations/oasa_telematics.markdown
@@ -29,13 +29,11 @@ The `route_id` can be obtained by looking up the "LineCode" of the route you wan
Then getting the "RouteCode" from this link:
-
-(Replace "LINE_CODE" with the "LineCode" you copied from the first link) find the route you need and copy the `RouteCode` field.
+`http://telematics.oasa.gr/api/?act=webGetRoutes&p1=LINE_CODE` (Replace "LINE_CODE" with the "LineCode" you copied from the first link) find the route you need and copy the `RouteCode` field.
Next, get the `stop_id` from this link:
-
-(Replace "ROUTE_CODE" with the "RouteCode" you got from the previous link) find the stop you need and copy the `StopID` field. The route must pass from this stop in order for the sensor to work.
+`http://telematics.oasa.gr/api/?act=webGetStops&p1=ROUTE_CODE` (Replace "ROUTE_CODE" with the "RouteCode" you got from the previous link) find the stop you need and copy the `StopID` field. The route must pass from this stop in order for the sensor to work.
{% configuration %}
route_id:
diff --git a/source/_integrations/sabnzbd.markdown b/source/_integrations/sabnzbd.markdown
index 6deb13f40c4..9f41839fe57 100644
--- a/source/_integrations/sabnzbd.markdown
+++ b/source/_integrations/sabnzbd.markdown
@@ -101,7 +101,7 @@ sabnzbd:
- total_size
```
-This will attempt to access your SABnzbd instance at https://192.168.1.32:9090 and will create sensors named
+This will attempt to access your SABnzbd instance at `https://192.168.1.32:9090` and will create sensors named
`sensor.sab_status`, `sensor.sab_speed`, etc.
## Services
diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown
index 724886ec6a2..aa87ba37614 100644
--- a/source/_integrations/samsungtv.markdown
+++ b/source/_integrations/samsungtv.markdown
@@ -112,6 +112,7 @@ Currently tested but not working models:
- JU7500 - Unable to see state and unable to control
- MU6125 - Unable to see state and unable to control (Tested on UE58MU6125 on port 8001 and 8801)
- MU6300 - Port set to 8001, turning on works, status not working reliably, turning off is not permanent (it comes back on)
+- Q6F – Port set to 8001, turning on works, turning off does not work, status not working reliably.
- Q7F - State is always "off" and unable to control via port 8001.
None of the 2014 (H) and 2015 (J) model series (e.g., J5200) will work, since Samsung have used a different (encrypted) type of interface for these.
diff --git a/source/_integrations/sensor.buienradar.markdown b/source/_integrations/sensor.buienradar.markdown
index 11d257668f1..2ba53e22811 100644
--- a/source/_integrations/sensor.buienradar.markdown
+++ b/source/_integrations/sensor.buienradar.markdown
@@ -8,7 +8,7 @@ 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 webservice 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 `buienradar` platform uses [buienradar.nl](https://buienradar.nl/) as a source for current meteorological data for your location. The weather forecast is delivered by Buienradar, who provides a webservice 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).
diff --git a/source/_integrations/snips.markdown b/source/_integrations/snips.markdown
index ebcc67f9548..1937ef70490 100644
--- a/source/_integrations/snips.markdown
+++ b/source/_integrations/snips.markdown
@@ -135,7 +135,7 @@ Alternatively, MQTT can be configured to bridge messages between servers if usin
In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/integrations/intent_script) component. For instance, the following block handles a `ActivateLightColor` intent to change light colors:
-Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips integration in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/integrations/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips integration is trying to match the non-username version of the intent (i.e., just `playmusic`).
+Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips integration in Home Assistant will try and strip off the username. Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips integration is trying to match the non-username version of the intent (i.e., just `playmusic`).
{% raw %}
```yaml
diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown
index 067bfafb791..0c0f62080db 100644
--- a/source/_integrations/transmission.markdown
+++ b/source/_integrations/transmission.markdown
@@ -97,6 +97,7 @@ Inside of the event, there is the name of the torrent that is started or complet
Example of configuration of an automation with completed torrents:
+{% raw %}
```yaml
- alias: Completed Torrent
trigger:
@@ -108,6 +109,7 @@ Example of configuration of an automation with completed torrents:
title: "Torrent completed!"
message: "{{trigger.event.data.name}}"
```
+{% endraw %}
## Services
diff --git a/source/_lovelace/light.markdown b/source/_lovelace/light.markdown
index abf5493d8b6..7f47b443c6a 100644
--- a/source/_lovelace/light.markdown
+++ b/source/_lovelace/light.markdown
@@ -30,6 +30,10 @@ name:
description: Overwrites friendly name.
type: string
default: Name of Entity
+theme:
+ required: false
+ description: Set to any theme within `themes.yaml`.
+ type: string
{% endconfiguration %}
## Examples
diff --git a/source/_lovelace/thermostat.markdown b/source/_lovelace/thermostat.markdown
index ba54973011a..941092e775e 100644
--- a/source/_lovelace/thermostat.markdown
+++ b/source/_lovelace/thermostat.markdown
@@ -25,6 +25,10 @@ name:
description: Overwrites friendly name.
type: string
default: Name of Entity.
+theme:
+ required: false
+ description: Set to any theme within `themes.yaml`
+ type: string
{% endconfiguration %}
## Example
diff --git a/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown b/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown
index a12c1353ee3..09472ee18ac 100644
--- a/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown
+++ b/source/_posts/2016-08-27-notifications-hue-fake-unification.markdown
@@ -253,7 +253,7 @@ Talk to you soon on Discord and in your pull request comments!
[Wunderground]: /integrations/wunderground
[monitoring]: /integrations/ffmpeg_motion
[MJPEG]: /integrations/mjpeg
-[Generic]: /integrations/generic
+[Generic]: /integrations/generic_ip_camera
[positions]: /integrations/zwave#cover
[forecast]: /integrations/darksky
[Bluetooth]: /integrations/bluetooth_le_tracker
diff --git a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown
index c7e1047e04f..57f421e33ee 100644
--- a/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown
+++ b/source/_posts/2016-09-29-async-sleepiq-emoncms-stocks.markdown
@@ -172,7 +172,7 @@ Since 0.28 [automation rules](/blog/2016/09/10/notify-group-reload-api-pihole/#r
[Modbus]: /integrations/modbus/
[Nest]: /integrations/nest/
[Nuimo]: /integrations/nuimo_controller/
-[OpenALPR]: /integrations/openalpr_local_local
+[OpenALPR]: /integrations/openalpr_local/
[passwordless]: /integrations/http/
[Simplepush]: /integrations/simplepush
[Slack]: /integrations/slack
diff --git a/source/_posts/2016-10-24-explaining-the-updater.markdown b/source/_posts/2016-10-24-explaining-the-updater.markdown
index b81c1b0257e..ed9a4ecf1ce 100644
--- a/source/_posts/2016-10-24-explaining-the-updater.markdown
+++ b/source/_posts/2016-10-24-explaining-the-updater.markdown
@@ -45,12 +45,7 @@ We decided to have it enabled by default because we consider the information tha
It is in our short-term planning to add an option to control this to our frontend.
-## Source Code
-The source code of our updater AWS Lambda function is now available [here][source].
-
-
[0.31]: /blog/2016/10/22/flash-briefing-updater-hacktoberfest/#comment-2965607849
[geolite]: https://dev.maxmind.com/geoip/geoip2/geolite2/
[opt-out]: /integrations/updater/
[rpi-image]: /blog/2016/10/01/we-have-raspberry-image-now/
-[source]: https://github.com/home-assistant/Analytics-Receiver
diff --git a/source/_posts/2017-01-14-iss-usps-images-packages.markdown b/source/_posts/2017-01-14-iss-usps-images-packages.markdown
index 516a924aeef..d51fdabfcf9 100644
--- a/source/_posts/2017-01-14-iss-usps-images-packages.markdown
+++ b/source/_posts/2017-01-14-iss-usps-images-packages.markdown
@@ -176,7 +176,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[packages]: /topics/packages/
[pico]: /integrations/picotts
[ping]: /integrations/ping
-[plates]: /integrations/openalpr_local_local
+[plates]: /integrations/openalpr_local/
[rest]: /integrations/rest_command/
[sma]: /integrations/sma#sensors
[sonarr]: /integrations/sonarr
@@ -189,4 +189,3 @@ Experiencing issues introduced by this release? Please report them in our [issue
[yandex]: /integrations/yandextts
[yeelight]: /integrations/yeelight
[zengge]: /integrations/zengge
-
diff --git a/source/_posts/2017-02-03-hassbian-toybox.markdown b/source/_posts/2017-02-03-hassbian-toybox.markdown
index 561510383e3..1dc2e7ceca5 100644
--- a/source/_posts/2017-02-03-hassbian-toybox.markdown
+++ b/source/_posts/2017-02-03-hassbian-toybox.markdown
@@ -54,7 +54,7 @@ To get started with the new image, check out the installation instructions in th
[cec]: /integrations/hdmi_cec/
[hassbian-repo]: https://github.com/home-assistant/hassbian-scripts
-[hassbian-avahi]: hassbian.local
+[hassbian-avahi]: https://hassbian.local
[landrash-github]: https://github.com/Landrash
[gs-image]: /docs/installation/hassbian/installation/
[discord]: https://discord.gg/8X8DTH4
diff --git a/source/_posts/2017-06-04-release-46.markdown b/source/_posts/2017-06-04-release-46.markdown
index de6ecb3d5ee..e9de42940d8 100644
--- a/source/_posts/2017-06-04-release-46.markdown
+++ b/source/_posts/2017-06-04-release-46.markdown
@@ -346,7 +346,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[media_player.spotify docs]: /integrations/spotify
[media_player.volumio docs]: /integrations/volumio
[modbus docs]: /integrations/modbus/
-[mqtt.discovery docs]: /integrations/mqtt.discovery/
+[mqtt.discovery docs]: /docs/mqtt/discovery/
[notify.ios docs]: /docs/ecosystem/ios/notifications/basic/
[notify.rest docs]: /integrations/notify.rest/
[notify.slack docs]: /integrations/slack
diff --git a/source/_posts/2017-07-02-release-48.markdown b/source/_posts/2017-07-02-release-48.markdown
index 3021ae20d11..e3d54c7e025 100644
--- a/source/_posts/2017-07-02-release-48.markdown
+++ b/source/_posts/2017-07-02-release-48.markdown
@@ -469,7 +469,7 @@ light:
[media_player.plex docs]: /integrations/plex#media-player
[media_player.soundtouch docs]: /integrations/soundtouch
[mqtt docs]: /integrations/mqtt/
-[mqtt.discovery docs]: /integrations/mqtt.discovery/
+[mqtt.discovery docs]: /docs/mqtt/discovery/
[notify.clicksend docs]: /integrations/clicksend
[notify.html5 docs]: /integrations/html5
[notify.smtp docs]: /integrations/smtp
diff --git a/source/_posts/2017-11-04-release-57.markdown b/source/_posts/2017-11-04-release-57.markdown
index 08a7e03b44b..38f721c9348 100644
--- a/source/_posts/2017-11-04-release-57.markdown
+++ b/source/_posts/2017-11-04-release-57.markdown
@@ -562,7 +562,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[hassio docs]: /integrations/hassio/
[history docs]: /integrations/history/
[http docs]: /integrations/http/
-[image_processing.openalpr_local docs]: /integrations/openalpr_local_local
+[image_processing.openalpr_local docs]: /integrations/openalpr_local/
[input_number docs]: /integrations/input_number/
[input_text docs]: /integrations/input_text/
[introduction docs]: /integrations/introduction/
diff --git a/source/_posts/2017-11-18-release-58.markdown b/source/_posts/2017-11-18-release-58.markdown
index 2b5394d14cd..2fb8a97bfdc 100644
--- a/source/_posts/2017-11-18-release-58.markdown
+++ b/source/_posts/2017-11-18-release-58.markdown
@@ -23,7 +23,7 @@ Talking about our translators, we now have 445 people with an account to help wi
And because more translations is more better, [@robbiet480] has added the iOS app to Lokalise, our translation management platform. The iOS app is currently supported in 7 different languages.
-[Learn more about how to help with translations](/2017/11/06/frontend-translations/)
+[Learn more about how to help with translations](/blog/2017/11/06/frontend-translations/)
## Frontend improvements continue
@@ -428,7 +428,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[media_player.webostv docs]: /integrations/webostv#media-player
[media_player.yamaha_musiccast docs]: /integrations/yamaha_musiccast/
[mqtt docs]: /integrations/mqtt/
-[mqtt.discovery docs]: /integrations/mqtt.discovery/
+[mqtt.discovery docs]: /docs/mqtt/discovery/
[mqtt.server docs]: /integrations/mqtt.server/
[mqtt_statestream docs]: /integrations/mqtt_statestream/
[neato docs]: /integrations/neato/
diff --git a/source/_posts/2018-10-29-release-81.markdown b/source/_posts/2018-10-29-release-81.markdown
index 8312fb5ee2e..8ac74a3bdb7 100644
--- a/source/_posts/2018-10-29-release-81.markdown
+++ b/source/_posts/2018-10-29-release-81.markdown
@@ -790,7 +790,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[rflink docs]: /integrations/rflink/
[route53 docs]: /integrations/route53/
[sabnzbd docs]: /integrations/sabnzbd/
-[sensor.api_streams docs]: /integrations/sensor.websocket_apis/
+[sensor.api_streams docs]: /integrations/sensor.websocket_api/
[sensor.bloomsky docs]: /integrations/bloomsky/#sensor
[sensor.bmw_connected_drive docs]: /integrations/bmw_connected_drive
[sensor.dnsip docs]: /integrations/dnsip
diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown
index 8b5bebb9eda..f19a4bcb014 100644
--- a/source/getting-started/index.markdown
+++ b/source/getting-started/index.markdown
@@ -62,11 +62,9 @@ We will need a few things to get started with installing Home Assistant. The lat
5. Insert the SD card into your Raspberry Pi 3. If you are going to use an Ethernet cable, connect that too.
6. Connect your Raspberry Pi to the power supply, so it turns on.
7. The Raspberry Pi will now boot up, connect to the Internet and download the latest version of Home Assistant, which will take about 20 minutes.
-8. Home Assistant will be available at [http://hassio.local:8123][local]. If you are running an older Windows or have stricter network configuration, you might need to access Home Assistant at [http://hassio:8123][host].
+8. Home Assistant will be available at `http://hassio.local:8123`. If you are running an older Windows or have stricter network configuration, you might need to access Home Assistant at `http://hassio:8123`.
9. If you have used a USB-stick for configuring the network, it can now be removed.
-[local]: http://hassio.local:8123
-[host]: http://hassio:8123
[the examples]: https://github.com/home-assistant/hassos/blob/dev/Documentation/network.md
### [Next step: Onboarding »][next-step]
diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown
index a262396b468..9c33585d450 100644
--- a/source/hassio/installation.markdown
+++ b/source/hassio/installation.markdown
@@ -47,7 +47,7 @@ The following will take you through the steps required to install Hass.io.
-6. You will be able to reach your installation at [http://hassio.local:8123][local] (if your router supports mDNS, otherwise see below).
+6. You will be able to reach your installation at `http://hassio.local:8123` (if your router supports mDNS, otherwise see below).
7. Enable either the [Samba add-on][samba] or the [SSH add-on][ssh] to manage your configuration in `/config/` (From the UI choose **Hass.io** which is located in the sidebar).
diff --git a/source/help/index.markdown b/source/help/index.markdown
index 918566b4ee2..b46e2c6fa5e 100644
--- a/source/help/index.markdown
+++ b/source/help/index.markdown
@@ -74,7 +74,6 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/).
- [Paulus Schoutsen and Home Assistant - Episode 8](http://codepop.com/open-sourcecraft/episodes/paulus-schoutsen/) - March 2017
- [Zammad, Home Assistant and Freifunk - are the winner of the Thomas-Krenn-Awards 2017](https://www.thomas-krenn.com/de/tkmag/allgemein/zammad-home-assistant-und-freifunk-das-sind-die-gewinner-des-thomas-krenn-awards-2017/) - March 2017
- [10 open source software tools for developing IoT applications](http://www.cbronline.com/news/internet-of-things/10-open-source-software-tools-developing-iot-applications/) - March 2017
-- [A Look at HASSbian: Raspberry Pi for Home Automation](http://www.piboards.com/2017/03/07/a-look-at-hassbian-raspberry-pi-for-home-automation/)- March 2017
- [Home Assistant with Paulus Schoutsen - Episode 94](https://www.podcastinit.com/episode-94-home-assistant-with-paulus-schoutsen/) - January 2017
- [Episode #11](https://pythonbytes.fm/episodes/show/11/django-2.0-is-dropping-python-2-entirely-pipenv-for-profile-functionality-and-pythonic-home-automation) at minute 15:20 by [Python Bytes](https://pythonbytes.fm/) - January 2017
- [Now you can hide your smart home on the darknet](https://www.wired.com/2016/07/now-can-hide-smart-home-darknet/) - July 2016