diff --git a/CLA.md b/CLA.md
index 4560e3be643..885090e5ec2 100644
--- a/CLA.md
+++ b/CLA.md
@@ -40,7 +40,7 @@ restriction (like related patents, trademarks, and license agreements) of which
## Attribution
-This Contributor License Agreement is adapted from the [GitHub CLA][github-cla].
+This Contributor License Agreement is adapted from the GitHub CLA.
## Signing
@@ -50,5 +50,4 @@ To sign this CLA you must first submit a pull request to a repository under the
This Contributor License Agreement (CLA) was first announced on January 21st, 2017 in [this][cla-blog] blog post and adopted January 28th, 2017.
-[github-cla]: https://cla.github.com/agreement
[cla-blog]: https://home-assistant.io/blog/2017/01/21/home-assistant-governance/
diff --git a/README.md b/README.md
index 728fc3c4a93..5fd4c6e2389 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
[](https://discord.gg/CxqDrfU)
-[](https://travis-ci.org/home-assistant/home-assistant.github.io)
[](http://www.krihelinator.xyz)
[](https://creativecommons.org/licenses/by-nc-sa/4.0/)
diff --git a/_config.yml b/_config.yml
index e18361fda98..f236e7727ea 100644
--- a/_config.yml
+++ b/_config.yml
@@ -101,8 +101,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 100
-current_patch_version: 0
-date_released: 2019-10-10
+current_patch_version: 3
+date_released: 2019-10-21
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
@@ -134,5 +134,6 @@ defaults:
# Support for files Jekyll will normally exclude
include:
- - ".well-known"
+ - "_headers"
- "_redirects"
+ - ".well-known"
diff --git a/plugins/environment_variables.rb b/plugins/environment_variables.rb
index 7d9203f1643..9611050ffd9 100644
--- a/plugins/environment_variables.rb
+++ b/plugins/environment_variables.rb
@@ -2,7 +2,7 @@ module Jekyll
class EnvironmentVariablesGenerator < Generator
def generate(site)
# https://www.netlify.com/docs/continuous-deployment/#build-environment-variables
- repo_url = ENV['REPOSITORY_URL'] || 'https://github.com/home-assistant/home-assistant.github.io'
+ repo_url = ENV['REPOSITORY_URL'] || 'https://github.com/home-assistant/home-assistant.io'
# Rewrite urls if repo url is the ssh format.
if repo_url.start_with? 'git@github.com:'
diff --git a/plugins/filters.rb b/plugins/filters.rb
index aa136bf2925..4976c732fc1 100644
--- a/plugins/filters.rb
+++ b/plugins/filters.rb
@@ -100,13 +100,10 @@ module Jekyll
if minor.length == 1
"#{major}.X"
else
- "#{major}.#{minor[0]}X"
+ "#{major}.#{minor.chop}X"
end
}.map { |v|
sort_key = v[1][-1]["sort_key"]
- if v[0] == "0.X"
- sort_key = "0.01" # Ensure 0.X is always sorted at bottom.
- end
total_new_components = 0
@@ -115,7 +112,7 @@ module Jekyll
end
{ "label" => v[0], "versions" => v[1], "new_components_count" => total_new_components, "sort_key" => sort_key }
- }.sort_by { |v| v["sort_key"] }.reverse
+ }.sort_by { |v| Gem::Version.new(v["sort_key"]) }.reverse
end
# Get version N behind current
diff --git a/sass/custom/_paulus.scss b/sass/custom/_paulus.scss
index 5db79363d7c..09d7e804da7 100644
--- a/sass/custom/_paulus.scss
+++ b/sass/custom/_paulus.scss
@@ -535,7 +535,7 @@ code {
font-size: 0.8em;
color: #1990b8;
word-spacing: normal;
- word-break: break-word;
+ word-break: normal;
word-wrap: normal;
-moz-tab-size: 4;
@@ -556,4 +556,4 @@ code {
border: 1px solid #ddd;
border-radius: 0.4em;
padding: .1em .4em
-}
+}
\ No newline at end of file
diff --git a/source/_addons/dhcp_server.markdown b/source/_addons/dhcp_server.markdown
index f3b8a0eb961..8a19901d0b9 100644
--- a/source/_addons/dhcp_server.markdown
+++ b/source/_addons/dhcp_server.markdown
@@ -86,7 +86,7 @@ hosts:
required: true
type: string
ip:
- description: Fix ip address for device.
+ description: Fix IP address for device.
required: true
type: string
{% endconfiguration %}
diff --git a/source/_addons/mariadb.markdown b/source/_addons/mariadb.markdown
index 69d08a31000..844f77a88ae 100644
--- a/source/_addons/mariadb.markdown
+++ b/source/_addons/mariadb.markdown
@@ -11,14 +11,14 @@ Set up a [MariaDB](https://mariadb.org/) SQL server. It supports multiple databa
"logins": [
{
"username": "hass",
- "host": "homeassistant",
+ "host": "%.local.hass.io",
"password": "securePassword"
}
],
"rights": [
{
"username": "hass",
- "host": "homeassistant",
+ "host": "%.local.hass.io",
"database": "homeassistant",
"grant": "ALL PRIVILEGES ON"
}
@@ -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/_addons/tellstick.markdown b/source/_addons/tellstick.markdown
index ddd4f9e844e..c618bd9f03b 100644
--- a/source/_addons/tellstick.markdown
+++ b/source/_addons/tellstick.markdown
@@ -92,7 +92,7 @@ For more information about the configuration including protocols, see the [telld
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.
+Go to Home Assistant service call in Developer tools and select.
- Service: `hassio.addon_stdin`
- Enter service Data:
diff --git a/source/_components/solarlog.markdown b/source/_components/solarlog.markdown
new file mode 100644
index 00000000000..c8c21bf73c0
--- /dev/null
+++ b/source/_components/solarlog.markdown
@@ -0,0 +1,103 @@
+---
+title: "Solar-Log Sensor"
+description: "Instructions on how to integrate Solar-Log sensors within Home Assistant."
+logo: solar-log.png
+ha_category: Sensor
+ha_release: 0.101
+ha_iot_class: Local Polling
+---
+
+The `solarlog` integration uses the open JSON interface on Solar-Log PV monitoring systems to allow you to get details from your Solar-Log device and integrate these into your Home Assistant installation.
+
+Before being able to use the integration, you have to activate the open JSON interface on your Solar-Log device. This can be activated from the Configuration | System | Access control menu of your Solar-Log device.
+When activating the interface, a red warning triangle with security information and risks is displayed.
+
+The `solarlog` integration uses the default host address "http://solar-log" if you don't specify a host. If your device isn't accessible on this address, use its IP Address instead.
+
+
+The open JSON interface is deactivated by default. To activate the open JSON interface, a user password must first be set. The password isn't needed for accessing the open JSON interface.
+
+
+## Configuration
+
+There are 2 options in configuring the `solarlog` integration:
+
+- Via the Home Assistant user interface where it will let you enter the name and host to connect to your Solar-Log device.
+- Via the Home Assistant `configuration.yaml` file.
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ platform: solarlog
+```
+
+{% configuration %}
+host:
+ description: The IP Address or host address of your Solar-Log device.
+ required: false
+ default: http://solar-log
+ type: string
+name:
+ description: Let you overwrite the name of the device in the frontend.
+ required: false
+ default: solarlog
+ type: string
+{% endconfiguration %}
+
+### Full configuration sample
+
+A full configuration entry would look like the sample below.
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: solarlog
+ name: solarlog
+ host: 192.168.1.123
+```
+
+In case you would like to convert the values, for example, to Wh instead of the default kWh, you can use the [template platform](/integrations/template/).
+
+{% raw %}
+```yaml
+# Example configuration.yaml entry for sensor template platform
+sensor:
+ - platform: template
+ sensors:
+ solarlog_yield_day_template:
+ value_template: "{{ (states('sensor.solarlog_yield_day') | float * 1000) | round(0) }}"
+```
+{% endraw %}
+
+## Sensors
+
+The following sensors are available in the library:
+
+| name | Unit | Description |
+|-----------------------|--------|:-------------------------------------------|
+| last_update | | Time of latest data update. |
+| power_ac | W | Total output PAC from all of the inverters and meters in inverter mode. |
+| power_dc | W | Total output PAC from all of the inverters. |
+| voltage_ac | V | Average voltage AC from the inverter. |
+| voltage_dc | V | Average voltage DC from the inverter |
+| yield_day | kWh | Total yield for the day from all of the inverters |
+| yield_yesterday | kWh | Total yield for the previous day from all of the inverters. |
+| yield_month | kWh | Total yield for the month from all of the inverters. |
+| yield_year | kWh | Total yield for the year from all of the inverters. |
+| yield_total | kWh | Total yield from all of the inverters. |
+| consumption_ac | kWh | Current total consumption AC from all of the consumption meters. |
+| consumption_day | kWh | Total consumption for the day from all of the consumption meters. |
+| consumption_yesterday | kWh | Total consumption for the previous day from all of the consumption meters. |
+| consumption_month | kWh | Total consumption for the month from all of the consumption meters. |
+| consumption_year | kWh | Total consumption for the year from all of the consumption meters. |
+| consumption_total | kWh | Accumulated total consumption from all consumption meters. |
+| total_power | Wp | Installed generator power. |
+| alternator_loss | W | Altenator loss (equals to power_dc - power_ac) |
+| capacity | % | Capacity (equals to power_dc / total power) |
+| efficiency | % W/Wp | Efficiency (equals to power_ac / power_dc |
+| power_available | W | Available power (equals to power_ac - consumption_ac) |
+| usage | | Usage (equals to consumption_ac / power_ac) |
+
+
+The solarlog integration is using the sunwatcher pypi package to get the data from your Solar-Log device. The last five sensors are not reported by your Solar-Log device directly, but are computed by the sunwatcher package.
+
diff --git a/source/_cookbook/automation_sun.markdown b/source/_cookbook/automation_sun.markdown
index e83bec979e7..8add13a3c5d 100644
--- a/source/_cookbook/automation_sun.markdown
+++ b/source/_cookbook/automation_sun.markdown
@@ -17,7 +17,7 @@ automation:
entity_id: group.all_devices
state: home
action:
- service: homeassistant.turn_on
+ service: light.turn_on
entity_id: group.living_room_lights
```
diff --git a/source/_cookbook/configuration_yaml_by_cbulock.markdown b/source/_cookbook/configuration_yaml_by_cbulock.markdown
deleted file mode 100644
index bf5d94ca225..00000000000
--- a/source/_cookbook/configuration_yaml_by_cbulock.markdown
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "Configuration.yaml by cbulock"
-description: ""
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/cbulock/home-assistant-configs
----
diff --git a/source/_cookbook/configuration_yaml_by_chriskacerguis.markdown b/source/_cookbook/configuration_yaml_by_chriskacerguis.markdown
deleted file mode 100644
index b82a2830aab..00000000000
--- a/source/_cookbook/configuration_yaml_by_chriskacerguis.markdown
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "Configuration.yaml by chriskacerguis"
-description: ""
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/chriskacerguis/Home-AssistantConfig
----
diff --git a/source/_cookbook/configuration_yaml_by_ciquattrofpv.markdown b/source/_cookbook/configuration_yaml_by_ciquattrofpv.markdown
deleted file mode 100644
index f9bfa2c35b1..00000000000
--- a/source/_cookbook/configuration_yaml_by_ciquattrofpv.markdown
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "Configuration.yaml by Ciquattro"
-description: ""
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/CiquattroFPV/Homeassistant-Example-Config
----
diff --git a/source/_cookbook/configuration_yaml_by_renemarc.markdown b/source/_cookbook/configuration_yaml_by_renemarc.markdown
deleted file mode 100644
index f43f6281155..00000000000
--- a/source/_cookbook/configuration_yaml_by_renemarc.markdown
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "Configuration.yaml by René-Marc Simard"
-description: ""
-ha_category: Example configuration.yaml
-ha_external_link: https://github.com/renemarc/home-assistant-config
----
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/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown
index 7a1beb312eb..3caf90f7caf 100644
--- a/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown
+++ b/source/_cookbook/restart_ha_if_wemo_switch_is_not_detected.markdown
@@ -29,9 +29,11 @@ notify:
- platform: pushbullet
api_key: ***
name: pushbullet
-
+
+wemo:
+ discovery: true
+
switch:
- - platform: wemo
- platform: mqtt
state_topic: "home/killhass"
command_topic: "home/killhass"
diff --git a/source/_cookbook/turn_on_light_for_10_minutes_when_motion_detected.markdown b/source/_cookbook/turn_on_light_for_10_minutes_when_motion_detected.markdown
index 97a5c2b9bcb..4afb1e49785 100644
--- a/source/_cookbook/turn_on_light_for_10_minutes_when_motion_detected.markdown
+++ b/source/_cookbook/turn_on_light_for_10_minutes_when_motion_detected.markdown
@@ -16,7 +16,7 @@ automation:
entity_id: sensor.motion_sensor
to: 'on'
action:
- service: homeassistant.turn_on
+ service: light.turn_on
entity_id: light.kitchen_light
- alias: Turn off kitchen light 10 minutes after last movement
@@ -27,7 +27,7 @@ automation:
for:
minutes: 10
action:
- service: homeassistant.turn_off
+ service: light.turn_off
entity_id: light.kitchen_light
```
@@ -41,7 +41,7 @@ automation:
entity_id: sensor.motion_sensor, binary_sensor.front_door, binary_sensor.doorbell
to: 'on'
action:
- - service: homeassistant.turn_on
+ - service: light.turn_on
data:
entity_id:
- light.hallway_0
@@ -57,7 +57,7 @@ automation:
event_data:
entity_id: timer.hallway
action:
- service: homeassistant.turn_off
+ service: light.turn_off
data:
entity_id:
- light.hallway_0
@@ -99,4 +99,4 @@ You can also restrict lights from turning on based on time of day and implement
entity_id: group.office_lights
data:
transition: 160
-```
\ No newline at end of file
+```
diff --git a/source/_data/glossary.yml b/source/_data/glossary.yml
index 25957403526..2ba4458766f 100644
--- a/source/_data/glossary.yml
+++ b/source/_data/glossary.yml
@@ -2,16 +2,22 @@
description: "[Actions](/docs/automation/action/) are events that fires once all triggers and conditions have been met."
- topic: Automation
description: "[Automations](/docs/automation/) offer the capability to call a service based on a simple or complex trigger. Automation allows a condition such as a sunset to cause an event, such as a light turning on."
+- topic: Binary sensor
+ description: "A [binary sensor](/integrations/binary_sensor) returns information about things that only have two states - such as on or off."
- topic: Component
description: "Integrations (see below) used to be known as components."
- topic: Condition
description: "[Conditions](/docs/scripts/conditions/) are an optional part of an automation that will prevent an action from firing if they are not met."
- topic: Cookbook
description: "The [Cookbook](/cookbook/) contains a set of configuration examples of Home Assistant from the community."
+- topic: Cover
+ description: "[Covers](/integrations/cover) are devices such as blinds, garage doors, etc than can be opened and closed and optionally set to a specific position."
- topic: Customize
description: "[Customization](/docs/configuration/customizing-devices/) allows you to overwrite the default parameter of your devices in the configuration."
- topic: Device
description: "A device is usually a physical unit which can do or observe something."
+- topic: Device tracker
+ description: "[Device trackers](/integrations/device_tracker) are used to track the presence, or location, of a device."
- topic: Discovery
description: "[Discovery](/integrations/discovery/) is the automatic setup of zeroconf/mDNS and uPnP devices after they are discovered."
- topic: Entity
@@ -30,6 +36,10 @@
description: "[Integrations](/integrations/) provide the core logic for the functionality in Home Assistant. Like `notify` provides sending notifications."
- topic: Lovelace
description: "[Lovelace](/lovelace/) is the name of the current frontend."
+- topic: Light
+ description: "A [light](/integrations/light) has a brightness you can control, and optionally color temperature or RGB color control."
+- topic: Notification
+ description: "You can use [notifications](/integrations/#notifications) to send messages, pictures, and more, to devices."
- topic: Packages
description: "[Packages](/docs/configuration/packages/) allow you to bundle different component configurations together."
- topic: Platform
@@ -38,11 +48,17 @@
description: "[Scenes](/integrations/scene/) capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red."
- topic: Script
description: "[Scripts](/docs/scripts/) are components that allow users to specify a sequence of actions to be executed by Home Assistant when turned on."
+- topic: Sensor
+ description: "[Sensors](/integrations/sensor) return information about a thing, for instance the level of water in a tank."
- topic: Service
description: "[Services](/docs/scripts/service-calls/) are called to perform actions."
+- topic: Switch
+ description: "[Switches](/integrations/switch) are things that have two states you can select between, such as turning on or off a socket."
- topic: Template
description: "A [template](/docs/automation/templating/) is an automation definition that can include variables for the service or data from the trigger values. This allows automations to generate dynamic actions."
- topic: Trigger
description: "A [trigger](/docs/automation/trigger/) is a set of values or conditions of a platform that are defined to cause an automation to run."
+- topic: TTS
+ description: "TTS ([text to speech](/integrations/tts) allows Home Assistant to talk to you."
- topic: Zone
description: "[Zones](/integrations/zone/) are areas that can be used for presence detection."
diff --git a/source/_docs/authentication/providers.markdown b/source/_docs/authentication/providers.markdown
index 3c2ba990e3c..74aa2347258 100644
--- a/source/_docs/authentication/providers.markdown
+++ b/source/_docs/authentication/providers.markdown
@@ -117,7 +117,7 @@ homeassistant:
- group: system-users
```
-First note, `trusted_users` configuration need you use `user id`, you can find it through Configuration -> Users -> View User Detail. The `trusted_users` configuration will not validate the existing of the user, so please make sure you have put in correct user id by yourself.
+First note, for `trusted_users` configuration you need to use `user id`, which you can find through Configuration -> Users -> View User Detail. The `trusted_users` configuration will not validate the existing of the user, so please make sure you have put in the correct user id by yourself.
Second note, a trusted user with an IPv6 address must put the IPv6 address in quotes as shown.
@@ -127,7 +127,7 @@ Specially, you can use `group: GROUP_ID` to assign all users in certain `user gr
#### Skip Login Page Examples
-This is a feature to allow you bring back some of the experience before the user system be implemented. You can directly jump to main page if you are accessing from trusted networks, the `allow_bypass_login` is on, and you have ONLY ONE available user to choose in the login form.
+This is a feature to allow you bring back some of the experience before the user system was implemented. You can directly jump to main page if you are accessing from trusted networks, the `allow_bypass_login` is on, and you have ONLY ONE available user to choose in the login form.
```yaml
# assuming you have only one non-system user
@@ -142,7 +142,7 @@ homeassistant:
- type: homeassistant
```
-Assuming you have only the owner created though onboarding process, no other users ever created. The above example configuration will allow you directly access Home Assistant main page if you access from your internal network (192.168.0.0/24) or from localhost (127.0.0.1). You will get a login abort error, then you can change to use HomeAsssitant Authentication Provider to login, if you access your Home Assistant instance from outside network.
+Assuming you have only the owner created though onboarding process, no other users ever created. The above example configuration will allow you directly access Home Assistant main page if you access from your internal network (192.168.0.0/24) or from localhost (127.0.0.1). If you get a login abort error, then you can change to use HomeAsssitant Authentication Provider to login, if you access your Home Assistant instance from outside network.
### Command Line
diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown
index a3189cc8200..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:
@@ -279,6 +279,22 @@ The `for` template(s) will be evaluated when the `value_template` becomes `true`
Rendering templates with time (`now()`) is dangerous as trigger templates only update based on entity state changes.
+
+As an alternative, providing you include the sensor [time](/integrations/time_date/) in your configuration, you can use the following template:
+
+{% raw %}
+
+```yaml
+automation:
+ trigger:
+ platform: template
+ value_template: "{{ (as_timestamp(states.sensor.time.last_changed) - as_timestamp(states.YOUR.ENTITY.last_changed)) > 300 }}"
+```
+
+{% endraw %}
+
+which will evaluate to `True` if `YOUR.ENTITY` changed more than 300 seconds ago.
+
### Time trigger
The time trigger is configured to run once at a specific point in time each day.
diff --git a/source/_docs/automation/troubleshooting.markdown b/source/_docs/automation/troubleshooting.markdown
index f72f410ff0c..5085acd0a12 100644
--- a/source/_docs/automation/troubleshooting.markdown
+++ b/source/_docs/automation/troubleshooting.markdown
@@ -28,7 +28,7 @@ Please note that if you click on **Trigger** of an automation in the frontend, *
All this makes that Trigger feature pretty limited and nearly useless for debugging purposes so you need to find another way.
Make sure you check and adapt to your circumstances appropriate examples from Automation Trigger, Conditions and Actions.
-It is also useful to go to **Configuration** -> **Server Control** and click on **Check Config** button in Configuration validation section to make sure there are no syntax errors before restarting Home Assistant.
+It is also useful to go to **Configuration** -> **Server Control** and click on **Check Config** button in Configuration validation section to make sure there are no syntax errors before restarting Home Assistant. In order for **Check Config** to be visible, you must enable **Advanced Mode** on your user profile.
If your automation uses templates in any part, you can do the following to make sure it works as expected:
diff --git a/source/_docs/configuration/basic.markdown b/source/_docs/configuration/basic.markdown
index ff2bf2c2943..0e16aa27714 100644
--- a/source/_docs/configuration/basic.markdown
+++ b/source/_docs/configuration/basic.markdown
@@ -4,7 +4,7 @@ description: "Setting up the basic info of Home Assistant."
redirect_from: /getting-started/basic/
---
-As part of the default onboarding proccess, Home Assistant can detect your location from IP address geolocation. Home Assistant will automatically select a temperature unit and time zone based on this location. You may adjust this during onboarding, or afterwards at Configuration -> General.
+As part of the default onboarding process, Home Assistant can detect your location from IP address geolocation. Home Assistant will automatically select a temperature unit and time zone based on this location. You may adjust this during onboarding, or afterwards at Configuration -> General.
If you prefer YAML, you can add the following information to your `configuration.yaml`:
@@ -63,3 +63,7 @@ whitelist_external_dirs:
required: false
type: list
{% endconfiguration %}
+
+### Reload Core Service
+
+Home Assistant offers a service to reload the core configuration while Home Assistant is running called `homeassistant.reload_core_config`. This allows you to change any of the above sections and see it being applied without having to restart Home Assistant. To call this service, go to the "Service" tab under Developer Tools, select the `homeassistant.reload_core_config` service and click the "CALL SERVICE" button. Alternatively, you can press the "Reload Core" button under Configuration > Server Control.
diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown
index 5974a419d58..04eea1c2158 100644
--- a/source/_docs/configuration/customizing-devices.markdown
+++ b/source/_docs/configuration/customizing-devices.markdown
@@ -58,7 +58,7 @@ entity_picture:
required: false
type: string
icon:
- description: "Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://cdn.materialdesignicons.com/4.4.95/)). Prefix name with `mdi:`, ie `mdi:home`. Note: Newer icons may not yet be available in the current Home Assistant release. You can check when an icon was added to MaterialDesignIcons.com at [MDI History](https://materialdesignicons.com/history)."
+ description: "Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://cdn.materialdesignicons.com/4.5.95/)). Prefix name with `mdi:`, ie `mdi:home`. Note: Newer icons may not yet be available in the current Home Assistant release. You can check when an icon was added to MaterialDesignIcons.com at [MDI History](https://materialdesignicons.com/history)."
required: false
type: string
assumed_state:
diff --git a/source/_docs/configuration/packages.markdown b/source/_docs/configuration/packages.markdown
index 880dce51a88..d3ba7e9dba0 100644
--- a/source/_docs/configuration/packages.markdown
+++ b/source/_docs/configuration/packages.markdown
@@ -82,7 +82,7 @@ homeassistant:
```
This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames.
-See the documentation about [splitting the configuration](/docs/configuration/splitting_configuration/) for more information about `!include_dir_named` and other include statements that might be helpful. The benefit of this approach is to pull all configurations required to integrate a system, into one file, rather than accross several.
+See the documentation about [splitting the configuration](/docs/configuration/splitting_configuration/) for more information about `!include_dir_named` and other include statements that might be helpful. The benefit of this approach is to pull all configurations required to integrate a system, into one file, rather than across several.
### Customizing entities with packages
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..5df06230c4f 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,10 +175,59 @@ 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).
+### To/From JSON
+
+The `to_json` filter serializes an object to a JSON string. In some cases, it may be necessary to format a JSON string for use with a webhook, as a parameter for command line utilities or any number of other applications. This can be complicated in a template, especially when dealing with escaping special characters. Using the `to_json` filter, this is handled automatically.
+
+The `from_json` filter operates similarly, but in the other direction, de-serializing a JSON string back into an object.
+
+### To/From JSON examples
+
+In this example, the special character '°' will be automatically escaped in order to produce valid JSON. The difference between the stringified object and the actual JSON is evident.
+
+*Template*
+
+{% raw %}
+```text
+{% set temp = {'temperature': 25, 'unit': '°C'} %}
+stringified object: {{ temp }}
+object|to_json: {{ temp|to_json }}
+```
+{% endraw %}
+
+*Output*
+
+{% raw %}
+```text
+stringified object: {'temperature': 25, 'unit': '°C'}
+object|to_json: {"temperature": 25, "unit": "\u00b0C"}
+```
+{% endraw %}
+
+Conversely, `from_json` can be used to de-serialize a JSON string back into an object to make it possible to easily extract usable data.
+
+*Template*
+
+{% raw %}
+```text
+{% set temp = '{"temperature": 25, "unit": "\u00b0C"}'|from_json %}
+The temperature is {{ temp.temperature }}{{ temp.unit }}
+```
+{% endraw %}
+
+*Output*
+
+{% raw %}
+```text
+The temperature is 25°C
+```
+{% endraw %}
+
### Distance
- `distance()` will measure the distance in kilometers between home, entity, coordinates.
@@ -262,7 +311,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/configuration/troubleshooting.markdown b/source/_docs/configuration/troubleshooting.markdown
index 392794099dc..6c0b22d35cd 100644
--- a/source/_docs/configuration/troubleshooting.markdown
+++ b/source/_docs/configuration/troubleshooting.markdown
@@ -18,11 +18,12 @@ If you have incorrect entries in your configuration files you can use the [`chec
#### Problems with the configuration
-One of the most common problems with Home Assistant is an invalid `configuration.yaml` file.
+One of the most common problems with Home Assistant is an invalid `configuration.yaml` or other configuration file.
- You can test your configuration using the command line with: `hass --script check_config`.
- On Hass.io you can use the [hassio command](/hassio/commandline/#home-assistant): `hassio homeassistant check`.
- On Docker you can use `docker exec home-assistant python -m homeassistant --script check_config --config /config` - where `homeassistant` is the name of the container.
+ - The configuration files, including `configuration.yaml` must be UTF-8 encoded. If you see error like `'utf-8' codec can't decode byte`, edit the offending configuration and re-save it as UTF-8.
- You can verify your configuration's yaml structure using [this online YAML parser](http://yaml-online-parser.appspot.com/) or [YAML Lint](http://www.yamllint.com/).
- To learn more about the quirks of YAML, read [YAML IDIOSYNCRASIES](https://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html) by SaltStack (the examples there are specific to SaltStack, but do explain YAML issues well).
diff --git a/source/_docs/configuration/yaml.markdown b/source/_docs/configuration/yaml.markdown
index 6127764a2b9..ea218828c3b 100644
--- a/source/_docs/configuration/yaml.markdown
+++ b/source/_docs/configuration/yaml.markdown
@@ -4,7 +4,7 @@ description: "Details about YAML to configure Home Assistant."
redirect_from: /getting-started/yaml/
---
-Home Assistant uses the [YAML](http://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations.
+Home Assistant uses the [YAML](https://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations.
For each integration that you want to use in Home Assistant, you add code in your `configuration.yaml` file to specify its settings.
The following example entry specifies that you want to use the [notify component](/integrations/notify) with the [pushbullet platform](/integrations/pushbullet).
diff --git a/source/_docs/ecosystem/apache.markdown b/source/_docs/ecosystem/apache.markdown
index 295b64f588c..2c535697c12 100644
--- a/source/_docs/ecosystem/apache.markdown
+++ b/source/_docs/ecosystem/apache.markdown
@@ -14,7 +14,7 @@ This is useful if you want to have:
#### Subdomain
-So you already have a working Apache server available at example.org. Your Home Assistant is correctly working on this web server and available at http://localhost:8123
+So you already have a working Apache server available at example.org. Your Home Assistant is correctly working on this web server and available at `http://localhost:8123`
Enable [`mod_proxy_wstunnel`](https://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html) by running if you encounter issues while serving Home Assistant through your proxy:
@@ -22,7 +22,7 @@ Enable [`mod_proxy_wstunnel`](https://httpd.apache.org/docs/2.4/mod/mod_proxy_ws
$ sudo a2enmod proxy_wstunnel
```
-To be able to access to your Home Assistant instance by using https://home.example.org, add the following file to `/etc/httpd/conf/extra/` as `hass.conf`
+To be able to access to your Home Assistant instance by using `https://home.example.org`, add the following file to `/etc/httpd/conf/extra/` as `hass.conf`
```text
@@ -68,9 +68,9 @@ In case you are getting occasional HTTP 504 error messages ("Gateway Timeout") o
#### Multiple Instance
-You already have Home Assistant running on http://localhost:8123 and available at home.example.org as describe before. The configuration file for this Home Assistant is available in `/home/alice/.homeassistant/configuration.yaml`
+You already have Home Assistant running on `http://localhost:8123` and available at home.example.org as describe before. The configuration file for this Home Assistant is available in `/home/alice/.homeassistant/configuration.yaml`
-You want another instance available at https://countryside.example.org
+You want another instance available at `https://countryside.example.org`
You can either :
* Create a new user, `bob`, to hold the configuration file in `/home/bob/.homeassistant/configuration.yaml` and run Home Assistant as this new user
@@ -84,9 +84,9 @@ http:
...
```
-Start Home Assistant: Now, you have another instance running on http://localhost:8124
+Start Home Assistant: Now, you have another instance running on `http://localhost:8124`
-To access this instance by using https://countryside.example.org add to `/etc/httpd/conf/extra/hass.conf`
+To access this instance by using `https://countryside.example.org` add to `/etc/httpd/conf/extra/hass.conf`
```text
diff --git a/source/_docs/ecosystem/backup/backup_github.markdown b/source/_docs/ecosystem/backup/backup_github.markdown
index 1d0845c6085..967585395f0 100644
--- a/source/_docs/ecosystem/backup/backup_github.markdown
+++ b/source/_docs/ecosystem/backup/backup_github.markdown
@@ -159,7 +159,7 @@ Example .travis.yml
```yaml
language: python
python:
- - "3.5"
+ - "3.7"
before_install:
- mv travis_secrets.yaml secrets.yaml
- sudo apt-get install -y libudev-dev
diff --git a/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown b/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown
index 4ecb0bf29c8..dfe03dd62d8 100644
--- a/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown
+++ b/source/_docs/ecosystem/certificates/tls_domain_certificate.markdown
@@ -48,12 +48,12 @@ Press Enter to Continue
If your router uses DNSMasq (for example DDWRT) add the following line to DNSMasq options:
```text
-address=/mydomain.com/
+address=/mydomain.com/
```
### Edit your Home Assistant configuration to use your certificates
-The [`http`](/integrations/http/) section must contain the full path to the needed files.
+The [`http`](/integrations/http/) section must contain the full path to the needed files.
```yaml
http:
diff --git a/source/_docs/ecosystem/nginx_subdomain.markdown b/source/_docs/ecosystem/nginx_subdomain.markdown
index 49bd7ff8ca8..c749b49d5ee 100644
--- a/source/_docs/ecosystem/nginx_subdomain.markdown
+++ b/source/_docs/ecosystem/nginx_subdomain.markdown
@@ -13,9 +13,9 @@ This is useful if you want to have:
#### Subdomain
-So you already have a working NGINX server available at example.org. Your Home Assistant is correctly working on this web server and available at http://localhost:8123
+So you already have a working NGINX server available at example.org. Your Home Assistant is correctly working on this web server and available at `http://localhost:8123`
-To be able to access to your Home Assistant instance by using https://home.example.org, create file `/etc/nginx/sites-enabled/homeassistant` (or symlink via `/etc/nginx/sites-available`) and add the following:
+To be able to access to your Home Assistant instance by using `https://home.example.org`, create file `/etc/nginx/sites-enabled/homeassistant` (or symlink via `/etc/nginx/sites-available`) and add the following:
```nginx
server {
@@ -52,9 +52,9 @@ If you don't want HTTPS, you can change `listen 443 ssl` to `listen 80` or bette
#### Multiple Instance
-You already have Home Assistant running on http://localhost:8123 and available at home.example.org as describe before. The configuration file for this Home Assistant is available in `/home/alice/.homeassistant/configuration.yaml`.
+You already have Home Assistant running on `http://localhost:8123` and available at home.example.org as describe before. The configuration file for this Home Assistant is available in `/home/alice/.homeassistant/configuration.yaml`.
-You want another instance available at https://countryside.example.org
+You want another instance available at `https://countryside.example.org`
You can either :
* Create a new user, `bob`, to hold the configuration file in `/home/bob/.homeassistant/configuration.yaml` and run Home Assistant as this new user
@@ -68,9 +68,9 @@ http:
...
```
-Start Home Assistant: Now, you have another instance running on http://localhost:8124
+Start Home Assistant: Now, you have another instance running on `http://localhost:8124`
-To access this instance by using https://countryside.example.org create the file `/etc/nginx/sites-enabled/countryside.example.org` (or symlink via `/etc/nginx/sites-available`) and add the following:
+To access this instance by using `https://countryside.example.org` create the file `/etc/nginx/sites-enabled/countryside.example.org` (or symlink via `/etc/nginx/sites-available`) and add the following:
```nginx
server {
diff --git a/source/_docs/ecosystem/notebooks/installation.markdown b/source/_docs/ecosystem/notebooks/installation.markdown
index 08600ada88d..0afed74486d 100644
--- a/source/_docs/ecosystem/notebooks/installation.markdown
+++ b/source/_docs/ecosystem/notebooks/installation.markdown
@@ -4,7 +4,7 @@ description: "Setup and first steps for Jupyter Notebooks and Home Assistant."
redirect_from: /ecosystem/notebooks/installation/
---
-To run Jupyter Notebooks locally, an installation of [Jupyter](http://jupyter.org/) is needed. Consider running Jupyter in a [virtualenv](/getting-started/installation-virtualenv/) in order to properly manage dependencies.
+To run Jupyter Notebooks locally, an installation of [Jupyter](http://jupyter.org/) is needed. Consider running Jupyter in a [virtualenv](/docs/installation/virtualenv/) in order to properly manage dependencies.
```bash
$ pip3 install jupyter matplotlib
@@ -27,7 +27,7 @@ $ jupyter notebook
[I 17:22:18.922 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
```
-Open [http://localhost:8888/](http://localhost:8888/) in your browser. Press "New" -> "Python3" to open a new notebook.
+Open `http://localhost:8888/` in your browser. Press "New" -> "Python3" to open a new notebook.
@@ -43,5 +43,3 @@ The downloadable version of this notebook is available in the [Home Assistant no
As you can see is the Jupyter notebook workflow is very similar to working directly with a Python shell. One advantage of notebooks is that you can go back and forth between cells as you please and save your work.
-
-
diff --git a/source/_docs/ecosystem/synology.markdown b/source/_docs/ecosystem/synology.markdown
index bfb3986552f..d9df9e24cf4 100644
--- a/source/_docs/ecosystem/synology.markdown
+++ b/source/_docs/ecosystem/synology.markdown
@@ -11,7 +11,7 @@ Synology NAS are the perfect companion to running Home Assistant. But by default
Starting with DSM 6.2.1+, you can create "custom headers" in the Application Portal:
* Go to Application Portal and edit your entry
* Click on "custom headers" tab and click the dropdon on the "Create" button
-* Select "Websocket". This will automaticly add the required headers for websocket to this reverse proxy.
+* Select "Websocket". This will automatically add the required headers for websocket to this reverse proxy.
* Click "OK". Home Assistant should work now with the reverse proxy.
It's not necessary anymore to change the template anymore since Version DSM 6.2.1. Changing the `Portal.mustache` is not recommended! You should use the following part only if you're using a Version before DSM 6.2.1. on your Synology.
diff --git a/source/_docs/frontend/browsers.markdown b/source/_docs/frontend/browsers.markdown
index a6bb3be42f6..36261fcbb09 100644
--- a/source/_docs/frontend/browsers.markdown
+++ b/source/_docs/frontend/browsers.markdown
@@ -71,16 +71,15 @@ There are reports that devices running with iOS prior to iOS 10, especially old
[elinks]: http://elinks.or.cz/
[Epiphany]: https://wiki.gnome.org/Apps/Web
[Firefox]: https://www.mozilla.org/en-US/firefox/
-[IE]: http://windows.microsoft.com/en-us/internet-explorer/download-ie
+[IE]: https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads
[Iridium]: https://iridiumbrowser.de/
[Konqueror]: https://konqueror.org/
-[Lynx]: http://lynx.browser.org/
-[Midori]: http://midori-browser.org/
-[Opera]: http://www.opera.com/
-[Safari]: http://www.apple.com/safari/
-[surf]: http://surf.suckless.org/
+[Lynx]: https://lynx.browser.org/
+[Midori]: https://www.midori-browser.org/
+[Opera]: https://www.opera.com/
+[Safari]: https://www.apple.com/safari/
+[surf]: https://surf.suckless.org/
[Tor Browser]: https://www.torproject.org/
-[Uzbl]: http://www.uzbl.org/
+[Uzbl]: https://www.uzbl.org/
[w3m]: http://w3m.sourceforge.net/
[Waterfox]: https://www.waterfoxproject.org
-
diff --git a/source/_docs/installation/armbian.markdown b/source/_docs/installation/armbian.markdown
index f26dfca7c2b..3c61119fc87 100644
--- a/source/_docs/installation/armbian.markdown
+++ b/source/_docs/installation/armbian.markdown
@@ -24,7 +24,7 @@ hass --open-ui
Running these commands will:
- Install Home Assistant
- - Launch Home Assistant and serve the web interface on [http://localhost:8123](http://localhost:8123)
+ - Launch Home Assistant and serve the web interface on `http://localhost:8123`
- the configuration files will be created in /home/{user}/.homeassistant
diff --git a/source/_docs/installation/centos.markdown b/source/_docs/installation/centos.markdown
index 38a0d1aba1c..de9a401d718 100644
--- a/source/_docs/installation/centos.markdown
+++ b/source/_docs/installation/centos.markdown
@@ -52,22 +52,23 @@ You will need to enable the software collection each time you log on before you
### Systemd with Software Collections
-To autostart Home Assistant using systemd follow the main [instructions](/docs/autostart/systemd/) and adjust the template as follows:
+To autostart Home Assistant using systemd and a python36 (from SCL) virtual environment, follow the main [instructions](/docs/autostart/systemd/) and adjust the template as follows:
+Filename: `/etc/systemd/system/home-assistant@homeassistant.service`
```txt
[Unit]
Description=Home Assistant
-After=network.target
+After=network-online.target
[Service]
Type=simple
-User=homeassistant
-# Make sure the virtualenv Python binary is used
-Environment=VIRTUAL_ENV="/srv/homeassistant"
-Environment=PATH="$VIRTUAL_ENV/bin:$PATH"
-# ExecStart using software collection:
-ExecStart=/usr/bin/scl enable rh-python36 -- /srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
+# %i means the username is derrived from the filename.
+User=%i
+# a python venv for hass exists in /opt/hass/venv
+ExecStart=/srv/homeassistant/bin/hass
[Install]
WantedBy=multi-user.target
```
+
+This works because the Python virtual environment was created using the SCL environment, thus there is no need to activate SCL.
diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown
index d5430e0c6bc..027ae1c2fd8 100644
--- a/source/_docs/installation/docker.markdown
+++ b/source/_docs/installation/docker.markdown
@@ -36,7 +36,7 @@ If you wish to browse directly to `http://localhost:8123` from your macOS host,
$ docker run --init -d --name="home-assistant" -e "TZ=America/Los_Angeles" -v /PATH_TO_YOUR_CONFIG:/config -p 8123:8123 homeassistant/home-assistant:stable
```
-Alternatively, `docker-compose` works with any recent release of `docker-ce` on macOS. Note that (further down this page) we provide an example `docker-compose.yml` however it differs from the `docker run` example above. To make the .yml directives match, you would need to make _two_ changes: first add the equivalent `ports:` directive, then _remove_ the `network_mode: host` section. This is because `Port mapping is incompatible with network_mode: host:`. More details can be found at [Docker networking docs](https://docs.docker.com/engine/userguide/networking/#default-networks). Note also the `/dev/tty*` device name used by your Arduino etc. devices will differ from the Linux example, so the compose `mount:` may require updates.
+Alternatively, `docker-compose` works with any recent release of `docker-ce` on macOS. Note that (further down this page) we provide an example `docker-compose.yml` however it differs from the `docker run` example above. To make the .yml directives match, you would need to make _two_ changes: first add the equivalent `ports:` directive, then _remove_ the `network_mode: host` section. This is because `Port mapping is incompatible with network_mode: host:`. More details can be found at [Docker networking docs](https://docs.docker.com/network/). Note also the `/dev/tty*` device name used by your Arduino etc. devices will differ from the Linux example, so the compose `mount:` may require updates.
### Windows
@@ -51,11 +51,11 @@ netsh interface portproxy add v4tov4 listenaddress=192.168.1.10 listenport=8123
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 connectaddress=10.0.50.2 connectport=8123
```
-This will let you access your Home Assistant portal from , and if you forward port 8123 on your router to your machine IP, the traffic will be forwarded on through to the docker container.
+This will let you access your Home Assistant portal from `http://localhost:8123`, and if you forward port 8123 on your router to your machine IP, the traffic will be forwarded on through to the docker container.
### Synology NAS
-As Synology within DSM now supports Docker (with a neat UI), you can simply install Home Assistant using docker without the need for command-line. For details about the package (including compatibility-information, if your NAS is supported), see
+As Synology within DSM now supports Docker (with a neat UI), you can simply install Home Assistant using docker without the need for command-line. For details about the package (including compatibility-information, if your NAS is supported), see
The steps would be:
* Install "Docker" package on your Synology NAS
diff --git a/source/_docs/installation/fedora.markdown b/source/_docs/installation/fedora.markdown
index 0db6af933c9..ed399d8517c 100644
--- a/source/_docs/installation/fedora.markdown
+++ b/source/_docs/installation/fedora.markdown
@@ -11,12 +11,6 @@ Install the development package of Python.
sudo dnf -y install python3-devel redhat-rpm-config
```
-and Home Assistant itself.
-
-```bash
-pip3 install homeassistant
-```
-
To isolate the Home Assistant installation a [`venv`](https://docs.python.org/3/library/venv.html) is handy. First create a new directory to store the installation and adjust the permissions.
```bash
@@ -24,19 +18,20 @@ sudo mkdir -p /opt/homeassistant
sudo useradd -rm homeassistant -G dialout
sudo chown -R homeassistant:homeassistant /opt/homeassistant
```
+
Now switch to the new directory, setup the `venv`, and activate it.
```bash
sudo -u homeassistant -H -s
cd /opt/homeassistant
-python3.6 -m venv .
+python3.8 -m venv .
source bin/activate
```
Install Home Assistant itself.
```bash
-$ pip3 install homeassistant colorlog
+pip3 install homeassistant colorlog
```
Check the [autostart](/docs/autostart/systemd/) section in the documentation for further details and the [Firewall section](/docs/installation/troubleshooting/#no-access-to-the-frontend) if you want to access your Home Assistant installation.
diff --git a/source/_docs/installation/freenas.markdown b/source/_docs/installation/freenas.markdown
index e7057b16d6a..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
@@ -14,20 +20,15 @@ pw groupadd -n homeassistant -g 8123
echo 'homeassistant:8123:8123::::::/bin/csh:' | adduser -f -
```
-Install the necessary Python packages:
+Install the necessary Python packages and virtualenv:
```bash
pkg update
pkg upgrade
pkg install -y python37 py37-sqlite3 ca_root_nss
python3.7 -m ensurepip
-```
-
-Create the configuration directory:
-
-```bash
-mkdir -p /usr/local/homeassistant
-chown -R homeassistant:homeassistant /usr/local/homeassistant
+pip3 install --upgrade pip
+pip3 install --upgrade virtualenv
```
Create the installation directory:
@@ -45,11 +46,38 @@ cd /usr/local/share/homeassistant
virtualenv -p python3.7 .
source ./bin/activate.csh
pip3 install homeassistant
+```
+
+While still in the `venv`, start Home Assistant to populate the configuration directory.
+
+```bash
+hass --open-ui
+```
+
+Wait until you see:
+
+```bash
+(MainThread) [homeassistant.core] Starting Home Assistant
+```
+
+Then escape and exit the `venv`.
+
+```bash
deactivate
exit
```
-Create an `rc.d` script for the system-level service that enables Home Assistant to start when the jail starts. Create a file at `/usr/local/etc/rc.d/homeassistant` with the following contents:
+Create the directory and the `rc.d` script for the system-level service that enables Home Assistant to start when the jail starts.
+
+```bash
+mkdir /usr/local/etc/rc.d/
+```
+
+Then create a file at `/usr/local/etc/rc.d/homeassistant` and insert the content below:
+
+```bash
+vi /usr/local/etc/rc.d/homeassistant
+```
```bash
#!/bin/sh
@@ -71,7 +99,7 @@ Create an `rc.d` script for the system-level service that enables Home Assistant
# empty string as this will cause the daemon to run with group wheel.
# Default: homeassistant
# homeassistant_config_dir: Directory where config files are located.
-# Default: /usr/local/homeassistant
+# Default: /home/homeassistant/.homeassistant
# homeassistant_install_dir: Directory where Home Assistant is installed.
# Default: /usr/local/share/homeassistant
#
@@ -89,7 +117,7 @@ load_rc_config ${name}
: ${homeassistant_enable:="NO"}
: ${homeassistant_user:="homeassistant"}
: ${homeassistant_group:="homeassistant"}
-: ${homeassistant_config_dir:="/usr/local/homeassistant"}
+: ${homeassistant_config_dir:="/home/homeassistant/.homeassistant"}
: ${homeassistant_install_dir:="/usr/local/share/homeassistant"}
command="/usr/sbin/daemon"
@@ -127,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:
@@ -144,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/_docs/installation/hassbian/installation.markdown b/source/_docs/installation/hassbian/installation.markdown
index b10fe4f6afa..a5cfce1bf89 100644
--- a/source/_docs/installation/hassbian/installation.markdown
+++ b/source/_docs/installation/hassbian/installation.markdown
@@ -13,7 +13,7 @@ One of the easiest ways to install Home Assistant on your Raspberry Pi Zero, 2,
-Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar.
+Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/documentation/faqs/#pi-power) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar.
@@ -22,7 +22,7 @@ Additional information is available in this [video](https://www.youtube.com/watc
After initial boot an installer will run in the background, this will download and install the newest version of [hassbian-config](https://github.com/home-assistant/hassbian-scripts) and Home-Assistant, this takes around 10 minutes to complete, after it has finished, you will be prompted to login: `hassbian login:`. Installation is complete at this point. The default username is `pi` and the password is `raspberry`.
-Open a browser on a device that's connected to the same network as your Raspberry Pi and point it to Home Assistant at [http://hassbian.local:8123]. If you want to login via SSH, the default username is `pi` and password is `raspberry` (please change this by running `passwd`). The Home Assistant configuration is located at `/home/homeassistant/.homeassistant/`.
+Open a browser on a device that's connected to the same network as your Raspberry Pi and point it to Home Assistant at `http://hassbian.local:8123`. If you want to login via SSH, the default username is `pi` and password is `raspberry` (please change this by running `passwd`). The Home Assistant configuration is located at `/home/homeassistant/.homeassistant/`.
If you find that the web page is not reachable after 30 minutes or so, check that you have files in `/home/homeassistant/.homeassistant/`, if there are no files in this location then run the installer manually using this command: `sudo systemctl start install_homeassistant.service`.
diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown
index 982fd32faac..485b30c93ef 100644
--- a/source/_docs/installation/raspberry-pi.markdown
+++ b/source/_docs/installation/raspberry-pi.markdown
@@ -14,7 +14,7 @@ Although these installation steps specifically mention a Raspberry Pi, you can g
-Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/help/faqs/#powerReqs) with your Pi. Mobile chargers may not be suitable, since some are designed to only provide the full power with that manufacturer's handsets. USB ports on your computer also will not supply enough power and must not be used.
+Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/documentation/faqs/#pi-power) with your Pi. Mobile chargers may not be suitable, since some are designed to only provide the full power with that manufacturer's handsets. USB ports on your computer also will not supply enough power and must not be used.
@@ -84,7 +84,7 @@ Start Home Assistant for the first time. This will complete the installation for
```bash
(homeassistant) $ hass
```
-You can now reach your installation on your Raspberry Pi over the web interface on [http://ipaddress:8123](http://ipaddress:8123).
+You can now reach your installation on your Raspberry Pi over the web interface on `http://ipaddress:8123`.
diff --git a/source/_docs/installation/synology.markdown b/source/_docs/installation/synology.markdown
index e2e640fffff..cb39fdbf175 100644
--- a/source/_docs/installation/synology.markdown
+++ b/source/_docs/installation/synology.markdown
@@ -22,7 +22,7 @@ The following configuration has been tested on Synology 413j running DSM 6.0-732
Running these commands will:
- Install Home Assistant
- - Enable Home Assistant to be launched on [http://localhost:8123](http://localhost:8123)
+ - Enable Home Assistant to be launched on `http://localhost:8123`
Using the Synology webadmin:
diff --git a/source/_docs/installation/updating.markdown b/source/_docs/installation/updating.markdown
index 70caea19b07..8e06868f0f2 100644
--- a/source/_docs/installation/updating.markdown
+++ b/source/_docs/installation/updating.markdown
@@ -39,7 +39,7 @@ $ sudo docker pull homeassistant/raspberrypi3-homeassistant:latest
After updating, you must start/restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e. minutes) depending on your device. This is because all requirements are updated as well.
-[BRUH automation](http://www.bruhautomation.com) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant.
+[BRUH automation](https://www.bruhautomation.io/) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant.
#### Run a specific version
diff --git a/source/_docs/mqtt/birth_will.markdown b/source/_docs/mqtt/birth_will.markdown
index 0a6c2f818e9..3c1737f3a91 100644
--- a/source/_docs/mqtt/birth_will.markdown
+++ b/source/_docs/mqtt/birth_will.markdown
@@ -41,7 +41,7 @@ birth_message:
retain:
description: If the published message should have the retain flag on or not.
required: false
- default: true
+ default: false
type: boolean
will_message:
description: Will Message
@@ -64,6 +64,6 @@ will_message:
retain:
description: If the published message should have the retain flag on or not.
required: false
- default: true
+ default: false
type: boolean
{% endconfiguration %}
diff --git a/source/_docs/mqtt/broker.markdown b/source/_docs/mqtt/broker.markdown
index 6d16ee60476..553fcbb36dc 100644
--- a/source/_docs/mqtt/broker.markdown
+++ b/source/_docs/mqtt/broker.markdown
@@ -105,7 +105,7 @@ mqtt:
### CloudMQTT
-[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance that is free for up to 10 connected devices. This is enough to get started with for example [OwnTracks](/integrations/device_tracker.owntracks/) and give you a taste of what is possible.
+[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance that is free for up to 10 connected devices. This is enough to get started with for example [OwnTracks](/integrations/owntracks/) and give you a taste of what is possible.
Home Assistant is not affiliated with CloudMQTT nor will receive any kickbacks.
diff --git a/source/_docs/mqtt/service.markdown b/source/_docs/mqtt/service.markdown
index d714c1c12b3..5ad15fa9dbf 100644
--- a/source/_docs/mqtt/service.markdown
+++ b/source/_docs/mqtt/service.markdown
@@ -20,38 +20,30 @@ The MQTT integration will register the service `mqtt.publish` which allows publi
You need to include either payload or payload_template, but not both.
-```json
-{
- "topic": "home-assistant/light/1/command",
- "payload": "on"
-}
+```yaml
+topic: home-assistant/light/1/command
+payload: on
```
{% raw %}
-```json
-{
- "topic": "home-assistant/light/1/state",
- "payload_template": "{{ states('device_tracker.paulus') }}"
-}
+```yaml
+topic: home-assistant/light/1/state
+payload_template: {{ states('device_tracker.paulus') }}
```
{% endraw %}
`payload` must be a string. If you want to send JSON then you need to format/escape it properly. Like:
-```json
-{
- "topic": "home-assistant/light/1/state",
- "payload":"{\"Status\":\"off\", \"Data\":\"something\"}"
-}
+```yaml
+topic: home-assistant/light/1/state
+payload: "{\"Status\":\"off\", \"Data\":\"something\"}"
```
Example of how to use `qos` and `retain`:
-```json
-{
- "topic": "home-assistant/light/1/command",
- "payload": "on",
- "qos": 2,
- "retain": true
-}
+```yaml
+topic: home-assistant/light/1/command
+payload: on
+qos: 2
+retain: true
```
diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown
index bd6679bd9f9..c871b6303da 100644
--- a/source/_docs/scripts.markdown
+++ b/source/_docs/scripts.markdown
@@ -34,6 +34,14 @@ The most important one is the action to call a service. This can be done in vari
brightness: 100
```
+#### Activate a Scene
+
+Scripts may also use a shortcut syntax for activating scenes instead of calling the `scene.turn_on` service.
+
+```yaml
+- scene: scene.morning_living_room
+```
+
### Test a Condition
While executing a script you can add a condition to stop further execution. When a condition does not return `true`, the script will stop executing. There are many different conditions which are documented at the [conditions page].
diff --git a/source/_docs/scripts/conditions.markdown b/source/_docs/scripts/conditions.markdown
index 51d3bd5b4fd..4293ca6a990 100644
--- a/source/_docs/scripts/conditions.markdown
+++ b/source/_docs/scripts/conditions.markdown
@@ -241,7 +241,7 @@ A better weekday condition could be by using the [Workday Binary Sensor](/integr
### Zone condition
-Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/integrations/device_tracker.owntracks/) and the [iCloud platform](/integrations/device_tracker.icloud/).
+Zone conditions test if an entity is in a certain zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the [OwnTracks platform](/integrations/owntracks/) and the [iCloud platform](/integrations/icloud/).
```yaml
condition:
diff --git a/source/_docs/security.markdown b/source/_docs/security.markdown
index bdb36dd7582..7e4771ca5d6 100644
--- a/source/_docs/security.markdown
+++ b/source/_docs/security.markdown
@@ -21,7 +21,7 @@ See the [open ports](/docs/security/porosity/) of a Hass.io instance with variou
## HTTP SSL/TLS
-Home Assistant is following the [Mozilla's Operations Security team recommendations](https://wiki.mozilla.org/Security/Server_Side_TLS) for Server side SSL/TLS settings. Home Assistant uses **Modern compatibility** by default. If an user wishes to use **Intermediate compatibilty**, this is configurable in the [`http` integration](/integrations/http/).
+Home Assistant is following the [Mozilla's Operations Security team recommendations](https://wiki.mozilla.org/Security/Server_Side_TLS) for Server side SSL/TLS settings. Home Assistant uses **Modern compatibility** by default. If an user wishes to use **Intermediate compatibility**, this is configurable in the [`http` integration](/integrations/http/).
## SSH
@@ -31,5 +31,5 @@ Is SSH used with the [SSH server add-on](/addons/ssh/) then the user is responsi
## Source code
-Due to the lack of resources we are not able to review all of our dependencies and inspect them for malicious behavior, leakage of information or compliance with GDPR. But we have a keen interest in the development of our dependencies are try to work closely with the upstream developer.
+Due to the lack of resources we are not able to review all of our dependencies and inspect them for malicious behavior, leakage of information or compliance with GDPR. But we have a keen interest in the development of our dependencies and try to work closely with the upstream developer.
diff --git a/source/_docs/tools/dev-tools.markdown b/source/_docs/tools/dev-tools.markdown
index 1f128177525..5e2e0ed8096 100644
--- a/source/_docs/tools/dev-tools.markdown
+++ b/source/_docs/tools/dev-tools.markdown
@@ -30,22 +30,21 @@ The list of services in the “Service” drop down are automatically populated
When a Service is selected, and if that service requires an `entity_id` to be passed, the “Entity” drop down will automatically be populated with corresponding entities.
-A Service may also require additional input to be passed. It is commonly referred to as “service data”. The service data is only accepted in the JSON format, and it may be optional depending on the service.
+A Service may also require additional input to be passed. It is commonly referred to as “service data”. The service data is accepted in YAML format, and it may be optional depending on the service.
-When an entity is selected from the Entity drop down, it automatically populates service data with the corresponding `entity_id`. The service data JSON can then be modified to pass additional \[optional\] parameters. The following is an illustration on how to call a `light.turn_on` service.
+When an entity is selected from the Entity drop down, it automatically populates service data with the corresponding `entity_id`. The service data YAML can then be modified to pass additional \[optional\] parameters. The following is an illustration on how to call a `light.turn_on` service.
To turn on a light bulb, use the following steps:
1. Select `light.turn_on` from the Service drop down
2. Select the entity (typically the light bulb) from the Entity drop down (if no entity_id is selected, it turns on ALL lights)
3. If an entity is selected, the service data is populated with basic JSON that will be passed to the service. An additional data can also be passed by updating the JSON as below.
-```json
-{
- "entity_id": "light.bedroom",
- "brightness": 255,
- "rgb_color": [255, 0, 0]
-}
+```yaml
+entity_id: light.bedroom
+brightness: 255
+rgb_color: [255, 0, 0]
```
+
## States
This section shows all the available entities, their corresponding state and the attribute values. The state and the attribute information is what Home Assistant sees at run time. To update the entity with a new state, or a new attribute value, click on the entity, scroll to the top, and modify the values, and click on “SET STATE” button.
@@ -60,11 +59,12 @@ This Events section is as basic as it can get. It does only one thing – fires
To fire an event, simply type the name of the event, and pass the event data in JSON format.
For ex: To fire a custom event, enter the `event_type` as `event_light_state_changed` and the event data JSON as
-```json
-{ "state":"on" }
+```yaml
+state: on
```
If there is an automation that handles that event, it will be automatically triggered. See below:
+
```yaml
- alias: Capture Event
trigger:
@@ -86,19 +86,16 @@ It is a good practice to test the template code in the template editor prior to
For more information about jinja2, visit [jinja2 documentation](http://jinja.pocoo.org/docs/dev/templates/), and also read templating document [here](/topics/templating/)
-
## MQTT
This section is only visible if the MQTT integration is configured. To configure MQTT, add `mqtt:` to the `configuration.yaml` file. For more information, refer to the [mqtt](/integrations/mqtt/) component.
Even though MQTT in general provides deeper functionality, the developer tools section of MQTT is limited to publishing messages to a given topic. It supports templates for the payload. To publish a message, simply specify the topic name and the payload and click “PUBLISH” button.
-
## Logs
This section displays `syslog` information, and the contents of `home-assistant.log` with an option to clear and refresh the logs.
-
## Info
The Information tab simply provides information about the current installed version, [system health](/integrations/system_health/) (if enabled), additional links and credits.
diff --git a/source/_docs/z-wave.markdown b/source/_docs/z-wave.markdown
index 2b68cdbe697..aa79ffb06cb 100644
--- a/source/_docs/z-wave.markdown
+++ b/source/_docs/z-wave.markdown
@@ -4,7 +4,7 @@ description: "Using Z-Wave with Home Assistant."
redirect_from: /getting-started/z-wave/
---
-[Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick or module](/docs/z-wave/controllers/) to be plugged into the host.
+[Z-Wave](https://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Z-Wave support requires a [supported Z-Wave USB stick or module](/docs/z-wave/controllers/) to be plugged into the host.
There is currently support for climate, covers, lights, locks, sensors, switches, and thermostats. All will be picked up automatically after configuring this platform.
@@ -36,4 +36,4 @@ You can get more information on the [available services](/docs/z-wave/services/)
When you toggle a switch or control a light locally you may find that it takes some time for that to be reflected in Home Assistant. That's because Lutron had patents on the status updates using the *Hail* command class, the traditional way of allowing devices to tell the controller that something happened locally. The same result can be achieved through the *Association* command class, or *Central Scene* command class (though, *Central Scene* isn't [fully supported](https://github.com/OpenZWave/open-zwave/pull/1125) in OpenZWave).
-If you search [the Z-Wave products database](http://products.z-wavealliance.org/) for your product and it lists one of those in the **Controlled** command classes (not the **Supported** command classes), then your device will be able to report state changes when they happen. If it doesn't then updates may either happen eventually, or you may need to (carefully) [enable polling](/docs/z-wave/control-panel/#entities-of-this-node).
+If you search [the Z-Wave products database](https://products.z-wavealliance.org/) for your product and it lists one of those in the **Controlled** command classes (not the **Supported** command classes), then your device will be able to report state changes when they happen. If it doesn't then updates may either happen eventually, or you may need to (carefully) [enable polling](/docs/z-wave/control-panel/#entities-of-this-node).
diff --git a/source/_docs/z-wave/adding.markdown b/source/_docs/z-wave/adding.markdown
index 9fc6f3dc704..126a495fcdd 100644
--- a/source/_docs/z-wave/adding.markdown
+++ b/source/_docs/z-wave/adding.markdown
@@ -69,6 +69,10 @@ After defining your network key, follow these steps to add (include) a secure Z-
3. Activate your device to be included by following the instructions provided with the device
4. With the device in its final location, run a *Heal Network*
+
+Secure devices require additional bandwidth, and too many secure devices can slow down your Z-Wave network. We recommend only using secure inclusion for devices that require it, such as locks.
+
+
## Removing Devices
To remove (exclude) a Z-Wave device from your system:
diff --git a/source/_docs/z-wave/device-specific.markdown b/source/_docs/z-wave/device-specific.markdown
index 6ed30e45d2c..f58e205f810 100644
--- a/source/_docs/z-wave/device-specific.markdown
+++ b/source/_docs/z-wave/device-specific.markdown
@@ -195,7 +195,7 @@ Triple tap on|2|4
Many Zooz Zen26/27 switches that have been sold do not have firmware 2.0+. Contact Zooz to obtain the over the air firmware update instructions and new user manual for the switches.
-Once the firmware is updated, the the new configuration paramters will have to be added to the `zwcfg` file. Replace the existing `COMMAND_CLASS_CONFIGURATION` with the one of the following options (depending on your model of switch):
+Once the firmware is updated, the the new configuration parameters will have to be added to the `zwcfg` file. Replace the existing `COMMAND_CLASS_CONFIGURATION` with the one of the following options (depending on your model of switch):
Zen26 (On/Off Switch):
```xml
@@ -329,7 +329,7 @@ For Zooz switches, you'll need to update (or possibly add) the `COMMAND_CLASS_CE
```
-Go to the Z-Wave Network Management section in the Home Assistant Configuration, select the node which has just been updated and enable the scene support configuration paramter.
+Go to the Z-Wave Network Management section in the Home Assistant Configuration, select the node which has just been updated and enable the scene support configuration parameter.
Once this is complete, you should see the following `zwave.scene_activated` events:
diff --git a/source/_docs/z-wave/devices.markdown b/source/_docs/z-wave/devices.markdown
index 711964c9a18..534ccb70fd2 100644
--- a/source/_docs/z-wave/devices.markdown
+++ b/source/_docs/z-wave/devices.markdown
@@ -33,9 +33,9 @@ The key improvements are:
### Z-Wave Security 2
-From 2 April 2017 all newly approved Z-Wave devices will have to support the Security 2 (S2) framework. At the time of writing this (March 2018) OpenZWave does not support the S2 framework.
+From 2 April 2017 all newly approved Z-Wave devices will have to support the Security 2 (S2) framework. At the time of writing this (October 2019) OpenZWave does not support the S2 framework.
-## Device power
+## Device Power
Your Z-Wave mesh network is built with the devices that are mains powered (whether directly, or via a USB adapter), these relay traffic for other nodes, building the network. These devices are always awake and you can query them, or send configuration changes, at any time.
@@ -65,8 +65,8 @@ Polling needs to be enabled per device, you can control this through the *pollin
The Central Scene command class isn't yet supported in OpenZWave (there is [work in progress](https://github.com/OpenZWave/open-zwave/pull/1125) to provide it it), though Home Assistant has introduced some support with [change 9178](https://github.com/home-assistant/home-assistant/pull/9178) which was part of 0.53 and [documented here](/docs/z-wave/device-specific/#homeseer-switches).
-## Is my device supported
+## Is my device supported?
-You can check to see if OpenZWave supports your particular device by looking at the [OpenZWave github](https://github.com/OpenZWave/open-zwave/tree/master/config). Be aware that being listed here doesn't mean that it will be supported in Home Assistant, since the version of OpenZWave used by Home Assistant will often lag the github by a few months.
+You can check to see if OpenZWave supports your particular device by looking at the [OpenZWave 1.4 github](https://github.com/OpenZWave/open-zwave/tree/1.4/config). Be aware that being listed here doesn't mean that it will be supported in Home Assistant, since the version of OpenZWave used by Home Assistant will often lag the github by a few months.
Even if your device isn't listed there, it's likely that it will still work as expected as long as the device complies with the Z-Wave standards. The OpenZWave wiki describes how [you can add support](https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices) for your device if it isn't listed.
diff --git a/source/_headers b/source/_headers
new file mode 100644
index 00000000000..61d96baf8a7
--- /dev/null
+++ b/source/_headers
@@ -0,0 +1,19 @@
+/*
+ Cache-Control: public, max-age: 0, s-maxage=3600, must-revalidate
+ Content-Security-Policy: form-action https:
+ Feature-Policy: vibrate 'none'; geolocation 'none'; midi 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; speaker 'none'; vibrate 'none'; payment 'none'
+ Referrer-Policy: no-referrer-when-downgrade
+ X-Content-Type-Options: nosniff
+ X-XSS-Protection: 1; mode=block
+/*.css
+ Cache-Control: public, max-age: 604800, s-maxage=604800
+/*.js
+ Cache-Control: public, max-age: 604800, s-maxage=604800
+/assets/*
+ Cache-Control: public, max-age: 0, s-maxage=604800, must-revalidate
+/fonts/*
+ Cache-Control: public, max-age: 1800, s-maxage=604800, must-revalidate
+/images/*
+ Cache-Control: public, max-age: 1800, s-maxage=604800, must-revalidate
+/static/*
+ Cache-Control: public, max-age: 1800, s-maxage=604800, must-revalidate
diff --git a/source/_includes/javascripts/scripts.html b/source/_includes/javascripts/scripts.html
index 5f7df97cef5..4330401c789 100644
--- a/source/_includes/javascripts/scripts.html
+++ b/source/_includes/javascripts/scripts.html
@@ -5,7 +5,7 @@ g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js
s.parentNode.insertBefore(g,s)}(document,'script'));
-
+
diff --git a/source/_includes/site/footer.html b/source/_includes/site/footer.html
index 2f2328a9569..64f21919d5b 100644
--- a/source/_includes/site/footer.html
+++ b/source/_includes/site/footer.html
@@ -8,7 +8,7 @@
diff --git a/source/_includes/site/head.html b/source/_includes/site/head.html
index be4531fca06..35b140ccf88 100644
--- a/source/_includes/site/head.html
+++ b/source/_includes/site/head.html
@@ -28,8 +28,8 @@
-
-
+
+
diff --git a/source/_integrations/abode.markdown b/source/_integrations/abode.markdown
index d8dbd0dd207..8d4f2ca3483 100644
--- a/source/_integrations/abode.markdown
+++ b/source/_integrations/abode.markdown
@@ -14,6 +14,7 @@ ha_category:
- Switch
ha_release: 0.52
ha_iot_class: Cloud Push
+ha_config_flow: true
---
The `abode` integration will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes.
@@ -23,31 +24,23 @@ Please visit the [Abode website](https://goabode.com/) for further information a
There is currently support for the following device types within Home Assistant:
- **Alarm Control Panel**: Reports on the current alarm status and can be used to arm and disarm the system.
-- [**Binary Sensor**](/integrations/abode/#binary-sensor): Reports on `Quick Actions`, `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors.
+- [**Binary Sensor**](/integrations/abode/#binary-sensor): Reports on `Quick Actions`, `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors. Also lists all Abode `Quick Actions` that are set up. You can trigger these quick actions by passing the `entity_id` of your quick action binary sensor to the [trigger_quick_action service](/integrations/abode/#trigger_quick_action).
- **Camera**: Reports on `Camera` devices and will download and show the latest captured still image.
- **Cover**: Reports on `Secure Barriers` and can be used to open and close the cover.
- **Lock**: Reports on `Door Locks` and can be used to lock and unlock the door.
- [**Light**](/integrations/abode/#light): Reports on `Dimmer` lights and can be used to dim or turn the light on and off.
-- [**Switch**](/integrations/abode/#switch): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them.
+- [**Switch**](/integrations/abode/#switch): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them (does not work with Abode's CUE automations).
- **Sensor**: Reports on `Temperature`, `Humidity`, and `Light` sensors.
## Configuration
-To use Abode devices in your installation,
-add the following `abode` section to your `configuration.yaml` file:
+To use Abode devices in your installation, add your Abode account from the integrations page. Two-factor authentication must be disabled on your Abode account. Alternatively, Abode can be configured by adding the following `abode` section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
abode:
username: abode_username
password: abode_password
- name: Abode Alarm System
- polling: false
- exclude:
- - 'ZW:0000000034'
- - 'RF:00000011'
- lights:
- - 'ZW:0000000022'
```
{% configuration %}
@@ -59,10 +52,6 @@ password:
description: Password for your Abode account.
required: true
type: string
-name:
- description: The name for your alarm controller.
- required: false
- type: string
polling:
description: >
Enable polling if cloud push updating is less reliable.
@@ -70,18 +59,6 @@ polling:
required: false
type: boolean
default: false
-exclude:
- description: >
- A list of devices to exclude from Home Assistant by their Abode `device_id`
- or `automation_id`, found within the integration attributes.
- required: false
- type: list
-lights:
- description: >
- A list of switch devices that Home Assistant should treat as lights by the
- switches Abode `device_id`, found within the integration attributes.
- required: false
- type: list
{% endconfiguration %}
## Events
@@ -94,6 +71,12 @@ They are grouped into the below events:
- **abode_automation**: Fired when an Automation is triggered from Abode.
- **abode_panel_fault**: Fired when there is a fault with the Abode hub. This includes events like loss of power, low battery, tamper switches, polling failures, and signal interference.
- **abode_panel_restore**: Fired when the panel fault is restored.
+- **abode_disarm**: Fired when the alarm is disarmed.
+- **abode_arm**: Fired when the alarm is armed (home or away).
+- **abode_test**: Fired when a sensor is in test mode.
+- **abode_capture**: Fired when an image is captured.
+- **abode_device**: Fired for device changes/additions/deletions.
+- **abode_automation_edit**: Fired for changes to automations.
All events have the fields:
@@ -141,19 +124,3 @@ Trigger a quick action automation on your Abode system.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | No | String or list of strings that point at `entity_id`s of binary_sensors that represent your Abode quick actions.
-
-### Binary Sensor
-
-This integration will add `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors.
-
-This integration will also list all Abode `Quick Actions` that are set up. You can trigger these quick actions by passing the `entity_id` of your quick action binary sensor to the [trigger_quick_action service](/integrations/abode/#trigger_quick_action).
-
-### Light
-
-This integration will automatically add `Lights` configured in your Abode account. You can reclassify `Switches` to show up within Home Assistant as lights by listing the Abode device ID in your [configuration](/integrations/abode/#configuration).
-
-### Switch
-
-This integration will automatically add `Power Switches` configured in your Abode account. You can reclassify switches to show up within Home Assistant as `Lights` by listing the Abode device ID in your [configuration](/integrations/abode/#configuration).
-
-This integration will also list all Abode `Automations` that are set up within the Abode system, allowing you to activate and deactivate the automations.
diff --git a/source/_integrations/acer_projector.markdown b/source/_integrations/acer_projector.markdown
index d711e9242dc..ea66c086330 100644
--- a/source/_integrations/acer_projector.markdown
+++ b/source/_integrations/acer_projector.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.19
---
-The `acer_projector` switch platform allows you to control the state of RS232 connected projectors from [Acer](http://www.acer.com).
+The `acer_projector` switch platform allows you to control the state of RS232 connected projectors from [Acer](https://www.acer.com/).
## Configuration
diff --git a/source/_integrations/actiontec.markdown b/source/_integrations/actiontec.markdown
index ada052fc1dc..2ec05057621 100644
--- a/source/_integrations/actiontec.markdown
+++ b/source/_integrations/actiontec.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.7
---
-This platform allows you to detect presence by looking at connected devices to an [Actiontec](http://www.actiontec.com/) device.
+This platform allows you to detect presence by looking at connected devices to an [Actiontec](https://www.actiontec.com/) device.
Supported devices (tested):
diff --git a/source/_integrations/adguard.markdown b/source/_integrations/adguard.markdown
index c3749d519d4..486ccc30c1b 100644
--- a/source/_integrations/adguard.markdown
+++ b/source/_integrations/adguard.markdown
@@ -10,7 +10,7 @@ ha_release: 0.95
ha_iot_class: Local Polling
---
-AdGuard Home is a network-wide ad-and-tracker blocking DNS server with parental
+AdGuard Home is a network-wide ad- and tracker-blocking DNS server with parental
control (adult content blocking) capabilities. The `adguard` integration allows
you to control and monitor your AdGuard Home instance in Home Assistant.
@@ -19,7 +19,7 @@ you to control and monitor your AdGuard Home instance in Home Assistant.
Menu: **Configuration** -> **Integrations**.
Click on the `+` sign to add an integration and click on **AdGuard Home**.
-Follow the configuration flow, after finishing, the AdGuard Home
+After completing the configuration flow, the AdGuard Home
integration will be available.
## Sensors
@@ -49,8 +49,8 @@ The integration will create a number of switches:
These switches allow you to automate things easily. For example, one could
write an automation to turn off Safe Search after the kids' bedtime.
-The "AdGuard Protection" switch, is a master switch. It will turn off and
-bypass all AdGuard feature, regardless if they are switched on or not.
+The "AdGuard Protection" switch is a master switch. It will turn off and
+bypass all AdGuard features, regardless of whether they are switched on or not.
Turning off Query Log will result in all sensors not receiving updates anymore.
@@ -63,8 +63,8 @@ These services allow one to manage filter subscriptions in AdGuard Home.
Using these services in automations could be helpful to block certain
sites/domains at certain times.
-For example, you could create a custom filter list blocking social media sites,
-during the day and release them during the evening, using a simple automation.
+For example, you could create a custom filter list that blocks social media sites
+during the day and releases them during the evening.
### Service `add_url`
@@ -105,7 +105,7 @@ Refresh all filter subscriptions in AdGuard Home.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------- |
-| `force` | Yes | Force update (bypasses AdGuard Home throttling). |
+| `force` | Yes | Force update (bypasses AdGuard Home throttling). |
By default, `force` is set to `false`. Forcing an update bypasses AdGuard Home's
throttling logic, so use with care.
diff --git a/source/_integrations/ads.markdown b/source/_integrations/ads.markdown
index 249dd932cd6..61742c7b38e 100644
--- a/source/_integrations/ads.markdown
+++ b/source/_integrations/ads.markdown
@@ -13,7 +13,7 @@ ha_release: "0.60"
ha_iot_class: Local Push
---
-The ADS (automation device specification) describes a device-independent and fieldbus independent interface for communication between [Beckhoff](https://www.beckhoff.com/) automation devices running [TwinCAT](http://www.beckhoff.hu/english.asp?twincat/default.htm) and other devices implementing this interface.
+The ADS (automation device specification) describes a device-independent and fieldbus independent interface for communication between [Beckhoff](https://www.beckhoff.com/) automation devices running [TwinCAT](https://www.beckhoff.hu/english.asp?twincat/default.htm) and other devices implementing this interface.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/airly.markdown b/source/_integrations/airly.markdown
new file mode 100644
index 00000000000..433dd654567
--- /dev/null
+++ b/source/_integrations/airly.markdown
@@ -0,0 +1,41 @@
+---
+title: "Airly"
+description: "Instructions on how to integrate Airly within Home Assistant."
+logo: airly.png
+ha_category:
+ - Health
+ha_release: 0.101
+ha_iot_class: Cloud Polling
+---
+
+The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location.
+
+## Setup
+
+To generate an Airly API key, go to [Airly for developers](https://developer.airly.eu/register) page.
+
+## Configuration
+
+To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI and enable the Airly integration. By default, the values will be taken from the Home Assistant configuration.
+
+{% configuration %}
+api_key:
+ description: The Airly API key.
+ required: true
+ type: string
+name:
+ description: Manually specify Name.
+ required: false
+ type: string
+ default: Airly
+latitude:
+ description: Manually specify latitude.
+ required: false
+ type: float
+ default: Provided by Home Assistant configuration
+longitude:
+ description: Manually specify longitude.
+ required: false
+ type: float
+ default: Provided by Home Assistant configuration
+{% endconfiguration %}
diff --git a/source/_integrations/airvisual.markdown b/source/_integrations/airvisual.markdown
index 0f56195ebf8..c95b3562d5e 100644
--- a/source/_integrations/airvisual.markdown
+++ b/source/_integrations/airvisual.markdown
@@ -8,7 +8,7 @@ ha_release: 0.53
ha_iot_class: Cloud Polling
---
-The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) can be created.
+The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality data. Data can be collected via latitude/longitude or by city/state/country. The resulting information creates sensors for the Air Quality Index (AQI), the human-friendly air quality level, and the main pollutant of that area. Sensors that conform to either/both the [U.S. and Chinese air quality standards](https://www.clm.com/publication.cfm?ID=366) can be created.
This platform requires an AirVisual API key, which can be obtained [here](https://airvisual.com/api). Note that the platform was designed using the "Community" package; the "Startup" and "Enterprise" package keys should continue to function, but actual results may vary (or not work at all).
diff --git a/source/_integrations/alarmdecoder.markdown b/source/_integrations/alarmdecoder.markdown
index 846f87189e6..a83c15eb878 100644
--- a/source/_integrations/alarmdecoder.markdown
+++ b/source/_integrations/alarmdecoder.markdown
@@ -103,11 +103,11 @@ zones:
required: false
type: integer
relayaddr:
- description: "Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed."
+ description: "Address of the relay or zone expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed."
required: inclusive
type: integer
relaychan:
- description: "Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4)"
+ description: "Channel of the relay or zone expander board to associate with the zone. (ex: 1, 2, 3, or 4 for relay expander boards, 1 - 8 for zone expander boards)"
required: inclusive
type: integer
{% endconfiguration %}
diff --git a/source/_integrations/alexa.flash_briefings.markdown b/source/_integrations/alexa.flash_briefings.markdown
index eb4bacd926b..e8fd786621f 100644
--- a/source/_integrations/alexa.flash_briefings.markdown
+++ b/source/_integrations/alexa.flash_briefings.markdown
@@ -78,5 +78,5 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf
[small-icon]: /images/integrations/alexa/alexa-108x108.png
[templates]: /topics/templating/
[zero-three-one]: /blog/2016/10/22/flash-briefing-updater-hacktoberfest/
-[alexa-settings-site]: http://alexa.amazon.com/
+[alexa-settings-site]: https://alexa.amazon.com/
[emulated-hue-component]: /integrations/emulated_hue/
diff --git a/source/_integrations/alexa.intent.markdown b/source/_integrations/alexa.intent.markdown
index 192ceb49f0b..c5f34e5bd08 100644
--- a/source/_integrations/alexa.intent.markdown
+++ b/source/_integrations/alexa.intent.markdown
@@ -17,17 +17,11 @@ The built-in Alexa integration allows you to integrate Home Assistant into Alexa
### Requirements
-Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are OK because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. When running Hass.io, using the [Let's Encrypt](/addons/lets_encrypt/) and [Duck DNS](/addons/duckdns/) add-ons is the easiest method. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill-when-you-dont-have-https/5230).
+- Amazon Developer Account. You can sign on [here](https://developer.amazon.com).
+- An [AWS account](https://aws.amazon.com/free/) is need if you want to use Alexa Custom Skill API. Part of your Alexa Custom Skill will be hosted on [AWS Lambda](https://aws.amazon.com/lambda/pricing/). However you don't need worry the cost, AWS Lambda allow free to use up to 1 millions requests and 1GB outbound data transfer per month.
+- The Alexa Custom Skill API also needs your Home Assistant instance can be accessed from Internet. We strongly suggest you host HTTPS server and use validation certificate. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io using the [Duck DNS](/addons/duckdns/) add-on is the easiest method.
-Additionally, note that at the time of this writing, your Alexa skill endpoint *must* accept requests over port 443 (Home Assistant default to 8123). There are two ways you can handle this:
-
- 1. In your router, forward external 443 to your Home Assistant serving port (defaults to 8123)
- OR
- 2. Change your Home Assistant serving port to 443 this is done in the [`http`](/integrations/http/) section with the `server_port` entry in your `configuration.yaml` file
-
-[blog-lets-encrypt]: /blog/2015/12/13/setup-encryption-using-lets-encrypt/
-
-To get started with Alexa skills:
+### Create Your Amazon Alexa Custom Skill
- Log in to [Amazon developer console][amazon-dev-console]
- Click the Alexa button at the top of the console
@@ -36,12 +30,96 @@ To get started with Alexa skills:
- Name: Home Assistant
- Invocation name: home assistant (or be creative, up to you)
- Version: 1.0
- - Endpoint:
- - https
- - `https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD`
+ - Endpoint: This will be the ARN for the Lambda Function you will create next.
You can use this [specially sized Home Assistant logo][large-icon] as the large icon and [this one][small-icon] as the small one.
+### Create Your Lambda Function
+
+The Alexa Custom skill will trigger a AWS Lambda function to process the request, we will write a small piece of code hosted as a Lambda function to basically redirect the request to your Home Assistant instance, then the Alexa integration in Home Assistant will process the request and send back the response. Your Lambda function will deliver the response back to Alexa.
+
+OK, let's go. You first need sign in your [AWS console](https://console.aws.amazon.com/), if you don't have an AWS account yet, you can create a new user [here](https://aws.amazon.com/free/) with 12-month free tier benefit. You don't need worry the cost if your account has already passed the first 12 months, AWS provides up to 1 million Lambda requests, 1GB of outbound data and unlimited inbound data for free every month for all users. See [Lambda pricing](https://aws.amazon.com/lambda/pricing/) for details.
+
+#### Create an IAM Role for Lambda
+
+The first thing you need to do after you sign in to the [AWS console](https://console.aws.amazon.com/) is to create an IAM Role for Lambda execution. AWS has very strict access control, you have to explicitly define and assign the permissions.
+
+- Click `Service` in top navigation bar, expand the menu to display all AWS services, click `IAM` under `Security, Identity, & Compliance` section to navigate to IAM console. Or you may use this [link](https://console.aws.amazon.com/iam/home)
+- Click `Roles` in the left panel, then click `Create role`, select `AWS Service` -> `Lambda` in the first page of the wizard, then click `Next: Permissions`
+- Select `AWSLambdaBasicExecutionRole` policy, then click `Next: Tags`. (Tips: you can use the search box to filter the policy)
+
+
+
+
+
+- You can skip `Add tags` page, click `Next: Review`.
+- Give your new role a name, such as `AWSLambdaBasicExecutionRole-Intents`, then click `Create role` button. You should be able to find your new role in the roles list now.
+
+#### Create a Lambda function and add code
+
+Next you need to create a Lambda function.
+
+- Click `Service` in top navigation bar, expand the menu to display all AWS services, click `Lambda` under `Compute` section to navigate to Lambda console. Or you may use this [link](https://console.aws.amazon.com/lambda/home)
+- **IMPORTANT** Your current region will be displayed on the top right corner, make sure you select right region base on your Amazon account's country:
+ * **US East (N.Virginia)** region for English (US) or English (CA) skills
+ * **EU (Ireland)** region for English (UK), English (IN), German (DE), Spanish (ES) or French (FR) skills
+ * **US West (Oregon)** region for Japanese and English (AU) skills.
+- Click `Functions` in the left navigation bar, display list of your Lambda functions.
+- Click `Create function`, select `Author from scratch`, then input a `Function name`.
+- Select *Python 3.6* or *Python 3.7* as `Runtime`.
+- Select *Use an existing role* as `Execution role`, then select the role you just created from the `Existing role` list.
+- Click `Create function`, then you can config detail of Lambda function.
+- Under `Configuration` tab, expand `Designer`, then click `Alexa Skills Kit` in the left part of the panel to add a Alexa Skills Kit trigger to your Lambda function.
+- Scroll down little bit, you need to input the `Skill ID` from the skill you created in previous step. (You may need to switch back to the Alexa Developer Console to copy the `Skill ID`.)
+- Click your Lambda Function icon in the middle of the diagram and scroll down, you will see a `Function code` window.
+- Clear the example code and copy the Python script from: [https://gist.github.com/lpomfrey/97381cf4316553b03622c665ae3a47da](https://gist.github.com/lpomfrey/97381cf4316553b03622c665ae3a47da)
+- Scroll down again and you will find `Environment variables`, add the following environment variables as needed:
+ * BASE_URL *(required)*: your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*.
+ * NOT_VERIFY_SSL *(optional)*: set to *True* to ignore the SSL issue, if you don't have a valid SSL certificate or you are using self-signed certificate.
+ * DEBUG *(optional)*: set to *True* to log debugging messages.
+ * LONG_LIVED_ACCESS_TOKEN *(optional, not recommended)*: you will connect your Alexa Custom skill with your Home Assistant user account in the later steps, so that you don't need to use long-lived access token here. However, the access token you got from login flow is only valid for 30 minutes. It will be hard for you to test lambda function with the access token in test data. So for your convinces, you can remove the access token from the test data, [generate a long-lived access token][generate-long-lived-access-token] put here, then the function will fall back to reading the token from environment variables. (tips: You did not enable the security storage for your environment variables, so your token saved here is not that safe. You should only use it for debugging and testing purpose. You should remove and delete the long-lived access token after you finish the debugging.)
+
+
+
+
+
+- Now scroll up to the top and click the `Save` button.
+- Next, copy the ARN displayed in the top of the page, which is the identify of this Lambda function. Set the end point of the custom Alexa Skill you created earlier to this value.
+
+### Account Linking
+
+Alexa can link your Amazon account to your Home Assistant account. Therefore Home Assistant can make sure only authenticated Alexa requests are actioned. In order to link the account, you have to make sure your Home Assistant can be accessed from Internet.
+
+- Sign in to the [Alexa Developer Console][alexa-dev-console] and go to the `Alexa Skills` page.
+- Find the skill you just created and click `Edit` in the `Actions` column.
+- Click `ACCOUNT LINKING` in the left navigation bar of build page
+- Input all information required. Assuming your Home Assistant can be accessed by https://[YOUR HOME ASSISTANT URL:PORT]
+ * `Authorization URI`: https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize
+ * `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.com/ if you are in EU
+ - https://alexa.amazon.co.jp/ if you are in JP or AU
+
+ The trailing slash is important here.
+
+ * `Client Secret`: input anything you like, Home Assistant does not check this field
+ * `Client Authentication Scheme`: make sure you selected *Credentials in request body*. Home Assistant does not support *HTTP Basic*.
+ * `Scope`: input `intent`. Home Assistant doesn't use this yet, we may use it in the future when we allow more fine-grained access control.
+- You can leave `Domain List` and `Default Access Token Expiration Time` as empty.
+
+
+
+
+
+- Click `Save` button in the top right corner.
+- Next, you will use the Alexa Mobile App or [Alexa web-based app](#alexa-web-based-app) to link your account.
+ * Open the Alexa app, navigate to `Skills` -> `Your Skills` -> `Dev Skills`
+ * Click the Custom skill you just created.
+ * Click `Enable`.
+ * A new window will open to direct you to your Home Assistant's login screen.
+ * After you successfully login, you will be redirected back to Alexa app.
+
### Configuring your Amazon Alexa skill
Alexa works based on intents. Each intent has a name and variable slots. For example, a `LocateIntent` with a slot that contains a `User`. Example intent schema:
@@ -266,3 +344,4 @@ Alexa will now respond with a random phrase each time. You can use the include f
[large-icon]: /images/integrations/alexa/alexa-512x512.png
[small-icon]: /images/integrations/alexa/alexa-108x108.png
[templates]: /topics/templating/
+[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token
diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown
index 2d8d2720bb2..2b72bd1df37 100644
--- a/source/_integrations/alexa.smart_home.markdown
+++ b/source/_integrations/alexa.smart_home.markdown
@@ -20,7 +20,7 @@ Amazon provides a Smart Home API for richer home automation control. It takes
considerable effort to configure. The easy solution is to use
[Home Assistant Cloud](/integrations/cloud/).
-However, config Amazon Alexa Smart Home Skill is not a easy job, you have to allow
+However, config Amazon Alexa Smart Home Skill is not an easy job, you have to allow
your Home Assistant accessible from Internet, and you need to create Amazon Developer
account and an Amazon Web Service account.
@@ -37,7 +37,7 @@ For Home Assistant Cloud Users, documentation can be found [here](https://www.na
- Amazon Developer Account. You can sign on [here](https://developer.amazon.com).
- An [AWS account](https://aws.amazon.com/free/) is need if you want to use Smart Home Skill API. Part of your Smart Home Skill will be hosted on [AWS Lambda](https://aws.amazon.com/lambda/pricing/). However you don't need worry the cost, AWS Lambda allow free to use up to 1 millions requests and 1GB outbound data transfer per month.
-- Smart Home API also needs your Home Assistant instance can be accessed from Internet. We strongly suggest you host HTTPS server and use validation certificate. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io, using the [Let's Encrypt](/addons/lets_encrypt/) and [Duck DNS](/addons/duckdns/) add-ons is the easiest method.
+- Smart Home API also needs your Home Assistant instance can be accessed from Internet. We strongly suggest you host HTTPS server and use validation certificate. Read more on [our blog](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) about how to set up encryption for Home Assistant. When running Hass.io using the [Duck DNS](/addons/duckdns/) add-on is the easiest method.
### Create Your Amazon Alexa Smart Home Skill
@@ -46,7 +46,9 @@ For Home Assistant Cloud Users, documentation can be found [here](https://www.na
- Input `Skill name` as you like, select your skill's `Default language`.
- Select `Smart Home` and `Provision your own`, then click `Create skill` button at top right corner.
+
+
- In next screen, make sure *v3* is selected in `Payload version`.
- Now, you have created a skeleton of Smart Home skill. Next step we will do some "real" developer work. You can keep Alex Developer Console opened, we need change the skill configuration later.
@@ -75,7 +77,9 @@ First thing you need to do after sing in [AWS console](https://console.aws.amazo
- Click `Roles` in the left panel, then click `Create role`, select `AWS Service` -> `Lambda` in the first page of the wizard, then click `Next: Permissions`
- Select `AWSLambdaBasicExecutionRole` policy, then click `Next: Tags`. (Tips: you can use the search box to filter the policy)
+
+
- You can skip `Add tags` page, click `Next: Review`.
- Give your new role a name, such as `AWSLambdaBasicExecutionRole-SmartHome`, then click `Create role` button. You should be able to find your new role in the roles list now.
@@ -97,13 +101,16 @@ Next you need create a Lambda function.
- Under `Configuration` tab, expand `Designer`, then click `Alexa Smart Home` in the left part of the panel to add a Alexa Smart Home trigger to your Lambda function.
- Scroll down little bit, you need input the `Skill ID` from the skill you created in previous step. (tips: you may need switch back to Alexa Developer Console to copy the `Skill ID`.
- Click your Lambda Function icon in the middle of the diagram, scroll down you will see a `Function code` window.
-- Clear the example code, copy the Python script from: (modified code to support Alexa's proactive mode, see details below)
+- Clear the example code, copy the Python script from: [https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b](https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b) (modified code to support Alexa's proactive mode, see details below)
- Scroll down a little bit, you will find `Environment variables`, you need add 4 environment variables:
* BASE_URL *(required)*: your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*.
* NOT_VERIFY_SSL *(optional)*: you can set it to *True* to ignore the SSL issue, if you don't have a valid SSL certificate or you are using self-signed certificate.
* DEBUG *(optional)*: set to *True* to log the debug message
* LONG_LIVED_ACCESS_TOKEN *(optional, not recommend)*: you will connect your Alexa Smart Home skill with your Home Assistant user account in the later steps, so that you don't need to use long-lived access token here. However, the access token you got from login flow is only valid for 30 minutes. It will be hard for you to test lambda function with the access token in test data. So for your convinces, you can remove the access token from the test data, [generate a long-lived access token][generate-long-lived-access-token] put here, then the function will fall back to read token from environment variables. (tips: You did not enable the security storage for your environment variables, so your token saved here is not that safe. You should only use it for debugging and testing purpose. You should remove and delete the long-lived access token after you finish the debugging.)
+
+
+
- Now scroll up to the top, click `Save` button.
- You need copy the ARN displayed in the top of the page, which is the identify of this Lambda function. You will need this ARN to continue Alexa Smart Home skill configuration later.
@@ -178,7 +185,9 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom
* `Scope`: input `smart_home`, Home Assistant is not using it yet, we may use it in the future when we allow more fine-grained access control.
- You can leave `Domain List` and `Default Access Token Expiration Time` as empty.
+
+
- Click `Save` button in the top right corner.
- Next, you will use Alexa Mobile App or [Alexa web-based app](#alexa-web-based-app) to link your account.
diff --git a/source/_integrations/amazon_polly.markdown b/source/_integrations/amazon_polly.markdown
index 6307a57c604..7a63388dfba 100644
--- a/source/_integrations/amazon_polly.markdown
+++ b/source/_integrations/amazon_polly.markdown
@@ -12,9 +12,9 @@ Polly is a paid service via Amazon Web Services. There is a [free tier](https:/
## Setup
-For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions.
+For more information, please read the [AWS General Reference regarding Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](https://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions.
-Available voices are listed in the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html).
+Available voices are listed in the [Amazon Documentation](https://docs.aws.amazon.com/polly/latest/dg/voicelist.html).
## Configuration
diff --git a/source/_integrations/ambiclimate.markdown b/source/_integrations/ambiclimate.markdown
index 7960e646ce1..a5e64074fd3 100644
--- a/source/_integrations/ambiclimate.markdown
+++ b/source/_integrations/ambiclimate.markdown
@@ -7,7 +7,7 @@ ha_release: 0.93
ha_iot_class: Cloud Polling
---
-Integrates [Ambiclimate](https://Ambiclimate.com) Air Conditioning controller into Home Assistant.
+Integrates [Ambiclimate](https://ambiclimate.com/) Air Conditioning controller into Home Assistant.
You must create an application [here](https://api.ambiclimate.com/clients) to obtain a `client_id` and `client_secret`.
The `callback url` should be configured as your Home Assistant `base_url` + `/api/ambiclimate`, e.g. `https://example.com/api/ambiclimate`.
diff --git a/source/_integrations/android_ip_webcam.markdown b/source/_integrations/android_ip_webcam.markdown
index ba061946ef5..3d13b52a815 100644
--- a/source/_integrations/android_ip_webcam.markdown
+++ b/source/_integrations/android_ip_webcam.markdown
@@ -202,4 +202,4 @@ camera:
The `android_ip_webcam` sensor platform lets you observe states of [Android IP webcam](https://play.google.com/store/apps/details?id=com.pas.webcam) sensors through Home Assistant. Devices will be configured automatically.
-You can setup your own sensors by examining the JSON file from the webcam server: http://IP:8080/sensors.json
+You can setup your own sensors by examining the JSON file from the webcam server: `http://IP:8080/sensors.json`
diff --git a/source/_integrations/androidtv.markdown b/source/_integrations/androidtv.markdown
index ef6cfbd1103..d2f856283c2 100644
--- a/source/_integrations/androidtv.markdown
+++ b/source/_integrations/androidtv.markdown
@@ -29,21 +29,15 @@ For Fire TV devices, the instructions are as follows:
```yaml
# Example configuration.yaml entry
media_player:
- # Use the Python ADB implementation without authentication
+ # Use the Python ADB implementation
- platform: androidtv
name: Android TV 1
host: 192.168.0.111
- # Use the Python ADB implementation with authentication
+ # Use an ADB server for sending ADB commands
- platform: androidtv
name: Android TV 2
host: 192.168.0.222
- adbkey: "/config/android/adbkey"
-
- # Use an ADB server for sending ADB commands
- - platform: androidtv
- name: Android TV 3
- host: 192.168.0.123
adb_server_ip: 127.0.0.1
```
@@ -63,11 +57,11 @@ port:
default: 5555
type: integer
adbkey:
- description: The path to your `adbkey` file.
+ description: The path to your `adbkey` file; if not provided, Home Assistant will generate a key for you (if necessary).
required: false
type: string
adb_server_ip:
- description: The IP address of the ADB server.
+ description: The IP address of the ADB server. If this is provided, the integration will utilize an [ADB server](#1-adb-server) to communicate with the device.
required: false
type: string
adb_server_port:
@@ -110,14 +104,14 @@ turn_off_command:
```yaml
# Example configuration.yaml entry
media_player:
- # Use an ADB server to setup an Android TV device, provide
- # an app name, override the default turn on/off commands,
- # and provide custom state detection rules
+ # Use the Python ADB implementation with a user-provided key to setup an
+ # Android TV device. Provide an app name, override the default turn on/off
+ # commands, and provide custom state detection rules.
- platform: androidtv
name: Android TV
device_class: androidtv
host: 192.168.0.222
- adb_server_ip: 127.0.0.1
+ adbkey: "/config/android/adbkey"
apps:
com.amazon.tv.launcher: "Fire TV"
turn_on_command: "input keyevent 3"
@@ -138,19 +132,23 @@ media_player:
'wake_lock_size': 1 # this indentation is important!
- 'standby'
- # Use the Python ADB implementation with authentication
- # to setup a Fire TV device and don't get the running apps
+ # Use an ADB server to setup a Fire TV device and don't get the running apps.
- platform: androidtv
name: Fire TV
device_class: firetv
host: 192.168.0.222
- adbkey: "/config/android/adbkey"
+ adb_server_ip: 127.0.0.1
+ adb_server_port: 5037
get_sources: false
```
## ADB Setup
-This integration works by sending ADB commands to your Android TV / Fire TV device. There are two ways to accomplish this:
+This integration works by sending ADB commands to your Android TV / Fire TV device. There are two ways to accomplish this.
+
+
+When connecting to your device for the first time, a dialog will appear on your Android TV / Fire TV asking you to approve the connection. Check the box that says "always allow connections from this device" and hit OK.
+
### 1. ADB Server
@@ -160,46 +158,29 @@ For Hass.io users, you can install the [Android Debug Bridge](https://github.com
### 2. Python ADB Implementation
-The second option is to connect to your device using the `adb-shell` Python package.
+The second option is to connect to your device using the `adb-shell` Python package. As of Home Assistant 0.101, if a key is needed for authentication and it is not provided by the `adbkey` configuration option, then Home Assistant will generate a key for you.
-If your device requires ADB authentication, you will need to follow the instructions in the [ADB Authentication](#adb-authentication) section below. Once you have an authenticated key, this approach does not require any additional setup or addons. However, users with newer devices may find that the ADB connection is unstable. For a Fire TV device, you can try setting the `get_sources` configuration option to `false`. If the problem cannot be resolved, you should use the ADB server option.
-
-#### ADB Authentication
-
-If you get a "Device authentication required, no keys available" error when trying to set up your Android TV or Fire TV, then you'll need to create an adbkey and add its path to your configuration. Follow the instructions on this page to connect to your device from your computer: [Connecting to Fire TV Through adb](https://developer.amazon.com/zh/docs/fire-tv/connecting-adb-to-device.html).
-
-
-In the dialog appearing on your Android TV / Fire TV, you must check the box that says "always allow connections from this device." ADB authentication in Home Assistant will only work using a trusted key.
-
-
-Once you've successfully connected to your Android TV / Fire TV via the command `adb connect :5555`, the file `adbkey` will be created on your computer. The default locations for this file are (from [https://developer.android.com/studio/command-line/adb](https://developer.android.com/studio/command-line/adb)):
-
-- Linux and Mac: `$HOME/.android.`
-- Windows: `%userprofile%\.android.`
-
-Copy the `adbkey` file to your Home Assistant folder and add the path to the `adbkey` file to your configuration.
+Prior to Home Assistant 0.101, this approach did not work well for newer devices. Efforts have been made to resolve these issues, but if you experience problems then you should use the ADB server option.
## ADB Troubleshooting
-If you receive the error message `Error while setting up platform androidtv` in your log when trying to set up an Android TV or Fire TV device, then there is probably an issue with your ADB connection. Here are some possible causes.
+If the setup for your Android TV or Fire TV device fails, then there is probably an issue with your ADB connection. Here are some possible causes.
-1. ADB is not enabled on your device.
+1. You have the wrong IP address for the device.
-2. You are already connected to the Android TV / Fire TV via ADB from another device. Only one device can be connected, so disconnect the other device, restart the Android TV / Fire TV (for good measure), and then restart Home Assistant.
+2. ADB is not enabled on your device.
-3. If you are using the [Python ADB implementation](#2-python-adb-implementation):
+3. You are already connected to the Android TV / Fire TV via ADB from another device. Only one device can be connected, so disconnect the other device, restart the Android TV / Fire TV (for good measure), and then restart Home Assistant.
- * This method often does not work for newer devices. Use the [ADB server](#1-adb-server) approach instead.
+4. You need to approve the ADB connection; see the note in the [ADB Setup](#adb-setup) section above.
- * Your key is not pre-authenticated. Before using the `adbkey` in Home Assistant, you _**must**_ connect to your device using the ADB binary and tell it to always allow connections from this computer. For more information, see the section [ADB Authentication](#adb-authentication) above.
+5. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
- * Home Assistant does not have the appropriate permissions for the `adbkey` file and so it is not able to use it. Once you fix the permissions, the integration should work.
-
-4. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
+6. If you are using the [Python ADB implementation](#2-python-adb-implementation) approach, as mentioned above, there may be some issues with newer devices. In this case, you should use the [ADB server](#1-adb-server) approach instead.
## Services
-### `media_player.select_source`
+### (Fire TV devices only) `media_player.select_source`
For Fire TV devices, you can launch an app using the `media_player.select_source` command. Simply provide the app ID as the `source`. You can also stop an app by prefixing the app ID with a `!`. For example, you could define [scripts](/docs/scripts) to start and stop Netflix as follows:
@@ -253,7 +234,9 @@ Available key commands include:
The full list of key commands can be found [here](https://github.com/JeffLIrion/python-androidtv/blob/bf1058a2f746535921b3f5247801469c4567e51a/androidtv/constants.py#L143-L186).
-You can also use the command `GET_PROPERTIES` to retrieve the properties used by Home Assistant to update the device's state. These will be stored in the media player's `'adb_response'` attribute and logged at the INFO level, this information can be used to help improve state detection in the backend [androidtv](https://github.com/JeffLIrion/python-androidtv) package.
+You can also use the command `GET_PROPERTIES` to retrieve the properties used by Home Assistant to update the device's state. These will be stored in the media player's `'adb_response'` attribute and logged at the INFO level. This information can be used to help improve state detection in the backend [androidtv](https://github.com/JeffLIrion/python-androidtv) package, and also to define your own [custom state detection](#custom-state-detection) rules.
+
+A list of various intents can be found [here](https://gist.github.com/mcfrojd/9e6875e1db5c089b1e3ddeb7dba0f304).
## Custom State Detection
diff --git a/source/_integrations/anel_pwrctrl.markdown b/source/_integrations/anel_pwrctrl.markdown
index 193edd1b187..e146f69fb6e 100644
--- a/source/_integrations/anel_pwrctrl.markdown
+++ b/source/_integrations/anel_pwrctrl.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: "0.30"
---
-The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](http://anel-elektronik.de/SITE/produkte/produkte.htm) devices.
+The `anel_pwrctrl` switch platform allows you to control [ANEL PwrCtrl](https://anel-elektronik.de/SITE/produkte/produkte.htm) devices.
Supported devices (tested):
diff --git a/source/_integrations/anthemav.markdown b/source/_integrations/anthemav.markdown
index 3d232210814..7994f1334f4 100644
--- a/source/_integrations/anthemav.markdown
+++ b/source/_integrations/anthemav.markdown
@@ -12,12 +12,12 @@ Both [Anthem]'s current and last generation of A/V Receivers and Processors supp
## Supported Models
-* MRX 520, MRX 720, MRX 1120, and AVM 60
-* MRX 310, MRX 510, MRX 710
+* [MRX 520](https://www.anthemav.com/products-current/series=mrx-series-gen3/model=mrx-520/page=overview), [MRX 720](https://www.anthemav.com/products-current/collection=performance/model=mrx-720/page=overview), [MRX 1120](https://www.anthemav.com/products-current/collection=performance/model=mrx-1120/page=overview), and [AVM 60](https://www.anthemav.com/products-current/model=avm-60/page=overview)
+* [MRX 310](https://www.anthemav.com/products-archived/type=av-receiver/model=mrx-310/page=overview), [MRX 510](https://www.anthemav.com/products-archived/series=mrx-series/model=mrx-510/page=overview), [MRX 710](https://www.anthemav.com/products-archived/type=av-receiver/model=mrx-710/page=overview)
-Support is provided through the Python [anthemav] module. Older, RS-232 serial-based units like the D2v use a different protocol entirely and are not currently supported.
+Support is provided through the Python [anthemav] module. Older, RS-232 serial-based units like the [D2v](https://www.anthemav.com/products-current/type=av-processor/model=d2v-3d/page=overview) use a different protocol entirely and are not currently supported.
-[Anthem]: http://www.anthemav.com/
+[Anthem]: https://www.anthemav.com/
[anthemav]: https://github.com/nugget/python-anthemav
diff --git a/source/_integrations/apcupsd.markdown b/source/_integrations/apcupsd.markdown
index ffacda23099..93649d924b7 100644
--- a/source/_integrations/apcupsd.markdown
+++ b/source/_integrations/apcupsd.markdown
@@ -75,7 +75,7 @@ name:
## Sensor
- The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](http://linux.die.net/man/8/apcaccess) command.
+ The `apcupsd` sensor platform allows you to monitor a UPS (battery backup) by using data from the [apcaccess](https://linux.die.net/man/8/apcaccess) command.
### Configuration
diff --git a/source/_integrations/apple_tv.markdown b/source/_integrations/apple_tv.markdown
index f17e597a314..eeec08c3d4a 100644
--- a/source/_integrations/apple_tv.markdown
+++ b/source/_integrations/apple_tv.markdown
@@ -100,7 +100,7 @@ Found Apple TVs:
Note: You must use 'pair' with devices that have home sharing disabled
```
-Just copy and paste the `login_id` from the device you want to add. For more details about `atvremote`, see: [this page](http://pyatv.readthedocs.io/en/master/atvremote.html).
+Just copy and paste the `login_id` from the device you want to add. For more details about `atvremote`, see: [this page](https://pyatv.readthedocs.io/en/master/atvremote.html).
### Setting up device authentication
diff --git a/source/_integrations/apprise.markdown b/source/_integrations/apprise.markdown
new file mode 100644
index 00000000000..b2759586a5d
--- /dev/null
+++ b/source/_integrations/apprise.markdown
@@ -0,0 +1,85 @@
+---
+title: "Apprise"
+description: "Instructions on how to add Apprise notifications to Home Assistant."
+logo: apprise.png
+ha_category:
+ - Notifications
+ha_release: 0.101
+---
+
+The [Apprise service](https://github.com/caronc/apprise/) is an all-in-one solution to open up Home Assistant to _just about_ every Notification platform (such as Amazon SNS, Discord, Telegram, Slack, MSTeams, Twilio, etc.)
+
+To use Apprise supported notifications, add the following to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry using URLs
+notify:
+ - platform: apprise
+ url: YOUR_APPRISE_URLS
+```
+
+You can also pre-define your own configuration files while storing them either remotely or locally. Simply just use the `config` option.
+
+```yaml
+# Example configuration.yaml entry using externally located Apprise
+# Configuration Files/Sites:
+notify:
+ - platform: apprise
+ config: YOUR_APPRISE_CONFIG_URLS
+```
+
+There is no restriction on the number of URLs or Apprise Configuration locations you wish to define. You can also use both of the lines in conjunction with one another:
+
+```yaml
+# Example configuration.yaml entry using all options
+notify:
+ - platform: apprise
+ config: YOUR_APPRISE_CONFIG_URLS
+ url: YOUR_APPRISE_URLS
+```
+
+{% configuration %}
+name:
+ description: The notifier will bind to the service `notify.NAME`.
+ required: false
+ type: string
+ default: notify
+url:
+ description: One or more Apprise URLs
+ required: false
+ type: string
+config:
+ description: One or more Apprise Configuration URLs
+ required: false
+ type: string
+{% endconfiguration %}
+
+#### Example service call
+
+```yaml
+- service: notify.apprise
+ data:
+ message: "A message from Home Assistant"
+```
+
+If you're using configuration files to store your Apprise URLs in, then you have the added bonus of associating tags with them. By default, Apprise in Home Assistant will only notify the elements that have no tags associated with them. You can optionally focus on only notifying a specific service based on the tag(s) you assigned them like so:
+
+```yaml
+- service: notify.apprise
+ data:
+ message: "A message from Home Assistant"
+ target: [
+ "tag_name1",
+ ]
+```
+
+The tag `all` is reserved to notify absolutely everything, whether you have a tag associated with a URL or not.
+
+### Notes
+
+There are over 50 supported Notification services supported by Apprise. Each has their own tweaks and customizations you can leverage.
+
+- For instructions on how to construct the URLs, visit [here](https://github.com/caronc/apprise/wiki#notification-services).
+- For instructions on how you can customize your own Apprise configuration files (referenced through the `config` directive), check out the following:
+ - [Text Formatted URLs](https://github.com/caronc/apprise/wiki/config_text)
+ - [YAML Formatted URLs](https://github.com/caronc/apprise/wiki/config_yaml)
diff --git a/source/_integrations/aquostv.markdown b/source/_integrations/aquostv.markdown
index bf4770c9171..2ac9d50ab56 100644
--- a/source/_integrations/aquostv.markdown
+++ b/source/_integrations/aquostv.markdown
@@ -56,7 +56,7 @@ power_on_enabled:
When you set **power_on_enabled** as True, you have to turn on your TV on the first time with the remote.
Then you will be able to turn on with Home Assistant.
-Also, with **power_on_enabled** as True, the Aquos logo on your TV will stay on when you turn off the TV and your TV could consumes more power.
+Also, with **power_on_enabled** as True, the Aquos logo on your TV will stay on when you turn off the TV and your TV could consume more power.
diff --git a/source/_integrations/arest.markdown b/source/_integrations/arest.markdown
index 5c76d7ab19f..88ee5984748 100644
--- a/source/_integrations/arest.markdown
+++ b/source/_integrations/arest.markdown
@@ -19,7 +19,7 @@ There is currently support for the following device types within Home Assistant:
## Binary Sensor
-The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with an ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework.
+The `arest` binary sensor platform allows you to get all data from your devices (like Arduinos with an ethernet/wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](https://arest.io/) RESTful framework.
To use your aREST binary sensor in your installation, add the following to your `configuration.yaml` file:
@@ -33,7 +33,7 @@ binary_sensor:
{% configuration %}
resource:
- description: IP address and schema of the device that is exposing an aREST API, e.g., http://192.168.1.10.
+ description: IP address and schema of the device that is exposing an aREST API, e.g., `http://192.168.1.10`.
required: true
type: string
pin:
@@ -46,7 +46,7 @@ name:
type: string
{% endconfiguration %}
-Accessing the URL http://IP_ADDRESS/digital/PIN_NUMBER should give you the state of the pin inside a JSON response as `return_value`.
+Accessing the URL `http://IP_ADDRESS/digital/PIN_NUMBER` should give you the state of the pin inside a JSON response as `return_value`.
```bash
$ curl -X GET http://192.168.0.5/digital/9
@@ -70,7 +70,7 @@ This sensor is not suitable for fast state changes because there is a high possi
## Sensor
-The `arest` sensor platform allows you to get all data from your devices (like Arduinos with a Ethernet/Wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework.
+The `arest` sensor platform allows you to get all data from your devices (like Arduinos with a Ethernet/Wifi connection, the ESP8266, and the Raspberry Pi) running the [aREST](https://arest.io/) RESTful framework.
To use your aREST enabled device in your installation, add the following to your `configuration.yaml` file:
@@ -89,7 +89,7 @@ sensor:
{% configuration %}
resource:
- description: "IP address and schema of the device that is exposing an aREST API, e.g., https://192.168.1.10."
+ description: "IP address and schema of the device that is exposing an aREST API, e.g., `https://192.168.1.10`."
required: true
type: string
name:
@@ -145,7 +145,7 @@ monitored_variables:
The variables in the `monitored_variables` array must be available in the response of the device. As a starting point you could use the one of the example sketches (eg. [Ethernet](https://raw.githubusercontent.com/marcoschwartz/aREST/master/examples/Ethernet/Ethernet.ino) for an Arduino with Ethernet shield). In those sketches are two variables (`temperature` and `humidity`) available which will act as endpoints.
-Accessing one of the endpoints (eg. http://192.168.1.10/temperature) will give you the value inside a JSON response.
+Accessing one of the endpoints (eg. `http://192.168.1.10/temperature`) will give you the value inside a JSON response.
```json
{"temperature": 23, "id": "sensor01", "name": "livingroom", "connected": true}
@@ -165,7 +165,7 @@ The root will give you a JSON response that contains all variables and their cur
}
```
-`return_value` contains the sensor's data in a JSON response for a given pin (eg. http://192.168.1.10/analog/2/ or http://192.168.1.10/digital/7/).
+`return_value` contains the sensor's data in a JSON response for a given pin (eg. `http://192.168.1.10/analog/2/` or `http://192.168.1.10/digital/7/`).
```json
{"return_value": 34, "id": "sensor02", "name": "livingroom", "connected": true}
@@ -173,7 +173,7 @@ The root will give you a JSON response that contains all variables and their cur
## Switch
-The `arest` switch platform allows you to toggle pins of your devices (like Arduino boards with an Ethernet/Wifi connection, ESP8266 based devices, and the Raspberry Pi) running the [aREST](http://arest.io/) RESTful framework.
+The `arest` switch platform allows you to toggle pins of your devices (like Arduino boards with an Ethernet/Wifi connection, ESP8266 based devices, and the Raspberry Pi) running the [aREST](https://arest.io/) RESTful framework.
To use your aREST enabled device with pins in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/aruba.markdown b/source/_integrations/aruba.markdown
index 5a5a9de25e3..723ae4765a7 100644
--- a/source/_integrations/aruba.markdown
+++ b/source/_integrations/aruba.markdown
@@ -8,7 +8,7 @@ ha_release: 0.7
---
-This platform allows you to detect presence by looking at connected devices to an [Aruba Instant](http://www.arubanetworks.com/products/networking/aruba-instant/) device.
+This platform allows you to detect presence by looking at connected devices to an [Aruba Instant](https://www.arubanetworks.com/products/networking/aruba-instant/) device.
Supported devices (tested):
diff --git a/source/_integrations/arwn.markdown b/source/_integrations/arwn.markdown
index d1c4da78690..b1eb557a99f 100644
--- a/source/_integrations/arwn.markdown
+++ b/source/_integrations/arwn.markdown
@@ -7,7 +7,7 @@ ha_release: 0.31
ha_iot_class: Local Polling
---
-The `arwn` sensor platform is a client for the [Ambient Radio Weather Network](http://github.com/sdague/arwn) project. This collects weather station data and makes it available in an MQTT subtree.
+The `arwn` sensor platform is a client for the [Ambient Radio Weather Network](https://github.com/sdague/arwn) project. This collects weather station data and makes it available in an MQTT subtree.
To use your ARWN setup, you must already have configured the [MQTT](/integrations/mqtt/) platform. Then add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/asterisk_mbox.markdown b/source/_integrations/asterisk_mbox.markdown
index 31a8f5ab2ae..7c702b3a58f 100644
--- a/source/_integrations/asterisk_mbox.markdown
+++ b/source/_integrations/asterisk_mbox.markdown
@@ -34,7 +34,7 @@ password:
required: true
type: string
host:
- description: The ip-address of the server that is running the Asterisk PBX
+ description: The IP-address of the server that is running the Asterisk PBX
required: true
type: string
port:
diff --git a/source/_integrations/asuswrt.markdown b/source/_integrations/asuswrt.markdown
index 7c573c94243..82aa97b7ef1 100644
--- a/source/_integrations/asuswrt.markdown
+++ b/source/_integrations/asuswrt.markdown
@@ -10,7 +10,7 @@ ha_release: 0.83
ha_iot_class: Local Polling
---
-The `asuswrt` integration is the main integration to connect to a [ASUSWRT](http://event.asus.com/2013/nw/ASUSWRT/) based router.
+The `asuswrt` integration is the main integration to connect to a [ASUSWRT](https://event.asus.com/2013/nw/ASUSWRT/) based router.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/atome.markdown b/source/_integrations/atome.markdown
index 154340087f7..f0f71f152e5 100644
--- a/source/_integrations/atome.markdown
+++ b/source/_integrations/atome.markdown
@@ -12,7 +12,7 @@ ha_iot_class: Cloud Polling
The `atome` sensor platform is retrieving the consumption of your home from the [Direct Energy Atome electric meter](https://total.direct-energie.com/particuliers/electricite/compteur-linky/atome).
This special little device is connected to a Linky Electric Meter, and sends live data to a cloud platform.
-As there is no official documentation for the API, the component retrieves data from the API used in the Atome mobile app, [hosted here](http://esoftlink.esoftthings.com).
+As there is no official documentation for the API, the component retrieves data from the API used in the Atome mobile app, [hosted here](https://esoftlink.esoftthings.com/).
## Configuration
diff --git a/source/_integrations/august.markdown b/source/_integrations/august.markdown
index 06e70a946a7..a4c956714c2 100644
--- a/source/_integrations/august.markdown
+++ b/source/_integrations/august.markdown
@@ -11,7 +11,7 @@ ha_release: 0.64
ha_iot_class: Cloud Polling
---
-The `august` integration allows you to integrate your [August](http://august.com) devices in Home Assistant.
+The `august` integration allows you to integrate your [August](https://august.com/) devices in Home Assistant.
There is currently support for the following device types within Home Assistant:
@@ -74,4 +74,4 @@ If you have August Smart Lock with DoorSense, once you have enabled the August c
### Camera
-The `august` camera platform allows you to view the latest camera image (triggered by motion) by your [August](http://august.com) device in Home Assistant.
+The `august` camera platform allows you to view the latest camera image (triggered by motion) by your [August](https://august.com/) device in Home Assistant.
diff --git a/source/_integrations/aurora.markdown b/source/_integrations/aurora.markdown
index 57e7c5fa6f7..b4d12cacc29 100644
--- a/source/_integrations/aurora.markdown
+++ b/source/_integrations/aurora.markdown
@@ -7,7 +7,7 @@ ha_release: 0.39
logo: noaa.png
---
-The `aurora` platform uses the [NOAA aurora forecast](http://www.swpc.noaa.gov/products/aurora-30-minute-forecast) service to let you know if an aurora might be visible at your home location in the next 30 minutes, based off of current solar flare activity.
+The `aurora` platform uses the [NOAA aurora forecast](https://www.swpc.noaa.gov/products/aurora-30-minute-forecast) service to let you know if an aurora might be visible at your home location in the next 30 minutes, based off of current solar flare activity.
This service gives a number 0-100 representing the current likelihood of visible auroras at your latitude/longitude. By default this sensor is set up to trigger when the reported likelihood for your location is > 75. It updates every 5 minutes.
diff --git a/source/_integrations/automatic.markdown b/source/_integrations/automatic.markdown
index 8aa3063d249..fb9db70b934 100644
--- a/source/_integrations/automatic.markdown
+++ b/source/_integrations/automatic.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Cloud Push
---
-The `automatic` device tracker platform offers presence detection by retrieving your car's information from the [Automatic](http://automatic.com/) cloud service.
+The `automatic` device tracker platform offers presence detection by retrieving your car's information from the [Automatic](https://automatic.com/) cloud service.
## Setup
diff --git a/source/_integrations/automation.markdown b/source/_integrations/automation.markdown
index 9306cd54a3b..33e487071e1 100644
--- a/source/_integrations/automation.markdown
+++ b/source/_integrations/automation.markdown
@@ -11,8 +11,6 @@ ha_release: 0.7
Please see the [docs section](/docs/automation/) for in-depth
documentation on how to use the automation component.
-Starting with 0.28 your automation rules can be controlled with the frontend.
-
@@ -33,3 +31,12 @@ automation:
- platform: state
...
```
+
+## Configuration
+
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
+
+```yaml
+# Example configuration.yaml entry
+automation:
+```
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/aws.markdown b/source/_integrations/aws.markdown
index 259f8053a2f..0c501748cea 100644
--- a/source/_integrations/aws.markdown
+++ b/source/_integrations/aws.markdown
@@ -72,7 +72,7 @@ region_name:
required: true
type: string
credential_name:
- description: A reference to a `aws` credential. Notify platform will use the `default profile` defined in `~/.aws` if none of `credential_name`, `aws_access_key_id`, or `profile_name` was given.
+ description: A reference to an `aws` credential. Notify platform will use the `default profile` defined in `~/.aws` if none of `credential_name`, `aws_access_key_id`, or `profile_name` was given.
required: false
type: string
aws_access_key_id:
@@ -100,7 +100,7 @@ context:
## Lambda Notify Usage
-AWS Lambda is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will invoke a Lambda for all targets given in the notification payload. A target can be formatted as a function name, an entire ARN ([Amazon Resource Name](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)) or a partial ARN. For more information, please see the [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html#Lambda.Client.invoke).
+AWS Lambda is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will invoke a Lambda for all targets given in the notification payload. A target can be formatted as a function name, an entire ARN ([Amazon Resource Name](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)) or a partial ARN. For more information, please see the [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html#Lambda.Client.invoke).
The Lambda event payload will contain everything passed in the service call payload. Here is an example payload that would be sent to Lambda:
@@ -128,7 +128,7 @@ The context will look like this:
## SNS Notify Usage
-AWS SNS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to all targets given in the notification payload. A target must be a SNS topic or endpoint ARN ([Amazon Resource Name](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)). For more information, please see the [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html#SNS.Client.publish).
+AWS SNS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to all targets given in the notification payload. A target must be a SNS topic or endpoint ARN ([Amazon Resource Name](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)). For more information, please see the [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html#SNS.Client.publish).
If one exists, the SNS Subject will be set to the title. All attributes from the payload, except the message, will be sent as stringified message attributes.
@@ -154,14 +154,14 @@ If you do not download them, you will lose them and will have to recreate a new
## SQS Notify Usage
-AWS SQS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the queue for all targets given in the notification payload. A target must be a SQS topic URL. For more information, please see the [SQS docs](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ImportantIdentifiers.html) and [bototcore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.send_message)
+AWS SQS is a notification platform and thus can be controlled by calling the `notify` service [as described here](/integrations/notify/). It will publish a message to the queue for all targets given in the notification payload. A target must be a SQS topic URL. For more information, please see the [SQS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ImportantIdentifiers.html) and [bototcore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.send_message)
The SQS event payload will contain everything passed in the service call payload. SQS payloads will be published as stringified JSON. All attributes from the payload, except message, will also be sent as stringified message attributes. Here is an example message that would be published to the SQS queue:
```json
{
"title": "Test message!",
- "target": "http://sqs.us-east-1.amazonaws.com/123456789012/queue2",
+ "target": "https://sqs.us-east-1.amazonaws.com/123456789012/queue2%22,
"data": {
"test": "okay"
},
diff --git a/source/_integrations/bbb_gpio.markdown b/source/_integrations/bbb_gpio.markdown
index f977d033f4f..389315e7f50 100644
--- a/source/_integrations/bbb_gpio.markdown
+++ b/source/_integrations/bbb_gpio.markdown
@@ -64,7 +64,7 @@ pins:
default: UP
{% endconfiguration %}
-For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black.
+For more details about the GPIO layout, visit the [article](https://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black.
## Switch
@@ -112,4 +112,4 @@ pins:
type: boolean
{% endconfiguration %}
-For more details about the GPIO layout, visit the [article](http://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black.
+For more details about the GPIO layout, visit the [article](https://elinux.org/Beagleboard:BeagleBoneBlack) about the BeagleBone Black.
diff --git a/source/_integrations/binary_sensor.knx.markdown b/source/_integrations/binary_sensor.knx.markdown
index 47bba637991..2818ad36a1b 100644
--- a/source/_integrations/binary_sensor.knx.markdown
+++ b/source/_integrations/binary_sensor.knx.markdown
@@ -14,7 +14,7 @@ The `knx` integration must be configured correctly to use this integration, see
-The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) binary sensors.
+The `knx` sensor platform allows you to monitor [KNX](https://www.knx.org/) binary sensors.
Binary sensors are read-only. To write to the knx-bus configure an exposure [KNX Integration - Expose](/integrations/knx/#exposing-sensor-values-or-time-to-knx-bus).
diff --git a/source/_integrations/binary_sensor.mqtt.markdown b/source/_integrations/binary_sensor.mqtt.markdown
index 299806c456d..ddfc675a21d 100644
--- a/source/_integrations/binary_sensor.mqtt.markdown
+++ b/source/_integrations/binary_sensor.mqtt.markdown
@@ -81,7 +81,7 @@ unique_id:
required: false
type: string
device_class:
- description: Sets the [class of the device](/integrations/binary_sensor/), changing the device state and icon that is displayed on the frontend.
+ description: Sets the [class of the device](/integrations/binary_sensor/#device-class), changing the device state and icon that is displayed on the frontend.
required: false
type: string
expire_after:
diff --git a/source/_integrations/binary_sensor.mysensors.markdown b/source/_integrations/binary_sensor.mysensors.markdown
index a6d7cafb5c2..8b42a3c5504 100644
--- a/source/_integrations/binary_sensor.mysensors.markdown
+++ b/source/_integrations/binary_sensor.mysensors.markdown
@@ -37,10 +37,10 @@ For more information, visit the [serial api] of MySensors.
```cpp
/**
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
- * http://www.mysensors.org/build/binary
+ * https://www.mysensors.org/build/binary
*/
@@ -82,4 +82,4 @@ void loop()
```
[main component]: /integrations/mysensors/
-[serial api]: http://www.mysensors.org/download
+[serial api]: https://www.mysensors.org/download
diff --git a/source/_integrations/binary_sensor.template.markdown b/source/_integrations/binary_sensor.template.markdown
index 381493deffb..b8fa12ad0bb 100644
--- a/source/_integrations/binary_sensor.template.markdown
+++ b/source/_integrations/binary_sensor.template.markdown
@@ -238,7 +238,7 @@ binary_sensor:
### Device Tracker sensor with Latitude and Longitude Attributes
-This example shows how to combine an non-GPS (e.g. NMAP) and GPS device tracker while still including latitude and longitude attributes
+This example shows how to combine a non-GPS (e.g. NMAP) and GPS device tracker while still including latitude and longitude attributes
{% raw %}
```yaml
diff --git a/source/_integrations/binary_sensor.xiaomi_aqara.markdown b/source/_integrations/binary_sensor.xiaomi_aqara.markdown
index 0103f255b27..b25eb39897e 100644
--- a/source/_integrations/binary_sensor.xiaomi_aqara.markdown
+++ b/source/_integrations/binary_sensor.xiaomi_aqara.markdown
@@ -8,7 +8,7 @@ ha_release: "0.50"
ha_iot_class: Local Push
---
-The `xiaomi aqara` binary sensor platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) binary sensors.
+The `xiaomi aqara` binary sensor platform allows you to get data from your [Xiaomi](https://www.mi.com/en/) binary sensors.
The requirement is that you have setup the [`xiaomi aqara` integration](/integrations/xiaomi_aqara/).
@@ -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/bizkaibus.markdown b/source/_integrations/bizkaibus.markdown
index bd5b94cbe84..c2fa349ffe0 100644
--- a/source/_integrations/bizkaibus.markdown
+++ b/source/_integrations/bizkaibus.markdown
@@ -11,7 +11,7 @@ ha_release: 0.93
The `bizkaibus` sensor will give you the time until the next bus in the selected stop.
-The next website can help to determine the id of your bus stop. You can check if this is correct by going to [next link](http://apli.bizkaia.net/APPS/DANOK/TQ/DATOS_PARADAS/DATOS_Paradas.xml) and look the PR_CODE for the STOP_ID.
+The next website can help to determine the id of your bus stop. You can check if this is correct by going to [next link](https://apli.bizkaia.net/APPS/DANOK/TQ/DATOS_PARADAS/DATOS_Paradas.xml) and look the PR_CODE for the STOP_ID.
For a correct use of the sensor the selected route must stop in the selected stop.
@@ -41,4 +41,4 @@ name:
type: string
{% endconfiguration %}
-The public RTPI information is coming from [Bizkaibus API](http://apli.bizkaia.net/APPS/DANOK/TQWS/TQ.ASMX).
+The public RTPI information is coming from [Bizkaibus API](https://apli.bizkaia.net/APPS/DANOK/TQWS/TQ.ASMX).
diff --git a/source/_integrations/blink.markdown b/source/_integrations/blink.markdown
index 9fd9274e4e6..0639b502f63 100644
--- a/source/_integrations/blink.markdown
+++ b/source/_integrations/blink.markdown
@@ -12,7 +12,7 @@ ha_release: "0.40"
ha_iot_class: Cloud Polling
---
-The `blink` integration lets you view camera images and motion events from [Blink](http://blinkforhome.com) camera and security systems.
+The `blink` integration lets you view camera images and motion events from [Blink](https://blinkforhome.com/) camera and security systems.
## Setup
diff --git a/source/_integrations/bluesound.markdown b/source/_integrations/bluesound.markdown
index b83195ed7a8..3deaec8ce09 100644
--- a/source/_integrations/bluesound.markdown
+++ b/source/_integrations/bluesound.markdown
@@ -8,7 +8,7 @@ ha_release: 0.51
ha_iot_class: Local Polling
---
-The `bluesound` platform allows you to control your [Bluesound](http://www.bluesound.com/) HiFi wireless speakers and audio integrations from Home Assistant.
+The `bluesound` platform allows you to control your [Bluesound](https://www.bluesound.com/) HiFi wireless speakers and audio integrations from Home Assistant.
If you want to automatically discover new devices, just make sure you have discovery: in your configuration.yaml file. To manually add a Bluesound device to your installation, add the following to your configuration.yaml file:
diff --git a/source/_integrations/bluetooth_le_tracker.markdown b/source/_integrations/bluetooth_le_tracker.markdown
index 130bac4db10..3154c973979 100644
--- a/source/_integrations/bluetooth_le_tracker.markdown
+++ b/source/_integrations/bluetooth_le_tracker.markdown
@@ -49,7 +49,7 @@ Some BTLE devices (e.g., fitness trackers) are only visible to the devices that
## Rootless Setup
-Normally accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 and hcitool the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see [Stack Exchange](http://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root) for more information).
+Normally accessing the Bluetooth stack is reserved for root, but running programs that are networked as root is a bad security wise. To allow non-root access to the Bluetooth stack we can give Python 3 and hcitool the missing capabilities to access the Bluetooth stack. Quite like setting the setuid bit (see [Stack Exchange](https://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root) for more information).
```bash
sudo apt-get install libcap2-bin
diff --git a/source/_integrations/bluetooth_tracker.markdown b/source/_integrations/bluetooth_tracker.markdown
index 030d2431252..a520b9b9d77 100644
--- a/source/_integrations/bluetooth_tracker.markdown
+++ b/source/_integrations/bluetooth_tracker.markdown
@@ -10,6 +10,12 @@ ha_release: 0.18
This tracker discovers new devices on boot and tracks Bluetooth devices periodically based on `interval_seconds` value. It is not required to pair the devices with each other! Devices discovered are stored with 'bt_' as the prefix for device MAC addresses in `known_devices.yaml`.
+This platform requires pybluez to be installed. On Debian based installs, run
+
+```bash
+sudo apt install bluetooth libbluetooth-dev
+```
+
To use the Bluetooth tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
diff --git a/source/_integrations/bom.markdown b/source/_integrations/bom.markdown
index 5d0dacef237..ba8d6710074 100644
--- a/source/_integrations/bom.markdown
+++ b/source/_integrations/bom.markdown
@@ -204,8 +204,8 @@ sensor:
To get the station ID for any BOM station:
- Find your station on these maps: [NSW](http://www.bom.gov.au/nsw/observations/map.shtml), [QLD](http://www.bom.gov.au/qld/observations/map.shtml), [VIC](http://www.bom.gov.au/vic/observations/map.shtml), [WA](http://www.bom.gov.au/wa/observations/map.shtml), [SA](http://www.bom.gov.au/sa/observations/map.shtml), [TAS](http://www.bom.gov.au/tas/observations/map.shtml), [ACT](http://www.bom.gov.au/act/observations/canberramap.shtml), [NT](http://www.bom.gov.au/nt/observations/map.shtml).
- alternatively, from the [BOM website](http://www.bom.gov.au/), navigate to State -> Observations -> Latest Observations -> Choose the station.
-- The URL will look like: http://www.bom.gov.au/products/IDx60801/[station].shtml
- - For Adelaide, the URL will look like `http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml`; the station ID is `IDS60801.94675`.
+- The URL will look like `http://www.bom.gov.au/products/IDx60801/[station].shtml`
+- For Adelaide, the URL will look like `http://www.bom.gov.au/products/IDS60801/IDS60801.94675.shtml`; the station ID is `IDS60801.94675`.
{% configuration %}
station:
diff --git a/source/_integrations/braviatv.markdown b/source/_integrations/braviatv.markdown
index 6c1054e7b7b..0708f5314a7 100644
--- a/source/_integrations/braviatv.markdown
+++ b/source/_integrations/braviatv.markdown
@@ -8,9 +8,9 @@ ha_release: 0.23
ha_iot_class: Local Polling
---
-The `braviatv` platform allows you to control a [Sony Bravia TV](http://www.sony.com).
+The `braviatv` platform allows you to control a [Sony Bravia TV](https://www.sony.com/).
-Almost all [Sony Bravia TV 2013 and newer](http://info.tvsideview.sony.net/en_ww/home_device.html#bravia) are supported. A more generic method for older TVs connected to a Raspberry Pi with HDMI-CEC is explained further below.
+Almost all [Sony Bravia TV 2013 and newer](https://info.tvsideview.sony.net/en_ww/home_device.html#bravia) are supported. A more generic method for older TVs connected to a Raspberry Pi with HDMI-CEC is explained further below.
You will need to configure your TV to allow the Home Assistant for remote usage. To do that, ensure that your TV is turned on. Open the configuration popup on Home Assistant and enter a random PIN (for example 0000). After that, the TV will show you a PIN and Home Assistant will allow you to re-enter that PIN. Enter the PIN shown on your TV and Home Assistant will be able to control your Sony Bravia TV.
diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown
index ccb7e4a7f81..28c92e02850 100644
--- a/source/_integrations/broadlink.markdown
+++ b/source/_integrations/broadlink.markdown
@@ -119,7 +119,7 @@ pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCryp
## Switch
-This `Broadlink` switch platform allow to you control Broadlink [devices](http://www.ibroadlink.com/).
+This `Broadlink` switch platform allow to you control Broadlink [devices](https://www.ibroadlink.com/).
### Configuration
@@ -357,7 +357,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro
Not every code works.
8. Convert the HEX codes to base64.
- Use [this](http://tomeko.net/online_tools/hex_to_base64.php?lang=en1) tool to convert the hex codes to base64 for use with Home Assistant.
+ Use [this](https://tomeko.net/online_tools/hex_to_base64.php?lang=en1) tool to convert the hex codes to base64 for use with Home Assistant.
### Using iOS and Windows to obtain codes
@@ -367,7 +367,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro
- Download and install Python 2.7 on your windows PC.
- Run `pip install simplejson`. You must install simplejson in the same python version you will use to run the scripts. You can ensure that the current version is installed by attempting to install again and confirming that you see "Requirement already satisfied".
- - Download and install [iBackup Viewer](http://www.imactools.com/iphonebackupviewer/).
+ - Download and install [iBackup Viewer](https://www.imactools.com/iphonebackupviewer/).
- Download [these](https://github.com/NightRang3r/Broadlink-e-control-db-dump) github files. Make sure you place them in the \Python27 path in Windows. Be sure that the getBroadlinkSharedData.py from the download is in this directory.
3. Plug your iphone into your windows PC, open iTunes and create a non-encrypted backup of your device.
diff --git a/source/_integrations/buienradar.markdown b/source/_integrations/buienradar.markdown
index db479bdb477..35ce1f630e8 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).
@@ -73,7 +73,7 @@ The weather platform is easier to configure but less customizable.
## Camera
-The `buienradar` camera platform uses [buienradar.nl](http://buienradar.nl/) as a source for the last rain radar map. The overview image of the whole of the Netherlands is loaded and shown as a camera in Home Assistant.
+The `buienradar` camera platform uses [buienradar.nl](https://buienradar.nl/) as a source for the last rain radar map. The overview image of the whole of the Netherlands is loaded and shown as a camera in Home Assistant.
Internally this component uses the radar map image as [documented](https://www.buienradar.nl/overbuienradar/gratis-weerdata) on buienradar.nl.
The downloaded image is cached to prevent Home Assistant from making a new request to buienradar.nl multiple times a minute when Home Assistant checks for new stills from the camera.
@@ -113,5 +113,5 @@ version of the name will be used as the name of the entity.
With the default of "Buienradar loop" the entity name becomes
`camera.buienradar_loop`.
-[Usage statement:](https://www.buienradar.nl/overbuienradar/gratis-weerdata)
-> Buienradar makes free weather data available for use by individuals and businesses (website/intranet). The use of the weather data is allowed for **non-commercial purposes**. Please refer to the full usage statement linked above to confirm your use or to request permission.
+_[Usage statement:](https://www.buienradar.nl/overbuienradar/gratis-weerdata)
+Buienradar makes free weather data available for use by individuals and businesses (website/intranet). The use of the weather data is allowed for **non-commercial purposes**. Please refer to the full usage statement linked above to confirm your use or to request permission._
diff --git a/source/_integrations/calendar.google.markdown b/source/_integrations/calendar.google.markdown
index fb2ade2bd60..15d67f27e32 100644
--- a/source/_integrations/calendar.google.markdown
+++ b/source/_integrations/calendar.google.markdown
@@ -23,13 +23,13 @@ Generate a Client ID and Client Secret on
1. Follow the wizard using the following information.
1. When it gets to the point of asking _Which API are you using?_ just click cancel.
-1. Under APIs & Services > Credentials, click on the tab 'OAuth consent screen'.
+1. Under APIs & Services (left sidebar) > Credentials, click on the tab 'OAuth consent screen'.
1. Set the 'Application Name' (the name of the application asking for consent) to anything you want. We suggest "Home-Assistant".
1. Save this page. You don't have to fill out anything else there.
-1. Click 'Create credentials' -> OAuth client ID.
-1. Set the Application type to 'Other' and give this credential set a name then click Create.
+1. Under APIs & Services > Credentials, click 'Create credentials' > OAuth client ID.
+1. Set the Application type to 'Other' and give this credential set a name then click 'Create'.
1. Copy the client ID and secret to a text editor temporarily as you will need to put these in your `configuration.yaml` file.
-1. Under "API's and Services" (left sidebar), click on "Library." Search for "Google Calendar API" and enable it if it isn't already enabled automatically through this process.
+1. Under APIs and Services > Library, search for "Google Calendar API" and enable it if it isn't already enabled automatically through this process.
If you will be adding more scopes than just the "Google Calendar API" to the OAuth for this application, you will need to delete your token file. You will lose your refresh token due to the re-authenticating to add more API access. It's recommended to use different authorizations for different pieces of Google.
diff --git a/source/_integrations/camera.ffmpeg.markdown b/source/_integrations/camera.ffmpeg.markdown
index a3e33350977..b8f497cc3b2 100644
--- a/source/_integrations/camera.ffmpeg.markdown
+++ b/source/_integrations/camera.ffmpeg.markdown
@@ -8,7 +8,7 @@ ha_release: 0.26
ha_iot_class: Local Polling
---
-The `ffmpeg` platform allows you to use any video feed as a camera in Home Assistant via [FFmpeg](http://www.ffmpeg.org/). This video source must support multiple simultaneous reads, because for every concurrent Home Assistant user, a connection will be made to the source every 10 seconds. Normally this should not be a problem.
+The `ffmpeg` platform allows you to use any video feed as a camera in Home Assistant via [FFmpeg](https://www.ffmpeg.org/). This video source must support multiple simultaneous reads, because for every concurrent Home Assistant user, a connection will be made to the source every 10 seconds. Normally this should not be a problem.
## Configuration
diff --git a/source/_integrations/camera.markdown b/source/_integrations/camera.markdown
index d59c1cacebe..04848b97c3c 100644
--- a/source/_integrations/camera.markdown
+++ b/source/_integrations/camera.markdown
@@ -134,8 +134,6 @@ Turn on camera. Not all camera models support this service, please consult indiv
A simple way to test if you have set up your `camera` platform correctly, is to use **Services** from the **Developer Tools**. Choose your service from the dropdown menu **Service**, enter something like the sample below into the **Service Data** field, and hit **CALL SERVICE**.
-```json
-{
- "entity_id": "camera.living_room_camera"
-}
+```yaml
+entity_id: camera.living_room_camera
```
diff --git a/source/_integrations/cast.markdown b/source/_integrations/cast.markdown
index 4894da7624e..eff0317b1ac 100644
--- a/source/_integrations/cast.markdown
+++ b/source/_integrations/cast.markdown
@@ -13,7 +13,7 @@ You can enable the Cast integration by going to the Integrations page inside the
## Home Assistant Cast
-Home Assistant has its own Cast application to show the Home Assistant UI. You can load it on your Chromecast by adding the [Cast entity row](/lovelace/entities/#cast) to your Lovelace UI or by using the `cast.show_lovelace_ui` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on.
+Home Assistant has its own Cast application to show the Home Assistant UI on any Chromecast device. You can use it by adding the [Cast entity row](/lovelace/entities/#cast) to your Lovelace UI, or by calling the `cast.show_lovelace_view` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on.
```json
{
@@ -22,19 +22,6 @@ Home Assistant has its own Cast application to show the Home Assistant UI. You c
}
```
-## Home Assistant Cast
-
-The Cast integration allows you to start Home Assistant Cast on any Chromecast device, using the `cast.show_lovelace_view` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on.
-
-```json
-{
- "entity_id": "media_player.office_display_4",
- "view_path": "lights"
-}
-```
-
-## Advanced use
-
Note that Home Assistant Cast requires your Home Assistant installation to be accessible via `https://`. If you're using Home Assistant Cloud, you don't need to do anything. Otherwise you must make sure that you have configured the `base_url` for [the `http` integration](/integrations/http/).
## Advanced use
diff --git a/source/_integrations/cisco_ios.markdown b/source/_integrations/cisco_ios.markdown
index 4960c9582f1..4b6fad84935 100644
--- a/source/_integrations/cisco_ios.markdown
+++ b/source/_integrations/cisco_ios.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.33
---
-This is a presence detection scanner for [Cisco](http://www.cisco.com) IOS devices.
+This is a presence detection scanner for [Cisco](https://www.cisco.com/) IOS devices.
This device tracker needs SSH to be enabled on the router.
diff --git a/source/_integrations/climate.knx.markdown b/source/_integrations/climate.knx.markdown
index c6612ca868f..2fd5dc2cf48 100644
--- a/source/_integrations/climate.knx.markdown
+++ b/source/_integrations/climate.knx.markdown
@@ -172,6 +172,11 @@ on_off_address:
description: KNX address for switching the climate device on/off.
required: false
type: string
+on_off_invert:
+ description: Value for switching the climate device on/off is inverted.
+ required: false
+ default: false
+ type: boolean
on_off_state_address:
description: KNX address for gathering the current state (on/off) of the climate device.
required: false
diff --git a/source/_integrations/climate.markdown b/source/_integrations/climate.markdown
index 1b367c3e967..de691fce92c 100644
--- a/source/_integrations/climate.markdown
+++ b/source/_integrations/climate.markdown
@@ -8,7 +8,7 @@ ha_qa_scale: internal
ha_release: 0.19
---
-The `climate` integration is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) and thermostat devices.
+The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats.
## Services
@@ -16,7 +16,7 @@ The `climate` integration is built for the controlling and monitoring of HVAC (h
Available services: `climate.set_aux_heat`, `climate.set_preset_mode`, `climate.set_temperature`, `climate.set_humidity`, `climate.set_fan_mode`, `climate.set_hvac_mode`, `climate.set_swing_mode`, `climate.turn_on`, `climate.turn_off`
-
\
+
Not all climate services may be available for your platform. Be sure to check the available services Home Assistant has enabled by checking **Services**.
@@ -28,7 +28,7 @@ Turn auxiliary heater on/off for climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
| `aux_heat` | no | New value of auxiliary heater.
#### Automation example
@@ -47,13 +47,13 @@ automation:
### Service `climate.set_preset_mode`
-Set preset mode for climate device. The away mode changes the target temperature permanently to a temperature
-reflecting a situation where the climate device is set to save energy. This may be used to emulate a
-"vacation mode", for example.
+Set preset mode for climate device. Away mode changes the target temperature permanently to a temperature
+reflecting a situation where the climate device is set to save energy. For example, this may be used to emulate a
+"vacation mode."
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
| `preset_mode` | no | New value of preset mode.
#### Automation example
@@ -76,15 +76,16 @@ Set target temperature of climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
-| `temperature` | no | New target temperature for hvac
-| `target_temp_high` | yes | New target high temperature for hvac
-| `target_temp_low` | yes | New target low temperature for hvac
-| `hvac_mode` | yes | HVAC mode to set temperature to. This defaults to current HVAC mode if not set, or set incorrectly.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
+| `temperature` | no | New target temperature for climate device (commonly referred to as a *setpoint*). Do not use if `hvac_mode` is `heat_cool`.
+| `target_temp_high` | yes | The highest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`.
+| `target_temp_low` | yes | The lowest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`.
+| `hvac_mode` | yes | HVAC mode to set the climate device to. This defaults to current HVAC mode if not set, or set incorrectly.
-#### Automation example
+#### Automation examples
```yaml
+### Set temperature to 24 in heat mode
automation:
trigger:
platform: time
@@ -97,13 +98,28 @@ automation:
hvac_mode: heat
```
+```yaml
+### Set temperature range to 20 to 24 in heat_cool mode
+automation:
+ trigger:
+ platform: time
+ at: "07:15:00"
+ action:
+ - service: climate.set_temperature
+ data:
+ entity_id: climate.kitchen
+ target_temp_high: 24
+ target_temp_low: 20
+ hvac_mode: heat_cool
+```
+
### Service `climate.set_humidity`
Set target humidity of climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
| `humidity` | no | New target humidity for climate device
#### Automation example
@@ -126,7 +142,7 @@ Set fan operation for climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
| `fan_mode` | no | New value of fan mode
#### Automation example
@@ -145,11 +161,11 @@ automation:
### Service `climate.set_hvac_mode`
-Set HVAC mode for climate device
+Set climate device's HVAC mode
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
| `hvac_mode` | no | New value of HVAC mode
#### Automation example
@@ -172,7 +188,7 @@ Set swing operation mode for climate device
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
| `swing_mode` | no | New value of swing mode
#### Automation example
@@ -195,12 +211,12 @@ Turn climate device on. This is only supported if the climate device supports be
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
### Service `climate.turn_off`
-Turn climate device off. This is only supported if the climate device has the hvac mode "off".
+Turn climate device off. This is only supported if the climate device has the hvac mode `off`.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.
+| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown
index 98194bb63b9..13695adc756 100644
--- a/source/_integrations/climate.mqtt.markdown
+++ b/source/_integrations/climate.mqtt.markdown
@@ -121,6 +121,14 @@ modes:
required: false
default: ['auto', 'off', 'cool', 'heat', 'dry', 'fan_only']
type: list
+action_topic:
+ description: The MQTT topic on which to listen for the current action state of the HVAC. Expects `idle`, `cooling`, `heating`, `drying`, or `off`.
+ required: false
+ type: string
+action_template:
+ description: A template to render the value received on the `action_topic` with.
+ requred: false
+ type: template
temperature_command_topic:
description: The MQTT topic to publish commands to change the target temperature.
required: false
diff --git a/source/_integrations/climate.mysensors.markdown b/source/_integrations/climate.mysensors.markdown
index e5bab774b6e..542e21a4d56 100644
--- a/source/_integrations/climate.mysensors.markdown
+++ b/source/_integrations/climate.mysensors.markdown
@@ -42,8 +42,8 @@ For more information, visit the [serial api] of MySensors.
```cpp
/*
-* Documentation: http://www.mysensors.org
-* Support Forum: http://forum.mysensors.org
+* Documentation: https://www.mysensors.org
+* Support Forum: https://forum.mysensors.org
*/
#define MY_RADIO_NRF24
@@ -187,8 +187,8 @@ void sendHeatpumpCommand() {
```cpp
/*
-* Documentation: http://www.mysensors.org
-* Support Forum: http://forum.mysensors.org
+* Documentation: https://www.mysensors.org
+* Support Forum: https://forum.mysensors.org
*/
#include
@@ -257,4 +257,4 @@ void incomingMessage(const MyMessage &message) {
```
[main component]: /integrations/mysensors/
-[serial api]: http://www.mysensors.org/download
+[serial api]: https://www.mysensors.org/download
diff --git a/source/_integrations/cloud.markdown b/source/_integrations/cloud.markdown
index 34c539b38c4..e643ee603b1 100644
--- a/source/_integrations/cloud.markdown
+++ b/source/_integrations/cloud.markdown
@@ -10,6 +10,10 @@ ha_iot_class: Cloud Push
The Home Assistant Cloud allows you to quickly integrate your local Home Assistant with various cloud services like Amazon Alexa and Google Assistant. [Learn more.](/cloud)
+## Configuration
+
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
+
```yaml
# Example configuration.yaml entry to enable the cloud component
cloud:
diff --git a/source/_integrations/co2signal.markdown b/source/_integrations/co2signal.markdown
index 260c02b7419..48808af9f26 100644
--- a/source/_integrations/co2signal.markdown
+++ b/source/_integrations/co2signal.markdown
@@ -8,7 +8,7 @@ ha_release: 0.87
ha_iot_class: Cloud Polling
---
-The `co2signal` sensor platform queries the [CO2Signal](https://www.co2signal.com/) API for the CO2 intensity of a specific region. Data can be collected via latitude/longitude or by country code. This API uses the same data as https://www.electricitymap.org/. Not all countries/regions in the world are supported so please consult this website to check local availability.
+The `co2signal` sensor platform queries the [CO2Signal](https://www.co2signal.com/) API for the CO2 intensity of a specific region. Data can be collected via latitude/longitude or by country code. This API uses the same data as Not all countries/regions in the world are supported so please consult this website to check local availability.
This platform requires a CO2Signal API key, which can be obtained [here](https://www.co2signal.com/). Note that this API key is for personal use only and other options exist when the data is used commercially.
diff --git a/source/_integrations/coinmarketcap.markdown b/source/_integrations/coinmarketcap.markdown
index 3f143ccd8a0..a5d8d3d2e6a 100644
--- a/source/_integrations/coinmarketcap.markdown
+++ b/source/_integrations/coinmarketcap.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Cloud Polling
---
-The `coinmarketcap` sensor platform displays various details about a cryptocurrency provided by [CoinMarketCap](http://coinmarketcap.com/).
+The `coinmarketcap` sensor platform displays various details about a cryptocurrency provided by [CoinMarketCap](https://coinmarketcap.com/).
To add the CoinMarketCap sensor to your installation, add the following lines to your `configuration.yaml`:
diff --git a/source/_integrations/comfoconnect.markdown b/source/_integrations/comfoconnect.markdown
index 1ab6097aa18..476d13a786d 100644
--- a/source/_integrations/comfoconnect.markdown
+++ b/source/_integrations/comfoconnect.markdown
@@ -8,8 +8,8 @@ ha_category:
ha_release: 0.48
---
-The `comfoconnect` integration lets you control Zehnder ComfoAir [Q350](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-st)/[450](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-st)/[600](http://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st)
-ventilation units from Home Assistant. You need a [ComfoConnect LAN C](http://www.zehnder.co.uk/products-and-systems/comfortable-indoor-ventilation/ms-comfoair-q/ideal-control#node-21233)
+The `comfoconnect` integration lets you control Zehnder ComfoAir [Q350](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q350-tr)/[Q450](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q450-tr)/[Q600](https://www.international.zehnder-systems.com/products-and-systems/comfosystems/zehnder-comfoair-q600-st)
+ventilation units from Home Assistant. You need a [ComfoConnect LAN C](https://www.zehnder.co.uk/products-and-systems/comfortable-indoor-ventilation/ms-comfoair-q/ideal-control#node-21233)
bridge to connect the unit to your local network.
There is an official iPhone and Android app to configure and control your unit. This platform connects with the help of
diff --git a/source/_integrations/command_line.markdown b/source/_integrations/command_line.markdown
index 36a194af115..988422d584c 100644
--- a/source/_integrations/command_line.markdown
+++ b/source/_integrations/command_line.markdown
@@ -88,7 +88,7 @@ binary_sensor:
### Check RasPlex
-Check if [RasPlex](http://www.rasplex.com/) is `online`.
+Check if [RasPlex](https://www.rasplex.com/) is `online`.
```yaml
binary_sensor:
diff --git a/source/_integrations/concord232.markdown b/source/_integrations/concord232.markdown
index 80ef881b4bf..d785bbdea6d 100644
--- a/source/_integrations/concord232.markdown
+++ b/source/_integrations/concord232.markdown
@@ -43,7 +43,7 @@ code:
required: false
type: string
mode:
- description: audible/silent if defined, specifies wether Alarm Panel should be audible or silent when armed in Home Mode.
+ description: audible/silent if defined, specifies whether Alarm Panel should be audible or silent when armed in Home Mode.
required: false
type: string
default: audible
diff --git a/source/_integrations/config.markdown b/source/_integrations/config.markdown
index b94ae06d59a..4b7942af226 100644
--- a/source/_integrations/config.markdown
+++ b/source/_integrations/config.markdown
@@ -10,7 +10,7 @@ ha_qa_scale: internal
The `config` integration is designed to display panels in the frontend to configure and manage parts of Home Assistant.
-To enable the configuration panel, add the following to your `configuration.yaml` file:
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/configurator.markdown b/source/_integrations/configurator.markdown
index 30881ae8086..763a7e493d6 100644
--- a/source/_integrations/configurator.markdown
+++ b/source/_integrations/configurator.markdown
@@ -18,6 +18,6 @@ The configurator integration allows integrations to request information from the
- Input fields can be defined with a description, and optional type
- It will trigger a callback when the button is pressed
-The Hue integration in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo integration](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/integrations/demo) for a simple example.
+The Hue integration in [the demo](/demo) and Plex are implemented using the configurator. See [the source of the demo integration](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/demo) for a simple example.
-See [the source](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/integrations/configurator) for more details on how to use the configurator integration.
+See [the source](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/configurator) for more details on how to use the configurator integration.
diff --git a/source/_integrations/counter.markdown b/source/_integrations/counter.markdown
index 7255b0bfc64..45b9b3a1ce3 100644
--- a/source/_integrations/counter.markdown
+++ b/source/_integrations/counter.markdown
@@ -71,7 +71,7 @@ If `restore` is set to `false`, the `initial` value will only be used when no pr
## Services
-Available services: `increment`, `decrement`, and `reset`.
+Available services: `increment`, `decrement`, `reset` and `configure`.
#### Service `counter.increment`
@@ -106,7 +106,9 @@ With this service the properties of the counter can be changed while running.
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
| `minimum` | yes | Set new value for minimum. None disables minimum. |
| `maximum` | yes | Set new value for maximum. None disables maximum. |
-| `step` | yes | Set new value for step |
+| `step` | yes | Set new value for step. |
+| `initial` | yes | Set new value for initial. |
+| `value` | yes | Set the counters state to the given value. |
diff --git a/source/_integrations/cover.mysensors.markdown b/source/_integrations/cover.mysensors.markdown
index 0d159b96938..075f99a2e10 100644
--- a/source/_integrations/cover.mysensors.markdown
+++ b/source/_integrations/cover.mysensors.markdown
@@ -33,8 +33,8 @@ For more information, visit the [serial api] of MySensors.
```cpp
/*
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*/
// Enable debug prints to serial monitor
diff --git a/source/_integrations/cover.rfxtrx.markdown b/source/_integrations/cover.rfxtrx.markdown
index 43a150ffe53..21da46532d5 100644
--- a/source/_integrations/cover.rfxtrx.markdown
+++ b/source/_integrations/cover.rfxtrx.markdown
@@ -23,7 +23,7 @@ cover:
automatic_add: true
```
-Launch your homeassistant and go the website (e.g http://localhost:8123). Push your remote and your device should be added.
+Launch your homeassistant and go the website (e.g `http://localhost:8123`). Push your remote and your device should be added.
Once added it will show an ID (e.g `0b11000102ef9f210010f70`) and you can verify that it works from the frontend. Then you should update your configuration to:
diff --git a/source/_integrations/cover.xiaomi_aqara.markdown b/source/_integrations/cover.xiaomi_aqara.markdown
index 1b39657a022..d7808d03955 100644
--- a/source/_integrations/cover.xiaomi_aqara.markdown
+++ b/source/_integrations/cover.xiaomi_aqara.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Push
---
-The `xiaomi aqara` cover platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) covers.
+The `xiaomi aqara` cover platform allows you to get data from your [Xiaomi](https://www.mi.com/en/) covers.
The requirement is that you have setup [Xiaomi aqara](/integrations/xiaomi_aqara/).
diff --git a/source/_integrations/darksky.markdown b/source/_integrations/darksky.markdown
index 0e2c765c8f7..cea4581810b 100644
--- a/source/_integrations/darksky.markdown
+++ b/source/_integrations/darksky.markdown
@@ -8,7 +8,7 @@ ha_release: "0.30"
ha_iot_class: Cloud Polling
---
-The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](http://www.openstreetmap.org/).
+The `darksky` platform uses the [Dark Sky](https://darksky.net/) web service as a source for meteorological data for your location. The location is based on the `longitude` and `latitude` coordinates configured in your `configuration.yaml` file. The coordinates are auto-detected but to take advantage of the hyper-local weather reported by Dark Sky, you can refine them down to your exact home address. GPS coordinates can be found by using [Google Maps](https://www.google.com/maps) and clicking on your home or [Openstreetmap](https://www.openstreetmap.org/).
## Setup
diff --git a/source/_integrations/datadog.markdown b/source/_integrations/datadog.markdown
index 1198064ad6b..7a0152f82c6 100644
--- a/source/_integrations/datadog.markdown
+++ b/source/_integrations/datadog.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.45
---
-The `datadog` integration sends all state changes to [Datadog](https://www.datadoghq.com/) using a [Datadog Agent](http://docs.datadoghq.com/guides/basic_agent_usage/).
+The `datadog` integration sends all state changes to [Datadog](https://www.datadoghq.com/) using a [Datadog Agent](https://docs.datadoghq.com/guides/basic_agent_usage/).
Datadog allows you to analyze, monitor, cross-reference and alert upon your data. You can use it to detect statistical anomalies, see graphs across multiple sources in real-time, send critical alerts to Slack, etc.
diff --git a/source/_integrations/deconz.markdown b/source/_integrations/deconz.markdown
index 33ac85f3cf3..c7771e14040 100644
--- a/source/_integrations/deconz.markdown
+++ b/source/_integrations/deconz.markdown
@@ -18,7 +18,7 @@ ha_config_flow: true
[deCONZ](https://www.dresden-elektronik.de/funktechnik/products/software/pc/deconz/) by [Dresden Elektronik](https://www.dresden-elektronik.de) is a software that communicates with Conbee/Raspbee Zigbee gateways and exposes Zigbee devices that are connected to the gateway.
-[deCONZ REST API](http://dresden-elektronik.github.io/deconz-rest-doc/).
+[deCONZ REST API](https://dresden-elektronik.github.io/deconz-rest-doc/).
There is currently support for the following device types within Home Assistant:
@@ -69,7 +69,7 @@ Available services: `configure` and `deconz.device_refresh`.
### Service `deconz.configure`
-Set attribute of device in deCONZ using [Rest API](http://dresden-elektronik.github.io/deconz-rest-doc/rest/).
+Set attribute of device in deCONZ using [Rest API](https://dresden-elektronik.github.io/deconz-rest-doc/rest/).
| Service data attribute | Optional | Description |
|-----------|----------|-------------|
@@ -126,6 +126,7 @@ Currently supported devices as device triggers:
- Hue Dimmer Remote
- Hue Tap
+- Symfonisk Sound Controller
- Trådfri On/Off Switch
- Trådfri Open/Close Remote
- Trådfri Remote Control
@@ -382,15 +383,18 @@ The `entity_id` names will be `light.device_name`, where `device_name` is define
### Verified supported lights
-- IKEA Trådfri bulb E14 WS opal 400lm
+- IKEA Trådfri bulb E14 WS Opal 400lm
- IKEA Trådfri Bulb E27 WS Opal 980lm
- IKEA Trådfri Bulb E27 WS Opal 1000lm
+- IKEA Trådfri Bulb E27 WS & RGB Opal 600lm
- IKEA Trådfri Bulb GU10 W 400lm
+- IKEA Trådfri FLOALT LED light panel
- OSRAM Flex RGBW
- OSRAM Gardenpole RGBW
- Philips Hue White A19
- Philips Hue White Ambiance A19
- Philips Hue Hue White ambiance Milliskin (recessed spotlight) LTW013
+- Philips Hue LightStrip Plus
- Busch Jaeger ZigBee Light Link univ. relai (6711 U) with ZigBee Light Link control element 6735-84
- Xiaomi Aqara Smart Led Bulb (white) E27 ZNLDP12LM
@@ -465,5 +469,6 @@ The `entity_id` name will be `switch.device_name`, where `device_name` is define
### Verified supported switches
- Innr SP120
+- Osram Lightify plug
- Osram Outdoor plug
- Heiman siren
diff --git a/source/_integrations/decora_wifi.markdown b/source/_integrations/decora_wifi.markdown
index aef1c6a0063..9566535d2d3 100644
--- a/source/_integrations/decora_wifi.markdown
+++ b/source/_integrations/decora_wifi.markdown
@@ -8,7 +8,7 @@ logo: leviton.png
ha_release: 0.51
---
-Support for [Leviton Decora Wi-Fi](http://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches via the MyLeviton API.
+Support for [Leviton Decora Wi-Fi](https://www.leviton.com/en/products/lighting-controls/decora-smart-with-wifi) dimmers/switches via the MyLeviton API.
Supported devices (tested):
diff --git a/source/_integrations/deluge.markdown b/source/_integrations/deluge.markdown
index cbabe6d717f..14993ca1416 100644
--- a/source/_integrations/deluge.markdown
+++ b/source/_integrations/deluge.markdown
@@ -17,7 +17,7 @@ There is currently support for the following device types within Home Assistant:
## Sensor
-The `deluge` platform allows you to monitor your downloads with [Deluge](http://deluge-torrent.org/) from within Home Assistant and setup automation based on the information.
+The `deluge` platform allows you to monitor your downloads with [Deluge](https://deluge-torrent.org/) from within Home Assistant and setup automation based on the information.
To enable this sensor, add the following lines to your `configuration.yaml`:
@@ -72,7 +72,7 @@ monitored_variables:
## Switch
-The `deluge` switch platform allows you to control your [Deluge](http://deluge-torrent.org/) client from within Home Assistant. The platform enables you switch all your torrents in pause, and then unpause them all.
+The `deluge` switch platform allows you to control your [Deluge](https://deluge-torrent.org/) client from within Home Assistant. The platform enables you switch all your torrents in pause, and then unpause them all.
To add Deluge to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/denon.markdown b/source/_integrations/denon.markdown
index 6ec69f974fc..30af1e719db 100644
--- a/source/_integrations/denon.markdown
+++ b/source/_integrations/denon.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.7.2
---
-The `denon` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon AVR] platform.
+The `denon` platform allows you to control a [Denon Network Receivers](https://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon AVR] platform.
Supported devices:
diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown
index c294edaf491..d2cc4a62955 100644
--- a/source/_integrations/denonavr.markdown
+++ b/source/_integrations/denonavr.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.7.2
---
-The `denonavr` platform allows you to control a [Denon Network Receivers](http://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform.
+The `denonavr` platform allows you to control a [Denon Network Receivers](https://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform.
Supported devices:
diff --git a/source/_integrations/deutsche_bahn.markdown b/source/_integrations/deutsche_bahn.markdown
index fa956f6313e..1ce069e50b1 100644
--- a/source/_integrations/deutsche_bahn.markdown
+++ b/source/_integrations/deutsche_bahn.markdown
@@ -53,4 +53,4 @@ sensor:
friendly_name: 'Next departure'
```
-The data is coming from the [bahn.de](http://www.bahn.de/p/view/index.shtml) website.
+The data is coming from the [bahn.de](https://www.bahn.de/p/view/index.shtml) website.
diff --git a/source/_integrations/device_tracker.mqtt.markdown b/source/_integrations/device_tracker.mqtt.markdown
index 5cdf62e3558..bdde83a6e2e 100644
--- a/source/_integrations/device_tracker.mqtt.markdown
+++ b/source/_integrations/device_tracker.mqtt.markdown
@@ -33,8 +33,36 @@ qos:
description: The QoS level of the topic.
required: false
type: integer
+payload_home:
+ description: The payload value that represents the 'home' state for the device.
+ required: false
+ type: string
+ default: 'home'
+payload_not_home:
+ description: The payload value that represents the 'not_home' state for the device.
+ required: false
+ type: string
+ default: 'not_home'
+source_type:
+ description: Attribute of a device tracker that affects state when being used to track a [person](/integrations/person/). Valid options are `gps`, `router`, `bluetooth`, or `bluetooth_le`.
+ required: false
+ type: string
{% endconfiguration %}
+## Complete example configuration
+
+```yaml
+# Complete configuration.yaml entry
+device_tracker:
+ devices:
+ paulus_oneplus: 'location/paulus'
+ annetherese_n4: 'location/annetherese'
+ qos: 1
+ payload_home: 'present'
+ payload_not_home: 'not present'
+ source_type: bluetooth
+```
+
## Usage
Example JSON you can publish to the topic (e.g., via mqtt.publish service):
diff --git a/source/_integrations/device_tracker.mysensors.markdown b/source/_integrations/device_tracker.mysensors.markdown
index 3e392917c9b..88d645f68b6 100644
--- a/source/_integrations/device_tracker.mysensors.markdown
+++ b/source/_integrations/device_tracker.mysensors.markdown
@@ -25,10 +25,10 @@ For more information, visit the [serial api] of MySensors.
```cpp
/**
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
- * http://www.mysensors.org/build/gps
+ * https://www.mysensors.org/build/gps
*/
// Enable debug prints to serial monitor
@@ -97,4 +97,4 @@ void loop()
```
[main component]: /integrations/mysensors/
-[serial api]: http://www.mysensors.org/download
+[serial api]: https://www.mysensors.org/download
diff --git a/source/_integrations/dialogflow.markdown b/source/_integrations/dialogflow.markdown
index bb20186476a..39634189b37 100644
--- a/source/_integrations/dialogflow.markdown
+++ b/source/_integrations/dialogflow.markdown
@@ -15,17 +15,17 @@ Dialogflow could be [integrated](https://dialogflow.com/docs/integrations/) with
Using Dialogflow will be easy to create conversations like:
- > User: What is the temperature at home?
- >
- > Bot: The temperature is 34 degrees
+_User: What is the temperature at home?_
- > User: Turn on the light
- >
- > Bot: In which room?
- >
- > User: In the kitchen
- >
- > Bot: Turning on kitchen light
+_Bot: The temperature is 34 degrees_
+
+_User: Turn on the light_
+
+_Bot: In which room?_
+
+_User: In the kitchen_
+
+_Bot: Turning on kitchen light_
To use this integration, you should define a conversation (intent) in Dialogflow, configure Home Assistant with the speech to return and, optionally, the action to execute.
@@ -63,7 +63,7 @@ When activated, the [`alexa` integration](/integrations/alexa/) will have Home A
## Examples
-Download [this zip](https://github.com/home-assistant/home-assistant.github.io/blob/next/source/assets/HomeAssistant_APIAI.zip) and load it in your Dialogflow agent (**Settings** -> **Export and Import**) for examples intents to use with this configuration:
+Download [this zip](https://github.com/home-assistant/home-assistant.io/blob/next/source/assets/HomeAssistant_APIAI.zip) and load it in your Dialogflow agent (**Settings** -> **Export and Import**) for examples intents to use with this configuration:
{% raw %}
```yaml
diff --git a/source/_integrations/digitalloggers.markdown b/source/_integrations/digitalloggers.markdown
index fbbdfa510ee..c725facab7f 100644
--- a/source/_integrations/digitalloggers.markdown
+++ b/source/_integrations/digitalloggers.markdown
@@ -8,7 +8,7 @@ ha_release: 0.35
ha_iot_class: Local Polling
---
-The `digitalloggers` switch platform allows you to control the state of your [Digital Loggers](http://www.digital-loggers.com/dinfaqs.html) switches.
+The `digitalloggers` switch platform allows you to control the state of your [Digital Loggers](https://www.digital-loggers.com/dinfaqs.html) switches.
## Configuration
diff --git a/source/_integrations/directv.markdown b/source/_integrations/directv.markdown
index 593c94baad4..2f28a1a3df8 100644
--- a/source/_integrations/directv.markdown
+++ b/source/_integrations/directv.markdown
@@ -8,7 +8,7 @@ ha_release: 0.25
ha_iot_class: Local Polling
---
-Master [DirecTV](http://www.directv.com/) receivers (ie: those that have tuners) will be automatically discovered if you enable the [discovery integration](/integrations/discovery/) and the receiver is powered-on. Slave/RVU client/Genie boxes will also be discovered, but only if they are also online at the time of discovery.
+Master [DirecTV](https://www.directv.com/) receivers (ie: those that have tuners) will be automatically discovered if you enable the [discovery integration](/integrations/discovery/) and the receiver is powered-on. Slave/RVU client/Genie boxes will also be discovered, but only if they are also online at the time of discovery.
To ensure that your DirecTV boxes are always found and configured, they should be added into your `configuration.yaml`.
diff --git a/source/_integrations/discogs.markdown b/source/_integrations/discogs.markdown
index fa6af02d26e..d2b58f61764 100644
--- a/source/_integrations/discogs.markdown
+++ b/source/_integrations/discogs.markdown
@@ -8,7 +8,7 @@ logo: discogs.png
ha_iot_class: Cloud Polling
---
-The `discogs` platform allows you to see the current amount of records in your [Discogs](https://discogs.com) collection.
+The `discogs` platform allows you to see the current amount of records in your [Discogs](https://www.discogs.com) collection.
## Setup
diff --git a/source/_integrations/discord.markdown b/source/_integrations/discord.markdown
index ccff715d00d..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`
@@ -84,3 +84,5 @@ You can tag any user inside a channel by using their user ID in the message like
For more information about creating and authorizing bots, visit the [OAuth2 information page](https://discordapp.com/developers/docs/topics/oauth2)
To use notifications effectively, please see the [getting started with automation page](/getting-started/automation/).
+
+Images are uploaded to Discord when a message is sent. As such, a local path to the image is required (i.e. `/config/www/garage.jpg` as opposed to `/local/garage.jpg`), and updating an image after sending it in a message will not update the message in Discord.
diff --git a/source/_integrations/dispatcher.markdown b/source/_integrations/dispatcher.markdown
deleted file mode 100644
index b7e5f098755..00000000000
--- a/source/_integrations/dispatcher.markdown
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: "Dispatcher IP Camera"
-description: "Instructions on how to integrate internal dispatcher cameras within Home Assistant."
-ha_category:
- - Camera
-logo: camcorder.png
-ha_release: "0.40"
-ha_iot_class: Configurable
----
-
-
-This platform is meant for developers only.
-
-
-The `dispatcher` camera platform allows developers to create virtual camera's.
-
-## Configuration
-
-You would normally not add this camera to your configuration directly but have it be discovered by one of the integrations that uses it.
-
-```yaml
-# Example configuration.yaml entry
-camera:
- - platform: dispatcher
- signal: name_of_dispatcher_signal
-```
-
-To update the image from another piece of code, run this from an async context:
-
-```python
-from homeassistant.helpers.dispatcher import async_dispatcher_send
-
-async_dispatcher_send(hass, 'name_of_dispatcher_signal', image_data)
-```
-
-{% configuration %}
-signal:
- description: The signal name of dispatcher signal they send image data to this camera.
- required: true
- type: string
-name:
- description: This parameter allows you to override the name of your camera.
- required: false
- type: string
-{% endconfiguration %}
diff --git a/source/_integrations/dlink.markdown b/source/_integrations/dlink.markdown
index 54e2d1192f0..e43e03c10f4 100644
--- a/source/_integrations/dlink.markdown
+++ b/source/_integrations/dlink.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.14
---
-The `dlink` switch platform allows you to control the state of your [D-Link Wi-Fi Smart Plugs](http://us.dlink.com/product-category/home-solutions/connected-home/smart-plugs/).
+The `dlink` switch platform allows you to control the state of your [D-Link Wi-Fi Smart Plugs](https://us.dlink.com/en/consumer/smart-plugs).
Supported devices (tested):
diff --git a/source/_integrations/doods.markdown b/source/_integrations/doods.markdown
index 53088e5a9d8..54e2582e0df 100644
--- a/source/_integrations/doods.markdown
+++ b/source/_integrations/doods.markdown
@@ -23,6 +23,7 @@ The configuration loosely follows the tensorflow configuration. To enable this p
image_processing:
- platform: doods
url: "http://:8080"
+ detector: default
source:
- entity_id: camera.front_yard
```
@@ -45,14 +46,49 @@ url:
description: The URL of the DOODS server
required: true
type: string
+timeout:
+ description: Timeout for requests (in seconds)
+ required: false
+ type: integer
+ default: 90
detector:
description: The DOODS detector to use
- required: false
+ required: true
type: string
confidence:
description: The default confidence for any detected objects where not explicitly set
required: false
type: float
+area:
+ description: Global detection area. Objects in this box will be reported. Top of image is 0, bottom is 1. Same left to right.
+ required: false
+ type: map
+ keys:
+ top:
+ description: Top line defined as % from top of image.
+ required: false
+ type: float
+ default: 0
+ left:
+ description: Left line defined as % from left of image.
+ required: false
+ type: float
+ default: 0
+ bottom:
+ description: Bottom line defined as % from top of image.
+ required: false
+ type: float
+ default: 1
+ right:
+ description: Right line defined as % from left of image.
+ required: false
+ type: float
+ default: 1
+ covers:
+ description: If true the detection must be fully in this box. If false any part of the detection in the box will trigger.
+ required: false
+ type: boolean
+ default: true
file_out:
description: A [template](/docs/configuration/templating/#processing-incoming-data) for the integration to save processed images including bounding boxes. `camera_entity` is available as the `entity_id` string of the triggered source camera.
required: false
@@ -95,6 +131,11 @@ labels:
required: false
type: float
default: 1
+ covers:
+ description: If true the detection must be fully in this box. If false any part of the detection in the box will trigger.
+ required: false
+ type: boolean
+ default: true
{% endconfiguration %}
@@ -105,6 +146,7 @@ image_processing:
- platform: doods
scan_interval: 1000
url: "http://:8080"
+ timeout: 60
detector: default
source:
- entity_id: camera.front_yard
@@ -112,6 +154,14 @@ image_processing:
- "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}{% endraw %}_latest.jpg"
- "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}{% endraw %}.jpg"
confidence: 50
+ # This global detection area is required for all labels
+ area:
+ # Exclude top 10% of image
+ top: 0.1
+ # Exclude right 5% of image
+ right: 0.95
+ # The entire detection must be inside this box
+ covers: true
labels:
- name: person
confidence: 40
@@ -120,6 +170,8 @@ image_processing:
top: 0.1
# Exclude right 15% of image
right: 0.85
+ # Any part of the detection inside this area will trigger
+ covers: false
- car
- truck
```
diff --git a/source/_integrations/doorbird.markdown b/source/_integrations/doorbird.markdown
index e0889e97823..30f830c00fe 100644
--- a/source/_integrations/doorbird.markdown
+++ b/source/_integrations/doorbird.markdown
@@ -10,7 +10,7 @@ ha_release: 0.54
ha_iot_class: Local Push
---
-The `doorbird` implementation allows you to integrate your [DoorBird](http://www.doorbird.com/) device in Home Assistant.
+The `doorbird` implementation allows you to integrate your [DoorBird](https://www.doorbird.com/) device in Home Assistant.
There is currently support for the following device types within Home Assistant:
@@ -43,7 +43,7 @@ devices:
type: list
keys:
host:
- description: The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](http://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box.
+ description: The LAN IP address or hostname of your device. You can find this by going to the [DoorBird Online check](https://www.doorbird.com/checkonline) and entering the information from the paper that was included in the box.
required: true
type: string
username:
@@ -114,7 +114,8 @@ Events will not be received in Home Assistant until a schedule is defined via th
#### Clearing Registered Events
Events can be cleared from DoorBird devices by visiting a special URL.
-Simply open a new browser window and navigate to `{Home Assistant URL}/api/doorbird/clear?token={DEVICE_TOKEN}`. Replace `{Home Assistant URL}` with the full path to your running instance, such as `http://localhost:8123`. Replace `{DEVICE_TOKEN}` with the token specified in your configuration for the device you would like to clear.
+Simply open a new browser window and navigate to `{Home Assistant URL}/api/doorbird/clear?token={DEVICE_TOKEN}`. Replace `{Home Assistant URL}` with the full path to your running instance, such as `
+localhost:8123`. Replace `{DEVICE_TOKEN}` with the token specified in your configuration for the device you would like to clear.
Please note that clearing device events will require configuration steps above to be taken again. It could also affect other third-party applications you may use with your DoorBird device. It will not break the official mobile app in any way, so mobile push notifications will still work.
@@ -166,7 +167,7 @@ Remember to complete the schedule assignment steps above for each event type tha
## Camera
-The `doorbird` implementation allows you to view the live video, the last doorbell ring image, and the last motion sensor image from your [DoorBird](http://www.doorbird.com/) device in Home Assistant.
+The `doorbird` implementation allows you to view the live video, the last doorbell ring image, and the last motion sensor image from your [DoorBird](https://www.doorbird.com/) device in Home Assistant.
### Configuration
@@ -180,7 +181,7 @@ camera:
## Switch
-The `doorbird` switch platform allows you to power connected relays and trigger the IR array in your [DoorBird](http://www.doorbird.com/) video doorbell device.
+The `doorbird` switch platform allows you to power connected relays and trigger the IR array in your [DoorBird](https://www.doorbird.com/) video doorbell device.
To enable this switch, add the following lines to your `configuration.yaml` file:
diff --git a/source/_integrations/dovado.markdown b/source/_integrations/dovado.markdown
index 1ff6ea7ad24..2319ce09adc 100644
--- a/source/_integrations/dovado.markdown
+++ b/source/_integrations/dovado.markdown
@@ -10,7 +10,7 @@ ha_release: 0.87
ha_iot_class: Local Polling
---
-The `dovado` integration manages communication with the [Dovado](http://www.dovado.com/) router.
+The `dovado` integration manages communication with the [Dovado](https://www.dovado.com/) router.
There is currently support for the following device types within Home Assistant:
@@ -49,7 +49,7 @@ port:
## Notifications
-The `dovado` notify platform allows you to send SMS from your [Dovado](http://www.dovado.com/) router, if it supports it.
+The `dovado` notify platform allows you to send SMS from your [Dovado](https://www.dovado.com/) router, if it supports it.
To add the Dovado notify platform to your installation, add the following to your `configuration.yaml` file:
@@ -79,7 +79,7 @@ automation:
## Sensor
-The `dovado` sensor platform let you monitor your [Dovado](http://www.dovado.com/) router.
+The `dovado` sensor platform let you monitor your [Dovado](https://www.dovado.com/) router.
To add a Dovado sensor to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/dunehd.markdown b/source/_integrations/dunehd.markdown
index 73d41fc50b0..5357d950138 100644
--- a/source/_integrations/dunehd.markdown
+++ b/source/_integrations/dunehd.markdown
@@ -9,7 +9,7 @@ ha_release: 0.34
---
-The `dunehd` media player platform allows you to control a [Dune HD media player](http://dune-hd.com/eng/products/full_hd_media_players) from Home Assistant. Support is based on the official [IP protocol](http://dune-hd.com/support/ip_control/dune_ip_control_overview.txt) published by Dune.
+The `dunehd` media player platform allows you to control a [Dune HD media player](https://dune-hd.com/eng/products/full_hd_media_players) from Home Assistant. Support is based on the official [IP protocol](https://dune-hd.com/support/ip_control/dune_ip_control_overview.txt) published by Dune.
Devices with firmware 110127_2105_beta or above are supported. Some functions may depend on the version of the protocol (volume / mute control is only available with version 2 onwards).
diff --git a/source/_integrations/dweet.markdown b/source/_integrations/dweet.markdown
index c2ffcb58d5a..cded98a4cef 100644
--- a/source/_integrations/dweet.markdown
+++ b/source/_integrations/dweet.markdown
@@ -9,7 +9,7 @@ ha_release: 0.19
ha_iot_class: Cloud Polling
---
-The `dweet` integration makes it possible to transfer details collected with Home Assistant to [Dweet.io](http://dweet.io/) and visualize them with [freeboard.io](https://freeboard.io). Keep in mind that your information will be public!
+The `dweet` integration makes it possible to transfer details collected with Home Assistant to [Dweet.io](https://dweet.io/) and visualize them with [freeboard.io](https://freeboard.io). Keep in mind that your information will be public!
diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown
index 80ec0bec1ab..34311394ca6 100644
--- a/source/_integrations/ecobee.markdown
+++ b/source/_integrations/ecobee.markdown
@@ -1,6 +1,6 @@
---
title: "Ecobee"
-description: "Instructions for how to integrate Ecobee thermostats and sensors within Home Assistant."
+description: "Instructions for how to integrate ecobee thermostats and sensors within Home Assistant."
logo: ecobee.png
ha_category:
- Sensor
@@ -13,11 +13,11 @@ ha_release: 0.9
ha_iot_class: Cloud Poll
---
-The `ecobee` integration lets you control thermostats and view sensor data from [ecobee](https://ecobee.com) thermostats and remote sensors.
+The `ecobee` integration lets you control and view sensor data from [ecobee](https://ecobee.com) thermostats.
## Preliminary Step
-You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, first, you need to register your thermostat which should be done as part of the ecobee installation. Once you have done that, perform the following steps.
+You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, your thermostat must be registered on ecobee's website (which you likely would have already done while installing your thermostat). Once you have done that, perform the following steps.
1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/developers/).
2. Log in with your ecobee credentials.
@@ -25,7 +25,7 @@ You will need to obtain an API key from ecobee's [developer site](https://www.ec
4. Fill in the fields.
5. Click **save**.
-Now login to the regular consumer portal and in the hamburger menu, there will be a new option **Developer**. Now we can create an Application to link to Home Assistant.
+Log in to the regular consumer portal, and click the overflow menu button in the upper right. You will see a new option named **Developer**. Now we can create the Application to hook up to Home Assistant.
1. Select the **Developer** option from the hamburger menu.
2. Select **Create New**.
@@ -34,15 +34,15 @@ Now login to the regular consumer portal and in the hamburger menu, there will b
5. You don't need an Application Icon or Detailed Description.
6. Click **Create**.
-Now under the Name and Summary Section, you will have an API key. Copy this key as you will need it in the steps that follow. Click the **X** to close the Developer section.
+Under the Name and Summary Section, you will now have an API key. Copy this key and use it in your configuration section below. Click the **X** to close the Developer section.
## Configuring the Integration
-To configure the ecobee integration in Home Assistant, you can either use the **Configuration** -> **Integrations** menu, or add an entry to `configuration.yaml`.
+To configure the ecobee integration in Home Assistant, you can either use the **Configuration** > **Integrations** menu, or add an entry to `configuration.yaml`.
### Setup via the Integrations menu
-1. In the **Configuration** -> **Integrations** menu, click **+** and then select `ecobee` from the pop-up menu.
+1. In the **Configuration** > **Integrations** menu, click **+** and then select `ecobee` from the pop-up menu.
2. In the pop-up box, enter the API key you obtained from ecobee.com.
3. In the next pop-up box, you will be presented with a unique four-character PIN code which you will need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by logging in, selecting **My Apps** from the hamburger menu, clicking **Add Application** on the left, entering the PIN code from Home Assistant, and clicking **Validate** and then **Add Application** in the bottom right.
4. After authorizing the App on ecobee.com, return to Home Assistant and hit **Submit**. If the authorization was successful, a config entry will be created and your thermostats and sensors will be available in Home Assistant.
@@ -57,11 +57,9 @@ ecobee:
api_key: YOUR_API_KEY
```
-[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. In the **Configuration** -> **Integrations** menu, hit **Configure** next to the discovered `ecobee` entry, and continue to authorize the App per the Integration menu instructions above.
-
{% configuration %}
api_key:
- description: Your ecobee API key. This is only needed for the initial setup of the integration. Once registered it can be removed. If you revoke the key in the ecobee portal, you will need to remove the existing `ecobee` configuration in the **Integrations** menu, update this, and then configure the Integration again.
+ description: Your ecobee API key. This is only needed for the initial setup of the integration. Once registered it can be removed. If you revoke the key in the ecobee portal, you will need to remove the existing `ecobee` configuration in the **Integrations** menu, update this, and then configure the integration again.
required: false
type: string
{% endconfiguration %}
@@ -71,9 +69,19 @@ api_key:
+[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. In the **Configuration** > **Integrations** menu, hit **Configure** next to the discovered `ecobee` entry, and continue to authorize the App per the Integration menu instructions above.
+
+The first time you (re)run Home Assistant with this integration it will give you a PIN code that you need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by clicking **Add Application** in the **My Apps** section in the sidebar.
+
+The PIN can be found in the Home Assistant portal on the Ecobee card or from the **configurator.ecobee** entity in the States developer tool.
+
+- If you do not have an ecobee card, you may be using groups with `default_view` that don't show the card. To get around this, you can temporarily comment out the `default_view` section or add the `configurator.ecobee` integration to your `default_view` and restart Home Assistant.
+
+Once you enter the PIN on the ecobee site, wait approximately 5 minutes, and then click on the **I have authorized the app** link at the bottom of the ecobee pop-up window. If everything worked correctly, you should now be able to restart Home Assistant again to see the full ecobee card with all of the sensors populated or see the list of sensors in the developer tools. Now you can re-enable your `default_view` (if you had to disable it) and add the ecobee sensors to a group and/or view.
+
## Notifications
-To get your Ecobee notifications working with Home Assistant, you must first have the main Ecobee integration loaded and running. Once you have that configured, you can set up this integration to send messages to your Ecobee device.
+To get your ecobee notifications working with Home Assistant, you must first have the main ecobee integration loaded and running. Once you have that configured, you can set up this integration to send messages to your ecobee device.
To use this notification platform in your installation, add the following to your `configuration.yaml` file:
@@ -98,7 +106,7 @@ To use notifications, please see the [getting started with automation page](/get
### Concepts
-The Ecobee Thermostat supports the following key concepts.
+The ecobee thermostat supports the following key concepts.
The _target temperature_ is the temperature that the device attempts
to achieve. The target temperature is either determined by the
@@ -113,7 +121,7 @@ limits).
A _climate_ is a predefined or user-defined set of presets that the
thermostat aims to achieve. The ecobee thermostat provides three predefined
-climates: Home, Away, and Sleep. The user can define additional climates.
+climates: Home, Away, and Sleep. Ecobee refers to these as _comfort settings_. The user can define additional climates.
A _preset_ is an override of the target temperature defined in the
currently active climate. The temperature targeted in the preset mode may be
@@ -122,30 +130,30 @@ climate (home, away, sleep, etc.), or it may be derived from a vacation
defined by the thermostat. All holds are temporary. Temperature and
climate holds expire when the thermostat transitions to the next climate
defined in its program. A vacation hold starts at the beginning of the
-defined vacation period, and expires when the vacation period ends.
+defined vacation period and expires when the vacation period ends.
When in _away preset_, the target temperature is permanently overridden by
the target temperature defined for the away climate. The away preset is a
simple way to emulate a vacation mode.
The _HVAC mode_ of the device is the currently active operational
-modes that the Ecobee thermostat provides: heat, auxHeatOnly, cool,
+modes that the ecobee thermostat provides: heat, auxHeatOnly, cool,
auto, and off.
## Attributes
-The Ecobee climate entity has some extra attributes to represent the state of the thermostat.
+The ecobee climate entity has some extra attributes to represent the state of the thermostat.
-| Name | Description |
-| ------------------- | ------------------------------------------------------------------------------------- |
-| `fan` | If the fan is currently on or off: `on` / `off`. |
-| `climate_mode` | This is the climate mode that is active, or would be active if no override is active. |
-| `equipment_running` | This is a comma seperated list of equipment that is currently running. |
-| `fan_min_on_time` | The minimum amount of minutes that the fan will be on when it's turned on. |
+| Name | Description |
+| ---- | ----------- |
+| `fan` | If the fan is currently on or off: `on` / `off`.
+| `climate_mode` | This is the climate mode that is active, or would be active if no override is active.
+| `equipment_running` | This is a comma-separated list of equipment that is currently running.
+| `fan_min_on_time` | The minimum amount of time (in minutes) that the fan will run per hour. This is determined by the minimum fan runtime setting which can be changed in the ecobee app or on the thermostat itself.
## Services
-Besides the standard services provided by the Home Assistant [Climate](/integrations/climate/) integration, the following extra services are provided by the Ecobee integration:
+Besides the standard services provided by the Home Assistant [Climate](/integrations/climate/) integration, the following extra services are provided by the ecobee integration:
- `ecobee.create_vacation`
- `ecobee.delete_vacation`
@@ -159,13 +167,13 @@ Creates a vacation on the selected ecobee thermostat.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
| `entity_id` | no | ecobee thermostat on which to create the vacation |
-| `vacation_name` | no | Name of the vacation to create; must be unique on the thermostat |
+| `vacation_name` | no | Name of the vacation to create. Must be unique on the thermostat |
| `cool_temp` | no | Cooling temperature during the vacation |
| `heat_temp` | no | Heating temperature during the vacation |
| `start_date` | yes | Date the vacation starts in YYYY-MM-DD format |
-| `start_time` | yes | Time the vacation starts, in the local time of the thermostat, in the 24-hour format HH:MM:SS |
+| `start_time` | yes | Time the vacation starts in the local time zone. Must be in 24-hour format (HH:MM:SS) |
| `end_date` | yes | Date the vacation ends in YYYY-MM-DD format (14 days from now if not provided) |
-| `end_time` | yes | Time the vacation ends, in the local time of the thermostat, in the 24-hour format HH:MM:SS |
+| `end_time` | yes | Time the vacation ends in the local time zone. Must be in 24-hour format (HH:MM:SS) |
| `fan_mode` | yes | Fan mode of the thermostat during the vacation (auto or on) (auto if not provided) |
| `fan_min_on_time` | yes | Minimum number of minutes to run the fan each hour (0 to 60) during the vacation (0 if not provided) |
@@ -189,7 +197,7 @@ Resumes the currently active schedule.
### Service `ecobee.set_fan_min_on_time`
-Sets the minimum amount of time that the fan will run.
+Sets the minimum amount of time that the fan will run per hour.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
diff --git a/source/_integrations/econet.markdown b/source/_integrations/econet.markdown
index 8a311db2424..da50296d305 100644
--- a/source/_integrations/econet.markdown
+++ b/source/_integrations/econet.markdown
@@ -8,7 +8,7 @@ ha_release: 0.61
ha_iot_class: Cloud Polling
---
-The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](http://www.rheem.com/EcoNet/Home). This platform allows you to set the temperature, the operation mode, and enable vacation mode.
+The `econet` water heater platform is consuming the information provided by a [EcoNet enabled Rheem water heater](https://www.rheem.com/EcoNet/Home). This platform allows you to set the temperature, the operation mode, and enable vacation mode.
## Configuration
diff --git a/source/_integrations/eddystone_temperature.markdown b/source/_integrations/eddystone_temperature.markdown
index d40aada885b..076b5c6b5e2 100644
--- a/source/_integrations/eddystone_temperature.markdown
+++ b/source/_integrations/eddystone_temperature.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Polling
---
The `eddystone_temperature` sensor platform reads temperature information from Bluetooth LE advertisements transmitted by [Eddystone](https://en.wikipedia.org/wiki/Eddystone_(Google)) beacons. Your beacons must be configured to transmit UID frames (for identification) and TLM frames (for temperature).
-All beacons that support the Eddystone protocol, have a temperature sensor and can transmit TLM frames are compatible with this platform. For example [Gimbal](https://store.gimbal.com/collections/beacons/), [Estimote](http://estimote.com/) or [kontakt.io](https://kontakt.io/). For more manufacturers see [this overview](https://developers.google.com/beacons/eddystone#beacon_manufacturers) by Google.
+All beacons that support the Eddystone protocol, have a temperature sensor and can transmit TLM frames are compatible with this platform. For example [Gimbal](https://store.gimbal.com/collections/beacons/), [Estimote](https://estimote.com/) or [kontakt.io](https://kontakt.io/). For more manufacturers see [this overview](https://developers.google.com/beacons/eddystone#beacon_manufacturers) by Google.
## Requirements
diff --git a/source/_integrations/egardia.markdown b/source/_integrations/egardia.markdown
index 888b8609dcc..415e5790116 100644
--- a/source/_integrations/egardia.markdown
+++ b/source/_integrations/egardia.markdown
@@ -10,7 +10,7 @@ ha_release: 0.65
ha_iot_class: Local Polling
---
-The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/[Woonveilig](http://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the WL-1716, GATE-01, GATE-02 and GATE-03 versions of the Egardia/Woonveilig platform. Not only will you integrate your alarm control panel, supported sensors (door contacts at this moment) will be added automatically (hidden by default).
+The `egardia` platform enables the ability to control an [Egardia](https://egardia.com/)/[Woonveilig](https://woonveilig.nl) control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on the WL-1716, GATE-01, GATE-02 and GATE-03 versions of the Egardia/Woonveilig platform. Not only will you integrate your alarm control panel, supported sensors (door contacts at this moment) will be added automatically (hidden by default).
You will need to know the IP of your alarm panel on your local network. Test if you can login to the panel by browsing to the IP address and log in using your Egardia/Woonveilig account.
@@ -119,5 +119,5 @@ Note that for all code groups (*arm*,*disarm*, etc) multiple codes can be entere
## Binary Sensor
-The `egardia` platform allows you to get data from your [Egardia](http://www.egardia.com)/[Woonveilig](http://www.woonveilig.nl) binary sensors from within Home Assistant.
+The `egardia` platform allows you to get data from your [Egardia](https://www.egardia.com)/[Woonveilig](https://www.woonveilig.nl) binary sensors from within Home Assistant.
Currently only door contacts are supported. IR sensors are not supported and will probably never be since their status cannot be read outside of the alarm control panel. Smoke sensors and others might be added but currently are not supported.
diff --git a/source/_integrations/eliqonline.markdown b/source/_integrations/eliqonline.markdown
index 0c41d7551a9..c580bb41fb1 100644
--- a/source/_integrations/eliqonline.markdown
+++ b/source/_integrations/eliqonline.markdown
@@ -8,7 +8,7 @@ ha_release: "0.10"
ha_iot_class: Cloud Polling
---
-Integrate your [ELIQ Online](http://eliq.io) smart meter information into Home Assistant. To get an [access token](https://my.eliq.io/user/settings/api) and the [Channel ID](https://my.eliq.io/user/settings/locations), log in to your account.
+Integrate your [ELIQ Online](https://eliq.io/) smart meter information into Home Assistant. To get an [access token](https://my.eliq.io/user/settings/api) and the [Channel ID](https://my.eliq.io/user/settings/locations), log in to your account.
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/emby.markdown b/source/_integrations/emby.markdown
index ce768cd0490..8d3efa65613 100644
--- a/source/_integrations/emby.markdown
+++ b/source/_integrations/emby.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Push
---
-The `emby` platform allows you to control a [Emby](http://emby.media/) multimedia system from Home Assistant.
+The `emby` platform allows you to control a [Emby](https://emby.media/) multimedia system from Home Assistant.
To add Emby to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/emulated_roku.markdown b/source/_integrations/emulated_roku.markdown
index 46a2f87700e..5f0c7a46728 100644
--- a/source/_integrations/emulated_roku.markdown
+++ b/source/_integrations/emulated_roku.markdown
@@ -23,7 +23,7 @@ Windows is not supported because Home Assistant uses `ProactorEventLoop` which d
This integration opens an unauthenticated API on the host, allowing anything on the local network to access
your Home Assistant instance through the automations you create with emulated Roku as the trigger.
-Using a proxy with whitelisted IP addresses is recommended. (set `advertise_ip` to the proxy's ip or DNS name)
+Using a proxy with whitelisted IP addresses is recommended. (set `advertise_ip` to the proxy's IP or DNS name)
diff --git a/source/_integrations/enocean.markdown b/source/_integrations/enocean.markdown
index 038917e56a4..8ecb70d3f75 100644
--- a/source/_integrations/enocean.markdown
+++ b/source/_integrations/enocean.markdown
@@ -63,7 +63,7 @@ This can typically be one of those batteryless wall switches.
Tested with:
- Eltako FT55 which uses the EnOcean PTM 215 module
-- [TRIO2SYS Wall switches](http://www.trio2sys.fr/index.php/fr/produits-enocean-sans-fil-sans-pile-interoperable/emetteur-sans-fils-sans-pile-interoperable-enocean) which uses the EnOcean PTM210 DB module
+- [TRIO2SYS Wall switches](https://www.trio2sys.fr/index.php/fr/produits-enocean-sans-fil-sans-pile-interoperable/emetteur-sans-fils-sans-pile-interoperable-enocean) which uses the EnOcean PTM210 DB module
- Omnio WS-CH-102
The following [EnOcean Equipment Profiles](https://www.enocean-alliance.org/what-is-enocean/specifications/) are supported:
diff --git a/source/_integrations/envisalink.markdown b/source/_integrations/envisalink.markdown
index c8ba1b3c277..db77a771c3f 100644
--- a/source/_integrations/envisalink.markdown
+++ b/source/_integrations/envisalink.markdown
@@ -135,6 +135,7 @@ The following services are supported by Envisalink and can be used to script or
- **alarm_disarm**: Disarms the alarm with the user code provided, or the code specified in the configuration.
- **alarm_arm_home**: Arms the alarm in home mode.
- **alarm_arm_away**: Arms the alarm in standard away mode.
+- **alarm_arm_night**: Arms the alarm in night mode.
- **alarm_trigger**: Trigger an alarm on the Envisalink connected alarm system. For example, a newer zwave/zigbee sensor can now be integrated into a legacy alarm system using a Home Assistant automation.
- **envisalink_alarm_keypress**: Sends a string of up to 6 characters to the alarm. *DSC alarms only*
- **invoke_custom_function**: Invokes a custom PGM function. *DSC alarms only*
diff --git a/source/_integrations/ephember.markdown b/source/_integrations/ephember.markdown
index 704d125dcc2..baf6765bac7 100644
--- a/source/_integrations/ephember.markdown
+++ b/source/_integrations/ephember.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Polling
---
-The `ephember` climate platform lets you control [EPH Controls](http://emberapp.ephcontrols.com/) thermostats. The module only works if you have a WiFi gateway to control your EPH system and an account on the EMBER app.
+The `ephember` climate platform lets you control [EPH Controls](https://emberapp.ephcontrols.com/) thermostats. The module only works if you have a WiFi gateway to control your EPH system and an account on the EMBER app.
To set it up, add the following information to your `configuration.yaml` file:
diff --git a/source/_integrations/esphome.markdown b/source/_integrations/esphome.markdown
index 0bc62f8a076..1b774de5fe4 100644
--- a/source/_integrations/esphome.markdown
+++ b/source/_integrations/esphome.markdown
@@ -9,15 +9,14 @@ ha_release: 0.85
ha_iot_class: Local Push
---
-This integration allows you to connect your [ESPHome](https://esphome.io) devices directly into Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html).
+This integration allows you to connect your [ESPHome](https://esphome.io) devices directly to Home Assistant with the [native ESPHome API](https://esphome.io/components/api.html).
-## Setup the integration via the integrations screen
+## Set up the integration via the integrations screen
-Menu: *Configuration* -> *Integrations*
+Menu: *Configuration* > *Integrations*
Press on **ESPHome** and configure the integration:
-* Enter the address and port of your ESP. For example if the node is called `livingroom`, the address would be `livingroom.local` and the port number `6053` (default).
-* Then Home Assistant will try to connect to the device. If you have a password set Home Assistant will additionally ask you for the password.
+* Enter the address and port of your node. For example, if the node is called `livingroom`, the address would be `livingroom.local` and the port number would be `6053` (default).
-After that, all the entities you have configured on your ESPHome node will automatically show up in Home Assistant.
+Home Assistant will then try to connect to the device. If you have a password set, Home Assistant will also ask you for it. After that, all the entities you have configured on your ESPHome node will automatically appear in Home Assistant.
diff --git a/source/_integrations/fan.xiaomi_miio.markdown b/source/_integrations/fan.xiaomi_miio.markdown
index 8e8acf1f0ec..901f1a5c624 100644
--- a/source/_integrations/fan.xiaomi_miio.markdown
+++ b/source/_integrations/fan.xiaomi_miio.markdown
@@ -311,7 +311,7 @@ Set the fan speed/operation mode.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `speed` | no | Fan speed. Valid values are 'Auto', 'Silent', 'Favorite' and 'Idle' |
### Service `fan.xiaomi_miio_set_buzzer_on` (Air Purifier Pro excluded)
@@ -320,7 +320,7 @@ Turn the buzzer on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_buzzer_off` (Air Purifier Pro excluded)
@@ -328,7 +328,7 @@ Turn the buzzer off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_led_on` (Air Purifiers only)
@@ -336,7 +336,7 @@ Turn the led on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_led_off` (Air Purifiers only)
@@ -344,7 +344,7 @@ Turn the led off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_child_lock_on`
@@ -352,7 +352,7 @@ Turn the child lock on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_child_lock_off`
@@ -360,7 +360,7 @@ Turn the child lock off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_led_brightness` (Air Purifier 2S and Air Purifier Pro excluded)
@@ -368,7 +368,7 @@ Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off).
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `brightness` | no | Brightness, between 0 and 2. |
### Service `fan.xiaomi_miio_set_favorite_level` (Air Purifiers only)
@@ -377,7 +377,7 @@ Set the favorite level of the operation mode "favorite".
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `level` | no | Level, between 0 and 16. |
### Service `fan.xiaomi_miio_set_auto_detect_on` (Air Purifier 2S and Air Purifier Pro only)
@@ -386,7 +386,7 @@ Turn the auto detect on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_auto_detect_off` (Air Purifier 2S and Air Purifier Pro only)
@@ -394,7 +394,7 @@ Turn the auto detect off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_learn_mode_on` (Air Purifier 2 only)
@@ -402,7 +402,7 @@ Turn the learn mode on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_learn_mode_off` (Air Purifier 2 only)
@@ -410,7 +410,7 @@ Turn the learn mode off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_volume` (Air Purifier Pro only)
@@ -418,7 +418,7 @@ Set the sound volume.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `volume` | no | Volume, between 0 and 100. |
### Service `fan.xiaomi_miio_reset_filter` (Air Purifier 2 only)
@@ -427,7 +427,7 @@ Reset the filter lifetime and usage.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_extra_features` (Air Purifier only)
@@ -435,7 +435,7 @@ Set the extra features.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `features` | no | Integer, known values are 0 and 1. |
### Service `fan.xiaomi_miio_set_target_humidity` (Air Humidifier only)
@@ -444,7 +444,7 @@ Set the target humidity.
| Service data attribute | Optional | Description |
|---------------------------|----------|-----------------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
| `humidity` | no | Target humidity. Allowed values are 30, 40, 50, 60, 70 and 80 |
### Service `fan.xiaomi_miio_set_dry_on` (Air Humidifier CA only)
@@ -453,7 +453,7 @@ Turn the dry mode on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
### Service `fan.xiaomi_miio_set_dry_off` (Air Humidifier CA only)
@@ -461,4 +461,4 @@ Turn the dry mode off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO fan entity. |
diff --git a/source/_integrations/ffmpeg.markdown b/source/_integrations/ffmpeg.markdown
index 09c4d529ba0..47082c8b5ec 100644
--- a/source/_integrations/ffmpeg.markdown
+++ b/source/_integrations/ffmpeg.markdown
@@ -11,7 +11,7 @@ The `ffmpeg` integration allows other Home Assistant integrations to process vid
-You need the `ffmpeg` binary in your system path. On Hassbian you will need to login as the `pi` user and `sudo apt install ffmpeg`. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](http://www.ffmpeg.org/) website.
+You need the `ffmpeg` binary in your system path. On Hassbian you will need to login as the `pi` user and `sudo apt install ffmpeg`. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](https://www.ffmpeg.org/) website.
diff --git a/source/_integrations/ffmpeg_motion.markdown b/source/_integrations/ffmpeg_motion.markdown
index cb33b0ae35f..08d0cd8a668 100644
--- a/source/_integrations/ffmpeg_motion.markdown
+++ b/source/_integrations/ffmpeg_motion.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.27
---
-The `ffmpeg` platform allows you to use any video feed with [FFmpeg](http://www.ffmpeg.org/) for motion sensors in Home Assistant.
+The `ffmpeg` platform allows you to use any video feed with [FFmpeg](https://www.ffmpeg.org/) for motion sensors in Home Assistant.
diff --git a/source/_integrations/ffmpeg_noise.markdown b/source/_integrations/ffmpeg_noise.markdown
index a80d17021af..2f269a7b509 100644
--- a/source/_integrations/ffmpeg_noise.markdown
+++ b/source/_integrations/ffmpeg_noise.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.27
---
-The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](http://www.ffmpeg.org/) for various sensors in Home Assistant.
+The `ffmpeg` platform allows you to use any video or audio feed with [FFmpeg](https://www.ffmpeg.org/) for various sensors in Home Assistant.
diff --git a/source/_integrations/fibaro.markdown b/source/_integrations/fibaro.markdown
index 416c0c8252d..ddea890a6b7 100644
--- a/source/_integrations/fibaro.markdown
+++ b/source/_integrations/fibaro.markdown
@@ -15,7 +15,7 @@ ha_release: 0.83
ha_iot_class: Local Push
---
-The [Fibaro](http://fibaro.com) hub is a controller mainly connecting to Z-Wave devices.
+The [Fibaro](https://fibaro.com/) hub is a controller mainly connecting to Z-Wave devices.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/fitbit.markdown b/source/_integrations/fitbit.markdown
index f528e41130d..579273763bf 100644
--- a/source/_integrations/fitbit.markdown
+++ b/source/_integrations/fitbit.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Cloud Polling
ha_release: 0.19
---
-The Fitbit sensor allows you to expose data from [Fitbit](http://fitbit.com) to Home Assistant.
+The Fitbit sensor allows you to expose data from [Fitbit](https://fitbit.com/) to Home Assistant.
Enable the sensor by adding the following to your `configuration.yaml` file:
diff --git a/source/_integrations/fixer.markdown b/source/_integrations/fixer.markdown
index 2c449712e4e..0a6f9d94711 100644
--- a/source/_integrations/fixer.markdown
+++ b/source/_integrations/fixer.markdown
@@ -9,7 +9,7 @@ ha_release: 0.23
---
-The `fixer` sensor will show you the current exchange rate from [Fixer.io](http://fixer.io/) which is using data from the [European Central Bank (ECB)](https://www.ecb.europa.eu).
+The `fixer` sensor will show you the current exchange rate from [Fixer.io](https://fixer.io/) which is using data from the [European Central Bank (ECB)](https://www.ecb.europa.eu).
To get an overview about the available [currencies](https://fixer.io/symbols).
@@ -31,7 +31,7 @@ sensor:
{% configuration %}
api_key:
- description: Your API key for [Fixer.io](http://fixer.io/).
+ description: Your API key for [Fixer.io](https://fixer.io/).
required: true
type: string
target:
diff --git a/source/_integrations/flunearyou.markdown b/source/_integrations/flunearyou.markdown
index 0507379e805..4407c9241b0 100644
--- a/source/_integrations/flunearyou.markdown
+++ b/source/_integrations/flunearyou.markdown
@@ -9,8 +9,8 @@ ha_iot_class: Cloud Polling
---
The `flunearyou` sensor platform allows users in the United States and its
-territories to get information regarding reported flu symptoms from Flu Near
-You. The platform can return user-reported information as well reports from the
+territories to get information regarding reported flu symptoms from [Flu Near
+You](https://flunearyou.org/). The platform can return user-reported information as well reports from the
Center for Disease Control (CDC).
## Configuration
diff --git a/source/_integrations/flux.markdown b/source/_integrations/flux.markdown
index 47bb976f126..c888b5cee97 100644
--- a/source/_integrations/flux.markdown
+++ b/source/_integrations/flux.markdown
@@ -8,7 +8,7 @@ logo: home-assistant.png
ha_qa_scale: internal
---
-The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night.
+The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night. The `flux` switch restores its last state after startup.
The integration will update your lights based on the time of day. It will only affect lights that are turned on and listed in the flux configuration.
diff --git a/source/_integrations/flux_led.markdown b/source/_integrations/flux_led.markdown
index d5fae9524c1..13ae001d4f4 100644
--- a/source/_integrations/flux_led.markdown
+++ b/source/_integrations/flux_led.markdown
@@ -12,8 +12,7 @@ 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 Smart Lighting](https://www.fluxsmartlighting.com/)
- [Flux WiFi Smart LED Light Bulb4](https://amzn.to/2X0dVwu)
- [WIFI smart LED light Bulb1](https://amzn.to/2J2fksr)
@@ -41,7 +40,7 @@ automatic_add:
default: false
type: boolean
devices:
- description: A list of devices with their ip address.
+ description: A list of devices with their IP address.
required: false
type: list
keys:
diff --git a/source/_integrations/foscam.markdown b/source/_integrations/foscam.markdown
index 6f21bd1750b..eda94f98cc5 100644
--- a/source/_integrations/foscam.markdown
+++ b/source/_integrations/foscam.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.7.3
---
-The `foscam` platform allows you to watch the live stream of your [Foscam](http://www.foscam.com/) IP camera in Home Assistant.
+The `foscam` platform allows you to watch the live stream of your [Foscam](https://www.foscam.com) IP camera in Home Assistant.
## Configuration
@@ -56,6 +56,130 @@ name:
There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
-### Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away
+### Service `foscam.ptz`
- Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.
+If your Foscam camera supports PTZ, you will be able to pan or tilt your camera.
+
+| Service data attribute | Description |
+| -----------------------| ----------- |
+| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Else targets all. |
+| `movement` | Direction of the movement. Allowed values: `up`, `down`, `left`, `right`, `top_left`, `top_right`, `bottom_left`, `bottom_right` |
+| `travel_time` | (Optional) Travel time in seconds. Allowed values: float from 0 to 1. Default: 0.125 |
+
+### Example card with controls
+
+
+
+ Example showing a Foscam camera with controls for Pan and Tilt.
+
+
+
+Using the following card code you can achieve a card displaying the live video feed from a Foscam camera with controls for moving the camera at the bottom right corner.
+
+```yaml
+type: picture-elements
+entity: camera.bedroom
+camera_image: camera.bedroom
+camera_view: live
+elements:
+ - type: icon
+ icon: 'mdi:arrow-up'
+ style:
+ background: 'rgba(255, 255, 255, 0.5)'
+ right: 25px
+ bottom: 50px
+ tap_action:
+ action: call-service
+ service: foscam.ptz
+ service_data:
+ entity_id: camera.bedroom
+ movement: up
+ - type: icon
+ icon: 'mdi:arrow-down'
+ style:
+ background: 'rgba(255, 255, 255, 0.5)'
+ right: 25px
+ bottom: 0px
+ tap_action:
+ action: call-service
+ service: foscam.ptz
+ service_data:
+ entity_id: camera.bedroom
+ movement: down
+ - type: icon
+ icon: 'mdi:arrow-left'
+ style:
+ background: 'rgba(255, 255, 255, 0.5)'
+ right: 50px
+ bottom: 25px
+ tap_action:
+ action: call-service
+ service: foscam.ptz
+ service_data:
+ entity_id: camera.bedroom
+ movement: left
+ - type: icon
+ icon: 'mdi:arrow-right'
+ style:
+ background: 'rgba(255, 255, 255, 0.5)'
+ right: 0px
+ bottom: 25px
+ tap_action:
+ action: call-service
+ service: foscam.ptz
+ service_data:
+ entity_id: camera.bedroom
+ movement: right
+ - type: icon
+ icon: 'mdi:arrow-top-left'
+ style:
+ background: 'rgba(255, 255, 255, 0.5)'
+ right: 50px
+ bottom: 50px
+ tap_action:
+ action: call-service
+ service: foscam.ptz
+ service_data:
+ entity_id: camera.bedroom
+ movement: top_left
+ - type: icon
+ icon: 'mdi:arrow-top-right'
+ style:
+ background: 'rgba(255, 255, 255, 0.5)'
+ right: 0px
+ bottom: 50px
+ tap_action:
+ action: call-service
+ service: foscam.ptz
+ service_data:
+ entity_id: camera.bedroom
+ movement: top_right
+ - type: icon
+ icon: 'mdi:arrow-bottom-left'
+ style:
+ background: 'rgba(255, 255, 255, 0.5)'
+ right: 50px
+ bottom: 0px
+ tap_action:
+ action: call-service
+ service: foscam.ptz
+ service_data:
+ entity_id: camera.bedroom
+ movement: bottom_left
+ - type: icon
+ icon: 'mdi:arrow-bottom-right'
+ style:
+ background: 'rgba(255, 255, 255, 0.5)'
+ right: 0px
+ bottom: 0px
+ tap_action:
+ action: call-service
+ service: foscam.ptz
+ service_data:
+ entity_id: camera.bedroom
+ movement: bottom_right
+```
+
+### Extra CGI Commands
+
+Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.
diff --git a/source/_integrations/freebox.markdown b/source/_integrations/freebox.markdown
index 09e0d0ba50d..b097eabb356 100644
--- a/source/_integrations/freebox.markdown
+++ b/source/_integrations/freebox.markdown
@@ -11,7 +11,7 @@ ha_release: 0.85
ha_iot_class: Local Polling
---
-The `freebox` integration allows you to observe and control [Freebox router](http://www.free.fr/).
+The `freebox` integration allows you to observe and control [Freebox router](https://www.free.fr/).
There is currently support for the following device types within Home Assistant:
@@ -70,7 +70,7 @@ Only the routers with Freebox OS are supported:
## Presence Detection
This platform offers presence detection by keeping track of the
-devices connected to a [Freebox](http://www.free.fr/) router.
+devices connected to a [Freebox](https://www.free.fr/) router.
### Notes
diff --git a/source/_integrations/fritz.markdown b/source/_integrations/fritz.markdown
index 4c74c082e6d..6b3c0e32ece 100644
--- a/source/_integrations/fritz.markdown
+++ b/source/_integrations/fritz.markdown
@@ -8,7 +8,7 @@ ha_release: "0.10"
---
-The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) based router.
+The `fritz` platform offers presence detection by looking at connected devices to a [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) based router.
## Setup
diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown
index 727c4fa81f3..f8476c7f49a 100644
--- a/source/_integrations/fritzbox_callmonitor.markdown
+++ b/source/_integrations/fritzbox_callmonitor.markdown
@@ -8,7 +8,7 @@ ha_release: 0.27
ha_iot_class: Local Polling
---
-The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing` or `talking` with the phone numbers involved contained in the state attributes.
+The `fritzbox_callmonitor` sensor monitors the call monitor exposed by [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) routers on TCP port 1012. It will assume the values `idle`, `ringing`, `dialing` or `talking` with the phone numbers involved contained in the state attributes.
It can also access the internal phone book of the router to look up the names corresponding to the phone numbers and store them in the state attributes.
## Prerequisites
diff --git a/source/_integrations/fritzbox_netmonitor.markdown b/source/_integrations/fritzbox_netmonitor.markdown
index 8d4feec89ba..fcb5abd7716 100644
--- a/source/_integrations/fritzbox_netmonitor.markdown
+++ b/source/_integrations/fritzbox_netmonitor.markdown
@@ -8,7 +8,7 @@ ha_release: 0.36
ha_iot_class: Local Polling
---
-The `fritzbox_netmonitor` sensor monitors the network statistics exposed by [AVM Fritz!Box](http://avm.de/produkte/fritzbox/) routers.
+The `fritzbox_netmonitor` sensor monitors the network statistics exposed by [AVM Fritz!Box](https://avm.de/produkte/fritzbox/) routers.
It might be necessary to install additional packages: sudo apt-get install libxslt-dev libxml2-dev python3-lxml
@@ -43,7 +43,7 @@ The following statistics will be exposed as attributes.
|is_linked |True if the FritzBox is physically linked to the provider |
|is_connected |True if the FritzBox has established an internet-connection |
|wan_access_type |Connection-type, can be `DSL` or `Cable` |
-|external_ip |External ip address |
+|external_ip |External IP address |
|uptime |Uptime in seconds |
|bytes_sent |Bytes sent |
|bytes_received |Bytes received |
diff --git a/source/_integrations/fronius.markdown b/source/_integrations/fronius.markdown
index d317d18af1d..abcc86f3f80 100644
--- a/source/_integrations/fronius.markdown
+++ b/source/_integrations/fronius.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Polling
ha_release: 0.96
---
-The `fronius` sensor polls a [Fronius](http://www.fronius.com/) solar inverter, battery system or smart meter and present the values as sensors in Home Assistant.
+The `fronius` sensor polls a [Fronius](https://www.fronius.com/) solar inverter, battery system or smart meter and present the values as sensors in Home Assistant.
## Configuration
diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown
index 508ae23f407..2abaf4600fd 100644
--- a/source/_integrations/frontend.markdown
+++ b/source/_integrations/frontend.markdown
@@ -8,7 +8,7 @@ ha_qa_scale: internal
ha_release: 0.7
---
-This offers the official frontend to control Home Assistant.
+This offers the official frontend to control Home Assistant. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
# Example configuration.yaml entry
@@ -111,7 +111,7 @@ automation:
### Manual Theme Selection
-When themes are enabled in the `configuration.yaml` file, a new option will show up in the user profile menu (accessed by clicking your user account initials at the top of the sidebar). You can then choose any installed theme from the dropdown list and it will be applied immediately.
+When themes are enabled in the `configuration.yaml` file, a new option will show up in the user profile page (accessed by clicking your user account initials at the bottom of the sidebar). You can then choose any installed theme from the dropdown list and it will be applied immediately.
@@ -138,7 +138,7 @@ HTML will be loaded via `` on an
### Manual Language Selection
-The browser language is automatically detected. To use a different language, go to the user profile menu (accessed by clicking your user account initials at the top of the sidebar) and select one. It will be applied immediately.
+The browser language is automatically detected. To use a different language, go to the user profile page (accessed by clicking your user account initials at the bottom of the sidebar) and select one. It will be applied immediately.
diff --git a/source/_integrations/frontier_silicon.markdown b/source/_integrations/frontier_silicon.markdown
index 613bb19a4ed..566cc2202ef 100644
--- a/source/_integrations/frontier_silicon.markdown
+++ b/source/_integrations/frontier_silicon.markdown
@@ -94,13 +94,13 @@ The Frontier Silicon API does not provide a multi-user environment. There is alw
-[Frontier Silicon chipset]: http://www.frontier-silicon.com/digital-radio-solutions
+[Frontier Silicon chipset]: https://www.frontier-silicon.com/digital-radio-solutions
[Medion Radios]: http://internetradio.medion.com/
[IR110]: https://www.hama.com/00054823/hama-ir110-internet-radio-internet-radio-multi-room-app-control
[DIR3110]: https://www.hama.com/00054824/hama-digitalradio-dir3110-internetradio-dab+-fm-multiroom-app-steuerung
[MD 87466]: https://www.medion.com/gb/service/start/_product.php?msn=50051273&gid=14
[SIRD 14 C2]: https://www.silvercrest-multiroom.de/fileadmin/user_upload/pdf/handbucher/Bedienungsanleitungen/IR/279398_SIRD_14_C2_ML4_V1.1_GB_CZ_SK_DE.pdf
[fsapi]: https://github.com/zhelev/python-fsapi
-[UNDOK]: http://www.frontier-silicon.com/undok
+[UNDOK]: https://www.frontier-silicon.com/undok
[flammy]: https://github.com/flammy/fsapi/
[tiwillam]: https://github.com/tiwilliam/fsapi
diff --git a/source/_integrations/futurenow.markdown b/source/_integrations/futurenow.markdown
index b0f7938e908..5dd9375e0a3 100644
--- a/source/_integrations/futurenow.markdown
+++ b/source/_integrations/futurenow.markdown
@@ -7,9 +7,9 @@ ha_category:
ha_release: 0.75
---
-The `futurenow` light platform allows you to use [P5](http://www.p5.hu) FutureNow relay/dimmer units as lights. Currently supported units:
-* [FutureNow FNIP-6x2AD](http://www.p5.hu/index.php/products/ethernet-modules/265-fnip-6x2ad) dimmer unit (outputs only)
-* [FutureNow FNIP-8x10A](http://www.p5.hu/index.php/products/ethernet-modules/263-fnip-8x10a) relay unit (outputs only)
+The `futurenow` light platform allows you to use [P5](https://www.p5.hu/) FutureNow relay/dimmer units as lights. Currently supported units:
+* [FutureNow FNIP-6x2AD](https://www.p5.hu/index.php/products/ethernet-modules/265-fnip-6x2ad) dimmer unit (outputs only)
+* [FutureNow FNIP-8x10A](https://www.p5.hu/index.php/products/ethernet-modules/263-fnip-8x10a) relay unit (outputs only)
### Configuration Sample
diff --git a/source/_integrations/garadget.markdown b/source/_integrations/garadget.markdown
index be20979611c..49c35416cef 100644
--- a/source/_integrations/garadget.markdown
+++ b/source/_integrations/garadget.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Cloud Polling
---
-The `garadget` cover platform lets you control [Garadget](http://www.garadget.com/) garage door futurizers through Home Assistant.
+The `garadget` cover platform lets you control [Garadget](https://www.garadget.com/) garage door futurizers through Home Assistant.
## Configuration
diff --git a/source/_integrations/generic_ip_camera.markdown b/source/_integrations/generic_ip_camera.markdown
index 8ea0e420c1d..e701055785c 100644
--- a/source/_integrations/generic_ip_camera.markdown
+++ b/source/_integrations/generic_ip_camera.markdown
@@ -25,11 +25,11 @@ camera:
{% configuration %}
still_image_url:
- description: "The URL your camera serves the image on, e.g., http://192.168.1.21:2112/. Can be a [template](/topics/templating/)."
+ description: "The URL your camera serves the image on, e.g., `http://192.168.1.21:2112/`. Can be a [template](/topics/templating/)."
required: true
type: string
stream_source:
- description: "The URL your camera serves the live stream on, e.g., rtsp://192.168.1.21:554/."
+ description: "The URL your camera serves the live stream on, e.g., `rtsp://192.168.1.21:554/`."
required: false
type: string
name:
diff --git a/source/_integrations/generic_thermostat.markdown b/source/_integrations/generic_thermostat.markdown
index 6e247967a82..abadb298863 100644
--- a/source/_integrations/generic_thermostat.markdown
+++ b/source/_integrations/generic_thermostat.markdown
@@ -85,14 +85,15 @@ precision:
default: "`0.5` for Celsius and `1.0` for Fahrenheit."
{% endconfiguration %}
-A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`.
+Time for `min_cycle_duration` and `keep_alive` must be set as "hh:mm:ss" or it must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`. Alternatively, it can be an integer that represents time in seconds.
Currently the `generic_thermostat` climate platform supports 'heat', 'cool' and 'off' hvac modes. You can force your `generic_thermostat` to avoid starting by setting HVAC mode to 'off'.
Please note that when changing the preset mode to away, you will force a target temperature change as well that will get restored once the preset mode is set to none again.
+## Full configuration example
+
```yaml
-# Full example configuration.yaml entry
climate:
- platform: generic_thermostat
name: Study
diff --git a/source/_integrations/geo_rss_events.markdown b/source/_integrations/geo_rss_events.markdown
index 25b99a57de3..6f020aa88e1 100644
--- a/source/_integrations/geo_rss_events.markdown
+++ b/source/_integrations/geo_rss_events.markdown
@@ -31,7 +31,7 @@ To enable the GeoRSS events sensor, add the following lines to your `configurati
sensor:
- platform: geo_rss_events
name: NSW Fire Service
- url: http://www.rfs.nsw.gov.au/feeds/majorIncidents.xml
+ url: https://www.rfs.nsw.gov.au/feeds/majorIncidents.xml
unit_of_measurement: 'Incidents'
categories:
- 'Emergency Warning'
@@ -95,7 +95,7 @@ sensor:
url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss
- platform: geo_rss_events
name: ACT Emergency Services Agency
- url: http://www.esa.act.gov.au/feeds/currentincidents.xml
+ url: https://www.esa.act.gov.au/feeds/currentincidents.xml
```
@@ -111,7 +111,7 @@ sensor:
- 'Past Day'
- platform: geo_rss_events
name: BGS Worlwide Earthquakes
- url: http://www.bgs.ac.uk/feeds/worldSeismology.xml
+ url: https://www.bgs.ac.uk/feeds/worldSeismology.xml
categories:
- 'EQMH'
- platform: geo_rss_events
diff --git a/source/_integrations/geofency.markdown b/source/_integrations/geofency.markdown
index d15596a9f91..02716bda083 100644
--- a/source/_integrations/geofency.markdown
+++ b/source/_integrations/geofency.markdown
@@ -8,7 +8,7 @@ ha_release: 0.53
ha_iot_class: Cloud Push
---
-This integration sets up integration with [Geofency](http://www.geofency.com/). Geofency is a paid app for iOS that lets users to configure a request that will be sent when a geofence or iBeacon region is entered or exited. This can be configured with Home Assistant to update your location.
+This integration sets up integration with [Geofency](https://www.geofency.com/). Geofency is a paid app for iOS that lets users to configure a request that will be sent when a geofence or iBeacon region is entered or exited. This can be configured with Home Assistant to update your location.
## Configuration
diff --git a/source/_integrations/geonetnz_quakes.markdown b/source/_integrations/geonetnz_quakes.markdown
index 78ccdb270a6..ba00fd528a5 100644
--- a/source/_integrations/geonetnz_quakes.markdown
+++ b/source/_integrations/geonetnz_quakes.markdown
@@ -29,7 +29,7 @@ The data is updated every 5 minutes.
-The material used by this integration is provided under the [Creative Commons Attribution 3.0 New Zealand (CC BY 3.0 NZ) license](http://creativecommons.org/licenses/by/3.0/nz/).
+The material used by this integration is provided under the [Creative Commons Attribution 3.0 New Zealand (CC BY 3.0 NZ) license](https://creativecommons.org/licenses/by/3.0/nz/).
It has only been modified for the purpose of presenting the material in Home Assistant.
Please refer to the [creator's disclaimer notice](https://www.geonet.org.nz/disclaimer) and [data policy](https://www.geonet.org.nz/policy) for more information.
diff --git a/source/_integrations/glances.markdown b/source/_integrations/glances.markdown
index 6f1d4a1a774..a4029b1cc01 100644
--- a/source/_integrations/glances.markdown
+++ b/source/_integrations/glances.markdown
@@ -9,42 +9,39 @@ ha_release: 0.7.3
---
-The `glances` sensor platform is consuming the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant.
+The `glances` integration allows you to monitor the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant.
## Setup
-This sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3.
-To start a Glances RESTful API server on its default port 61208, the a test the following command can be used:
+These sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3.
+To start a Glances RESTful API server on its default port 61208 then test you can use the following command:
```bash
$ sudo glances -w
Glances web server started on http://0.0.0.0:61208/
```
-Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/2`. Don't use `-s` as this will start the XMLRPC server on port 61209. Home Assistant only supports the REST API of GLANCES.
+Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/3`. Don't use `-s` as this will start the XMLRPC server on port 61209. Home Assistant only supports the REST API of GLANCES.
The details about your memory usage is provided as a JSON response. If so, you are good to proceed.
```bash
-$ curl -X GET http://IP_ADDRESS:61208/api/2/mem/free
+$ curl -X GET http://IP_ADDRESS:61208/api/3/mem/free
{"free": 203943936}
```
-If this doesn't work, try changing the `2` for `3`, if you have installed the latest version of Glances.
+If this doesn't work, try changing the `3` to `2`, if you don't have the latest version of Glances installed.
-For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd).
+For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd).
## Configuration
-To enable the Glances sensor, add the following lines to your `configuration.yaml`:
+Set up the integration through **Configuration -> Integrations -> Glances**. To import the configuration from `configuration.yaml` remove any previously configured sensors with platform type `glances` and add the following lines:
```yaml
# Example configuration.yaml entry
-sensor:
- - platform: glances
- host: IP_ADDRESS
- resources:
- - 'disk_use_percent'
+glances:
+ - host: IP_ADDRESS
```
{% configuration %}
@@ -85,51 +82,31 @@ version:
description: "The version of the Glances API. Supported version: `2` and `3`."
required: false
type: integer
- default: 2
-resources:
- description: Entries to monitor.
- required: false
- type: list
- default: disk_use
- keys:
- disk_use_percent:
- description: The used disk space in percent.
- disk_use:
- description: The used disk space.
- disk_free:
- description: The free disk space.
- memory_use_percent:
- description: The used memory in percent.
- memory_use:
- description: The used memory.
- memory_free:
- description: The free memory.
- swap_use_percent:
- description: The used swap space in percent.
- swap_use:
- description: The used swap space.
- swap_free:
- description: The free swap space.
- processor_load:
- description: The load.
- process_running:
- description: The number of running processes.
- process_total:
- description: The total number of processes.
- process_thread:
- description: The number of threads.
- process_sleeping:
- description: The number of sleeping processes.
- cpu_use_percent:
- description: The used CPU in percent.
- cpu_temp:
- description: The CPU temperature (may not be available on all platforms).
- docker_active:
- description: The count of active Docker containers.
- docker_cpu_use:
- description: The total CPU usage in percent of Docker containers.
- docker_memory_use:
- description: The total memory used by Docker containers.
+ default: 3
{% endconfiguration %}
+## Integration Entities
+
+Glances integration will add the following sensors:
+
+- disk_use_percent: The used disk space in percent.
+- disk_use: The used disk space.
+- disk_free: The free disk space.
+- memory_use_percent: The used memory in percent.
+- memory_use: The used memory.
+- memory_free: The free memory.
+- swap_use_percent: The used swap space in percent.
+- swap_use: The used swap space.
+- swap_free: The free swap space.
+- processor_load: The load.
+- process_running: The number of running processes.
+- process_total: The total number of processes.
+- process_thread: The number of threads.
+- process_sleeping: The number of sleeping processes.
+- cpu_use_percent: The used CPU in percent.
+- cpu_temp: The CPU temperature (may not be available on all platforms).
+- docker_active: The count of active Docker containers.
+- docker_cpu_use: The total CPU usage in percent of Docker containers.
+- docker_memory_use: The total memory used by Docker containers.
+
Not all platforms are able to provide all metrics. For instance `cpu_temp` is requires installing and configuring `lmsensors` in Ubuntu, and may not be available at all in other platforms.
diff --git a/source/_integrations/google_assistant.markdown b/source/_integrations/google_assistant.markdown
index f487ddce307..669600b83d1 100644
--- a/source/_integrations/google_assistant.markdown
+++ b/source/_integrations/google_assistant.markdown
@@ -26,65 +26,30 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
-## Migrate to release 0.80 and above
-
-
-If this is the first time setting up your Google Assistant integration, you can skip this section and continue with the [manual setup instructions](#first-time-setup) below.
-
-
-
-Since release 0.80, the `Authorization Code` type of `OAuth` account linking is supported. To migrate your existing configuration from release 0.79 or below, you need:
-
-1. Change your `Account linking` setting in [Actions on Google console](https://console.actions.google.com/). Select the `Develop` tab at the top of the page. Then select `Account linking` from the left side menu.
- - Change `Linking type` to `OAuth` and `Authorization Code`.
- - In the `OAuth Client information` section:
- - Change `Client ID` to `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important.
- - Input any string you like into `Client Secret`, Home Assistant doesn't need this field.
- - Change `Authorization URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize` (replace with your actual URL).
- - Change `Token URL` to `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token` (replace with your actual URL).
- - In the `Configure your client` section:
- - Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`.
- - Click `Save` at the top right corner, then click `Test` (also at the top right corner) to generate a new draft version of the Test App.
-2. Change your `configuration.yaml` file:
- - Remove `client_id`, `access_token`, `agent_user_id` config from `google_assistant:` since they are no longer needed.
-3. Restart Home Assistant, open the `Google Home` app on your mobile phone then go to `Account > Settings > Assistant > Home Control`, press the `3 dot icon in the top right > Manage accounts > [test] your app name > Unlink account` Then relink your account by selecting `[test] your app name` again.
-4. A browser will open and ask you to login to your Home Assistant instance and will redirect back to the `Google Assistant` app right afterward.
-
-
-
-If you've added Home Assistant to the home screen, you have to first remove it from home screen, otherwise, this HTML5 app will show up instead of a browser. Using it would prevent Home Assistant to redirect back to the `Google Assistant` app.
-
-If you're still having trouble, make sure that you're not connected to the same network Home Assistant is running on, e.g., use 4G/LTE instead.
-
-
-
-## First time setup
-
You need to create an API Key with the [Google Cloud API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide one, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device that you wish to control via the Google Assistant integration.
1. Create a new project in the [Actions on Google console](https://console.actions.google.com/).
1. Add/Import a project and give it a name.
- 2. Click on the `Home Control` card, select the `Smart home` recommendation.
- 3. Click `Build your Action`, select `Add Action(s)`, and click `Add your first action`. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable.
- 4. Click `Done`. Then click on `Overview`, which will lead you back to the app details screen.
+ 2. Click on the `Smart Home` card, select the `Smart home` recommendation.
+ 3. Click `Build your Action`, select `Add Action(s)`. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant` in the `Fulfillment URL` box, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable.
+ 4. Click `Save`. Then click on `Overview`, which will lead you back to the app details screen.
2. `Account linking` is required for your app to interact with Home Assistant. Set this up under the `Quick Setup` section.
- 1. Leave it at the default `No, I only want to allow account creation on my website` and select Next.
- 2. For the `Linking type` select `OAuth` and `Authorization Code`.
+ 1. Leave it at the default `No, I only want to allow account creation on my website` and select `Next`.
+ 2. For the `Linking type` select `OAuth` and `Authorization Code`. Click `Next`
3. Client ID: `https://oauth-redirect.googleusercontent.com/`, the trailing slash is important.
4. Client Secret: Anything you like, Home Assistant doesn't need this field.
5. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize`.
- 6. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`.
+ 6. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`. Click `Next`
7. Configure your client: Type `email` and click `Add scope`, then type `name` and click `Add scope` again.
- 8. Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`.
- 9. Testing instructions: Enter anything. It doesn't matter since you won't submit this app.
+ 8. Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`. Click `Next`
+ 9. Testing instructions: Enter anything. It doesn't matter since you won't submit this app. Click `Save`
-3. Under `Build your Action` click `Add Action(s)`.
- 1. Under `Fulfillment` fill in this URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant`.
-4. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App.
-5. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#configuration) below.
-6. Open the Google Home app and go into `Account > Settings > Assistant > Home Control`.
-7. Click the `+` sign, and near the bottom, you should have `[test] your app name` listed under 'Add new.' Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms for your devices or nicknames for your devices.
+
+3. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App.
+4. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#configuration) below.
+5. Open the Google Home app and goto `Account` most right icon.
+6. Click `+ Set up or add`, `+ Set up device`, 'New devices', choose your home and click `Next` click `Have something...`you should have `[test] your app name` listed under 'Add new.' Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms for your devices or nicknames for your devices.
@@ -99,13 +64,22 @@ If you've added Home Assistant to the home screen, you have to first remove it f
2. Copy and share the link with the new user.
3. When the new user opens the link with their own Google account, it will enable your draft test app under their account.
3. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account.
-2. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
+2. If you want to support actively reporting of state to Google's server (config option `report_state`) and support `google_assistant.request_sync`, you need to generate a service account.
+ 1. In the GCP Console, go to the [Create Service account key](https://console.cloud.google.com/apis/credentials/serviceaccountkey) page.
+ 2. From the Service account list, select New service account.
+ 3. In the Service account name field, enter a name.
+ 4. In the Service account ID field, enter an ID.
+ 5. From the Role list, select Service Accounts > Service Account Token Creator.
+ 6. For the Key type, select the JSON option.
+ 7. Click Create. A JSON file that contains your key downloads to your computer.
+ 8. Use the information in this file or the file directly to add to the `service_account`key in the configuration.
+3. If you didn't specify a service account and want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
2. Select your project and click Enable Homegraph API.
3. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials.
4. Note down the generated API Key and use this in the configuration.
-## Configuration
+### Configuration
Now add the following lines to your `configuration.yaml` file:
@@ -114,6 +88,8 @@ Now add the following lines to your `configuration.yaml` file:
google_assistant:
project_id: YOUR_PROJECT_ID
api_key: YOUR_API_KEY
+ service_account: !include SERVICE_ACCOUNT.JSON
+ report_state: true
exposed_domains:
- switch
- light
@@ -141,9 +117,27 @@ secure_devices_pin:
type: string
default: ""
api_key:
- description: Your Homegraph API key (for the `google_assistant.request_sync` service)
+ description: Your Homegraph API key (for the `google_assistant.request_sync` service). This is not required if a service_account is specified.
required: false
type: string
+service_account:
+ description: Service account information. You can use an include statement with your downloaded JSON file, enter data here directly or use secrets file to populate.
+ required: false
+ type: map
+ keys:
+ private_key:
+ description: Private key in PEM format
+ requried: true
+ type: string
+ client_email:
+ description: Service email address
+ required: true
+ type: string
+report_state:
+ description: Actively report state changes on entities. This speeds up response time for actions affecting multiple entities since Google Assistant knows pre-hand what state they are. It is also required for some features on visual controls.
+ required: false
+ default: false
+ type: boolean
expose_by_default:
description: "Expose devices in all supported domains by default. If `exposed_domains` domains is set, only these domains are exposed by default. If `expose_by_default` is set to false, devices have to be manually exposed in `entity_config`."
required: false
@@ -242,7 +236,7 @@ Here are the modes that are currently available:
### Troubleshooting the request_sync service
-The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlehome/answer/7506443) from Home Control and relink.
+The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlenest/answer/7126338) from Home Control and relink.
The request_sync service may fail with a 404 if the project_id of the Homegraph API differs from the project_id of the Actions SDK found in the preferences of your project on [Actions on Google console](https://console.actions.google.com). Resolve this by:
diff --git a/source/_integrations/google_maps.markdown b/source/_integrations/google_maps.markdown
index 2b8878a693d..7c9d18a78a2 100644
--- a/source/_integrations/google_maps.markdown
+++ b/source/_integrations/google_maps.markdown
@@ -10,14 +10,16 @@ ha_iot_class: Cloud Polling
The `google_maps` platform allows you to detect presence using the unofficial API of [Google Maps Location Sharing](https://myaccount.google.com/locationsharing).
-## Configuration
+## Setup
-You first need to create an additional Google account and share your location with that account. This platform will use that account to fetch the location of your device(s).
+You first need to create an additional Google account and share your location with that account. This integration will use that account to fetch the location of your device(s).
1. You have to setup sharing through the Google Maps app on your mobile phone. You can find more information [here](https://support.google.com/accounts?p=location_sharing).
-2. You need to use the cookies from that account after you have properly authenticated which you can retrieve with either [Export cookies](https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/?src=search) for firefox (make sure that "Prefix HttpOnly cookies" is unchecked) or [cookies.txt](https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg?hl=en-US) for chrome.
-3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account.
- - For example: if your email was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`.
+2. You need to use the cookies from that account after you have properly authenticated which you can retrieve with either [Export cookies](https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/?src=search) for Firefox (make sure that "Prefix HttpOnly cookies" is unchecked) or [cookies.txt](https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg?hl=en-US) for Chrome/Chromium.
+3. Save the cookie file to your Home Assistant configuration directory with the following name: `.google_maps_location_sharing.cookies.` followed by the slugified username of the NEW Google account. Make sure to use the `.com` TLD (e.g., maps.google.com), otherwise the cookie won't be able to provide a valid session.
+ - For example: If your email address was `location.tracker@gmail.com`, the filename would be: `.google_maps_location_sharing.cookies.location_tracker_gmail_com`.
+
+## Configuration
To integrate Google Maps Location Sharing in Home Assistant, add the following section to your `configuration.yaml` file:
@@ -28,6 +30,10 @@ device_tracker:
username: YOUR_USERNAME
```
+Once enabled and you have rebooted devices discovered through this integration wil be listed in the `known_devices.yaml`file within your configuration directory.
+
+They will be created with indentifiers like `google_maps_`. To be able to properly track entities you must set the `track` attribute to `true`.
+
{% configuration %}
username:
description: The email address for the Google account that has access to your shared location.
@@ -43,3 +49,7 @@ scan_interval:
default: 60
type: integer
{% endconfiguration %}
+
+
+As of release 0.97 Google passwords are no longer required in your configuration. Users coming from earlier releases should only remove the password entry from their configuration file (username is still required) and restart Home Assistant. The cookie file previously generated should still be valid and will allow the tracker to continue functioning normally until the cookie is invalidated.
+
diff --git a/source/_integrations/gpmdp.markdown b/source/_integrations/gpmdp.markdown
index 408413d9a4b..dcc780a8ae9 100644
--- a/source/_integrations/gpmdp.markdown
+++ b/source/_integrations/gpmdp.markdown
@@ -9,7 +9,7 @@ ha_release: "0.20"
---
-The `gpmdp` media player platform allows you to control a [GPMDP](http://www.googleplaymusicdesktopplayer.com/) instance running on a computer from Home Assistant.
+The `gpmdp` media player platform allows you to control a [GPMDP](https://www.googleplaymusicdesktopplayer.com/) instance running on a computer from Home Assistant.
You will have first have to check "Enable playback API" in GPMDP's settings and then add an inbound rule to the firewall to allow access to port 5672 on the computer running GPMDP.
diff --git a/source/_integrations/gpslogger.markdown b/source/_integrations/gpslogger.markdown
index ba18cd3b2b6..1b46c6f2000 100644
--- a/source/_integrations/gpslogger.markdown
+++ b/source/_integrations/gpslogger.markdown
@@ -25,7 +25,7 @@ After the launch, go to **General Options**. Enable **Start on bootup** and **St
GPSLogger Settings
-Go to **Logging details** and disable **Log to GPX**, **Log to KML** and **Log to NMEA**. Enable **Log to custom URL**.
+Go to **Logging details** and disable **Log to GPX**. Enable **Log to custom URL**.
@@ -60,7 +60,7 @@ Content-Type: application/x-www-form-urlencoded
```
- Make sure that **HTTP Method** is changed to `POST`
-If your battery drains too fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**
+If your battery drains too fast then you can tune the performance of GPSLogger under **Performance**.
diff --git a/source/_integrations/greeneye_monitor.markdown b/source/_integrations/greeneye_monitor.markdown
index 2562671989e..52afe90bcb9 100644
--- a/source/_integrations/greeneye_monitor.markdown
+++ b/source/_integrations/greeneye_monitor.markdown
@@ -9,7 +9,7 @@ ha_release: 0.82
ha_iot_class: Local Push
---
-The [GreenEye Monitor (GEM)](http://www.brultech.com/greeneye/) integration for Home Assistant allows you to create sensors for the various data channels of the GEM. Each current transformer (CT) channel, pulse counter, and temperature sensor appears in Home Assistant as a sensor, and can be used in automations.
+The [GreenEye Monitor (GEM)](https://www.brultech.com/greeneye/) integration for Home Assistant allows you to create sensors for the various data channels of the GEM. Each current transformer (CT) channel, pulse counter, and temperature sensor appears in Home Assistant as a sensor, and can be used in automations.
Configure your GEM(s) to produce binary-format packets (for example, "Bin32 NET" for a 32-channel GEM with some channels configured for net metering) and send them to an unused port on your Home Assistant machine. (These settings are in the "Packet Send" and "Network" pages of the GEM UI.) Then specify that port and information about your monitor(s) and the data channels you wish to monitor in your `configuration.yaml`:
diff --git a/source/_integrations/group.markdown b/source/_integrations/group.markdown
index d56e3f7fdea..451f8ca80a5 100644
--- a/source/_integrations/group.markdown
+++ b/source/_integrations/group.markdown
@@ -55,7 +55,7 @@ view:
type: boolean
default: false
control:
- description: "**Only applies to the deprecated UI `/states`**. Set value to `hidden`. If hidden then the group switch will be hidden. *Does not apply to Lovelace.*"
+ description: "**This is only a feature in generated mode of Lovelace** If value set to `hidden` the group switch will be hidden."
required: false
type: string
{% endconfiguration %}
diff --git a/source/_integrations/gtfs.markdown b/source/_integrations/gtfs.markdown
index 2a8d088a772..c6b79067dab 100644
--- a/source/_integrations/gtfs.markdown
+++ b/source/_integrations/gtfs.markdown
@@ -10,11 +10,11 @@ ha_release: 0.17
The `gtfs` sensor will give you the next departure time and associated data from your public transit station/stop. The data comes from your chosen public transit authority and is formatted as [General Transit Feed Specification](https://developers.google.com/transit/gtfs/) data, commonly known as GTFS.
-You need to find a valid GTFS data set, which you can usually find just by searching the internet. Most public transit authorities have GTFS available somewhere, as Google requires public transit authorities to provide the data if they wish to appear on Google Maps. You may also be able to find data at [TransitFeeds](http://transitfeeds.com/feeds).
+You need to find a valid GTFS data set, which you can usually find just by searching the internet. Most public transit authorities have GTFS available somewhere, as Google requires public transit authorities to provide the data if they wish to appear on Google Maps. You may also be able to find data at [TransitFeeds](https://transitfeeds.com/feeds).
Here are some examples:
-- [Bay Area Rapid Transit (BART)](http://www.bart.gov/schedules/developers/gtfs) - The light rail system for the San Francisco Bay Area.
+- [Bay Area Rapid Transit (BART)](https://www.bart.gov/schedules/developers/gtfs) - The light rail system for the San Francisco Bay Area.
- [Metropolitan Transit Authority of New York City (MTA)](http://web.mta.info/developers/) - Provides separate data feeds for subway, bus, LIRR and Metro-North of the greater New York City metropolitan region.
- [Official Timetable Switzerland](https://opentransportdata.swiss/en/dataset/timetable-2019-gtfs) - The official timetable data for Switzerland in 2019.
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/hangouts.markdown b/source/_integrations/hangouts.markdown
index 970c177dedf..b6a1443eba4 100644
--- a/source/_integrations/hangouts.markdown
+++ b/source/_integrations/hangouts.markdown
@@ -17,7 +17,7 @@ There is currently support for the following device types within Home Assistant:
## Setup the integration via the frontend
Menu: *Configuration* -> *Integrations*
-
+
Configure the integration:
* Enter your **Google Mail Address** and **Password**
* In the authentication form there is an Optional Field: **Authorization Code** which should only be used if you get an invalid login error with email and password (see note below for details).
@@ -225,16 +225,16 @@ Reconnects the hangouts bot.
## Advanced
-### Automatic reconnect after ip change
+### Automatic reconnect after IP change
-The hangouts integration can't detect if your ip address changes, so it can't automatic reconnect to the Google servers. This is a workaround for this problem.
+The hangouts integration can't detect if your IP address changes, so it can't automatic reconnect to the Google servers. This is a workaround for this problem.
{% raw %}
```yaml
sensor:
- platform: rest
- resource: https://api.ipify.org?format=json
+ resource: https://api.ipify.org/?format=json
name: External IP
value_template: '{{ value_json.ip }}'
scan_interval: 10
@@ -257,7 +257,7 @@ automation:
## Notifications
-The `hangouts` platform allows you to deliver notifications from Home Assistant to [Google Hangouts](http://hangouts.google.com) conversations. Conversations can be both direct as well as group chats.
+The `hangouts` platform allows you to deliver notifications from Home Assistant to [Google Hangouts](https://hangouts.google.com/) conversations. Conversations can be both direct as well as group chats.
To enable Hangouts notifications in your installation, you first need to configure the Hangouts component. Then, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/harmony.markdown b/source/_integrations/harmony.markdown
index 37487c3e6d4..c587e6cd221 100644
--- a/source/_integrations/harmony.markdown
+++ b/source/_integrations/harmony.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Push
ha_release: 0.34
---
-The `harmony` remote platform allows you to control the state of your [Harmony Hub Device](http://www.logitech.com/en-us/product/harmony-hub).
+The `harmony` remote platform allows you to control the state of your [Harmony Hub Device](https://www.logitech.com/en-us/product/harmony-hub).
Supported units:
diff --git a/source/_integrations/hddtemp.markdown b/source/_integrations/hddtemp.markdown
index 262e5f0a789..32a805b292e 100644
--- a/source/_integrations/hddtemp.markdown
+++ b/source/_integrations/hddtemp.markdown
@@ -7,7 +7,7 @@ ha_release: 0.32
ha_iot_class: Local Polling
---
-The `hddtemp` sensor platform is using the data provided by [HDDTemp](http://savannah.nongnu.org/projects/hddtemp).
+The `hddtemp` sensor platform is using the data provided by [HDDTemp](https://savannah.nongnu.org/projects/hddtemp).
It required that `hddtemp` is started or running in daemon mode on a local or remote system.
diff --git a/source/_integrations/here_travel_time.markdown b/source/_integrations/here_travel_time.markdown
index e93da66fa16..1d483c70c0d 100644
--- a/source/_integrations/here_travel_time.markdown
+++ b/source/_integrations/here_travel_time.markdown
@@ -13,7 +13,7 @@ The `here_travel_time` sensor provides travel time from the [HERE Routing API](h
## Setup
-You need to register for an API key by following the instructions [here](https://developer.here.com/documentation/routing/topics/introduction.html?create=Freemium-Basic&keepState=true&step=account).
+You need to register for an API key (REST & XYZ HUB API/CLI) by following the instructions [here](https://developer.here.com/documentation/routing/topics/introduction.html?create=Freemium-Basic&keepState=true&step=account).
HERE offers a Freemium Plan which includes 250.000 free Transactions per month. For the Routing API, one transaction equals one request with one starting point (no multi stop). More information can be found [here](https://developer.here.com/faqs#payment-subscription)
@@ -74,7 +74,7 @@ name:
type: string
default: "HERE Travel Time"
mode:
- description: "You can choose between: `bicycle`, `car`, `pedestrian`, `publicTransport`, `publicTransportTimeTable` or `truck`. The default is `car`. For public transport `publicTransportTimetable` is recommended. You can find more information on the modes [here](https://developer.here.com/documentation/routing/topics/transport-modes.html) and on the public modes [here](https://developer.here.com/documentation/routing/topics/public-transport-routing.html)"
+ description: "You can choose between: `bicycle`, `car`, `pedestrian`, `publicTransport`, `publicTransportTimeTable` or `truck`. The default is `car`. For public transport `publicTransportTimeTable` is recommended. You can find more information on the modes [here](https://developer.here.com/documentation/routing/topics/transport-modes.html) and on the public modes [here](https://developer.here.com/documentation/routing/topics/public-transport-routing.html)"
required: false
type: string
default: "car"
diff --git a/source/_integrations/hikvision.markdown b/source/_integrations/hikvision.markdown
index fcb8f506c43..a3bfd008d71 100644
--- a/source/_integrations/hikvision.markdown
+++ b/source/_integrations/hikvision.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Push
---
The Hikvision Binary Sensor is a platform that parses the event stream of a
-[Hikvision IP Camera or NVR](http://www.hikvision.com/) and presents the
+[Hikvision IP Camera or NVR](https://www.hikvision.com/) and presents the
camera/nvr events to Home Assistant as binary sensors with either an "off" or
"on" state.
diff --git a/source/_integrations/hikvisioncam.markdown b/source/_integrations/hikvisioncam.markdown
index 4896023bf74..28101dfa697 100644
--- a/source/_integrations/hikvisioncam.markdown
+++ b/source/_integrations/hikvisioncam.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: pre 0.7
---
-This `hikvisioncam` switch platform allows you to control your motion detection setting on your [Hikvision](http://www.hikvision.com/) camera.
+This `hikvisioncam` switch platform allows you to control your motion detection setting on your [Hikvision](https://www.hikvision.com/) camera.
Currently works using default https port only.
diff --git a/source/_integrations/hipchat.markdown b/source/_integrations/hipchat.markdown
deleted file mode 100644
index 3057371def7..00000000000
--- a/source/_integrations/hipchat.markdown
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: "HipChat"
-description: "Instructions on how to add HipChat notifications to Home Assistant."
-logo: hipchat.png
-ha_category:
- - Notifications
-ha_release: 0.52
----
-
-
-This integration will be removed from Home Assistant in the future. Slack has taken over Hipchat and Stride and will therefore stop these platforms. For more information: announcement.
-
-
-Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch.
-
-
-The `hipchat` platform allows you to send notifications from Home Assistant to [HipChat](https://hipchat.com/).
-
-You need to obtain a [HipChat API token](https://developer.atlassian.com/hipchat/guide/hipchat-rest-api/api-access-tokens#APIaccesstokens-Usergeneratedtokens) to be able to send notifications.
-
-To enable the HipChat notification in your installation, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-notify:
- - name: NOTIFIER_NAME
- platform: hipchat
- token: YOUR_TOKEN
- room: 1234567
-```
-
-{% configuration %}
-name:
- description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- required: false
- default: notify
- type: string
-token:
- description: The HipChat API token to use for sending HipChat notifications.
- required: true
- type: string
-room:
- description: The default room to post to if no room is explicitly specified when sending the notification.
- required: true
- type: integer
-color:
- description: Setting color will override the default color for the notification. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'.
- required: false
- default: yellow
- type: string
-notify:
- description: Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. Valid options are 'true' and 'false'.
- required: false
- default: false
- type: boolean
-format:
- description: Setting format will override the default message format. Valid options are 'text' and 'html'.
- required: false
- default: text
- type: string
-host:
- description: Setting the host will override the default HipChat server host.
- required: false
- default: "https://api.hipchat.com/"
- type: string
-{% endconfiguration %}
-
-### HipChat service data
-
-The following attributes can be placed `data` for extended functionality.
-
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `room` | yes | (int) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
-| `color` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
-| `notify` | yes | (bool) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
-| `format` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
-
-To use notifications, please see the [getting started with automation page](/getting-started/automation/).
diff --git a/source/_integrations/history.markdown b/source/_integrations/history.markdown
index e2fbb7e0e8d..dd740ee6fb1 100644
--- a/source/_integrations/history.markdown
+++ b/source/_integrations/history.markdown
@@ -14,8 +14,7 @@ component for storing the data and uses the same database setting.
If any entities are excluded from being recorded,
no history will be available for these entities.
-To enable the history option in your installation,
-add the following to your `configuration.yaml` file:
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
# Basic configuration.yaml entry
diff --git a/source/_integrations/history_stats.markdown b/source/_integrations/history_stats.markdown
index ef743ab46eb..6038fbd4c10 100644
--- a/source/_integrations/history_stats.markdown
+++ b/source/_integrations/history_stats.markdown
@@ -188,6 +188,6 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
- The `/dev-template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct. If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
+ The `/developer-tools/template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct. If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
diff --git a/source/_integrations/hive.markdown b/source/_integrations/hive.markdown
index dd615a84d6f..681a06886ef 100644
--- a/source/_integrations/hive.markdown
+++ b/source/_integrations/hive.markdown
@@ -125,7 +125,7 @@ The platform supports the following Hive products:
### Climate
-The `hive` climate platform integrates your Hive thermostat into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
+The `hive` climate platform integrates your Hive thermostat and Hive radiator valves into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
A short boost for Hive Heating can be set by using the **Boost** preset, this will turn on the boost feature for 30 minutes at 0.5 degrees higher than the current temperature.
@@ -133,6 +133,7 @@ The platform supports the following Hive products:
- Hive Active Heating
- Hive Multi-zone
+- Hive Radiator Valve
### Light
diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown
index bbeaa1023c8..888745f30ab 100644
--- a/source/_integrations/homekit.markdown
+++ b/source/_integrations/homekit.markdown
@@ -82,6 +82,10 @@ homekit:
required: false
type: boolean
default: false
+ advertise_ip:
+ description: If you need to override the IP address used for mDNS advertisement. (For example, using network isolation in Docker and together with an mDNS forwarder like `avahi-daemon` in reflector mode)
+ required: false
+ type: string
filter:
description: Filters for entities to be included/excluded from HomeKit. ([Configure Filter](#configure-filter))
required: false
@@ -160,8 +164,8 @@ homekit:
After Home Assistant has started, the entities specified by the filter are exposed to HomeKit if they are [supported](#supported-components). To add them:
1. Open the Home Assistant frontend. A new card will display the `pin code`. Note: If pin code is not displayed, check "Notifications" (the bell icon) in the upper-right of the Home Assistant UI.
-1. Open the `Home` app.
-2. Click `Add Accessory`, then select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`.
+2. Open the `Home` app.
+3. Click `Add Accessory`, then select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`.
4. Confirm that you are adding an `Uncertified Accessory` by clicking on `Add Anyway`.
5. Enter the `PIN` code.
6. Follow the setup by clicking on `Next` and lastly `Done` in the top right-hand corner.
@@ -324,6 +328,19 @@ To avoid any errors, after you have successfully paired your Home Assistant Brid
+## Docker Network Isolation
+
+The `advertise_ip` option can be used to run this integration even inside an ephemeral Docker container with network isolation enabled, e.g., not using the host network.
+
+To use `advertise_ip`, add the option to your `homekit` config:
+
+```yaml
+homekit:
+ advertise_ip: "STATIC_IP_OF_YOUR_DOCKER_HOST"
+```
+
+Restart your Home Assistant instance. This feature requires running an mDNS forwarder on your Docker host, e.g., `avahi-daemon` in reflector mode. This kind of setup most likely requires `safe_mode` during the bridge setup.
+
## Supported Components
The following integrations are currently supported:
@@ -352,7 +369,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
@@ -403,6 +420,8 @@ Remember that the iOS device needs to be in the same local network as the Home A
Set `network_mode: host`. If you have further problems this [issue](https://github.com/home-assistant/home-assistant/issues/15692) might help.
+You can also try to use `avahi-daemon` in reflector mode together with the option `advertise_ip`, see above.
+
#### `Home Assistant Bridge` doesn't appear in the Home App (for pairing) - VirtualBox
Configure the network mode as `networkbridge`. Otherwise the Home Assistant Bridge won't be exposed to the network.
diff --git a/source/_integrations/homekit_controller.markdown b/source/_integrations/homekit_controller.markdown
index 84f694fd8cf..05c90c88149 100644
--- a/source/_integrations/homekit_controller.markdown
+++ b/source/_integrations/homekit_controller.markdown
@@ -16,7 +16,7 @@ ha_release: 0.68
ha_iot_class: Local Polling
---
-The [HomeKit](https://developer.apple.com/homekit/) controller integration allows you to use accessories with the "Works with HomeKit" logo with Home Assistant. This integration should not be confused with the [HomeKit](/integrations/homekit/) integration, which allows you to control Home Assistant devices via HomeKit.
+The [HomeKit](https://developer.apple.com/homekit/) controller integration allows you to connect accessories with the "Works with HomeKit" logo to Home Assistant. This integration should not be confused with the [HomeKit](/integrations/homekit/) integration, which allows you to control Home Assistant devices via HomeKit.
The integration will automatically detect HomeKit compatible devices that are ready to pair if the [`zeroconf`](/integrations/zeroconf/) integration is enabled. This is enabled by default on new installations via the [`default_config`](/integrations/default_config/) component.
@@ -37,38 +37,44 @@ There is currently support for the following device types within Home Assistant:
HomeKit IP accessories for these device types may work with some caveats:
-- If the device is WiFi based and has no physical controls or screen then you may need an Apple HomeKit device like an iPhone or iPad to get the accessory onto your WiFi network. For example, for a Koogeek LS1 you must add the accessory to HomeKit on your iOS device, then remove it from the iOS device. This leaves the LS1 in an unpaired state but still on your WiFi. Then Home Assistant can find it and pair with it.
-- You need to know the HomeKit PIN. There is no way to recover this if you do not have it. You will need to contact the manufacturer to see what options you have.
+- If the device is WiFi based and has no physical controls or screen then you may need an Apple HomeKit device like an iPhone or iPad to get the accessory onto your WiFi network. For example, for a Koogeek LS1 you must add the accessory to HomeKit on your iOS device, then remove it from the iOS device. This leaves the LS1 in an unpaired state but still on your WiFi. Home Assistant can then find it and pair with it.
+- You need to know the HomeKit PIN. There is no way to recover this if you do not have it. In this case, you will need to contact the manufacturer to see what options you have.
Home Assistant does not currently support HomeKit BLE.
+
+
+ HomeKit Controller might detect some HomeKit devices on your network that are not currently supported by this integration. One such example is HomeKit displays (such as Vizio TVs which have been updated with HomeKit support). These devices might pair with Home Assistant if you go through the pairing process, but no entity will be created, and you won't be able to control these devices with Home Assistant. However, pairing the device with Home Assistant *will* remove the persistent notification generated when Home Assistant finds new devices.
+
+
+
## Troubleshooting
### I don't have a HomeKit PIN
-When you buy a certified HomeKit enabled device the PIN maybe with the instructions or on a sticker on the side or under the accessory.
+When you buy a certified HomeKit-enabled device, the PIN might be in the instructions or on a sticker on the accessory itself.
-Devices with screens like thermostats may not have PIN codes in the packaging at all. Every time you click on "Configure" in the Home Assistant front end your accessory will generate a new pairing code and show it on the display.
+Devices with screens like thermostats may not have PIN codes in the packaging at all. Every time you click on "Configure" in the Home Assistant frontend, your accessory will generate a new pairing code and show it on the display.
-If your device doesn't have a display and got HomeKit support after it was released you may not have a pairing code. Dealing with this is manufacturer specific. Some manufacturers allow you to see the pairing code in their iOS app. Others force you to use their app to configure HomeKit and don't let you have the pairing pin - right now you won't be able to use HomeKit controller with those devices.
+If your device doesn't have a display and received HomeKit support after it was released, you may not have a pairing code. Dealing with this is manufacturer specific. Some manufacturers allow you to see the pairing code in their iOS app. Others force you to use their app to configure HomeKit and don't let you have the pairing pin - right now you won't be able to use HomeKit Controller with those devices.
-If you have lost your PIN code then you may not be able to repair your accessory. You should contact the manufacturer to see if there is anything you can do.
+If you have lost your PIN code, then you may not be able to pair your accessory. You should contact the manufacturer to see if there is anything you can do.
### My accessory isn't updating straight away
-This is normal - HomeKit controller is currently a local polling based integration. It polls your accessory for its latest state once a minute.
+This is normal - HomeKit controller is currently a local polling based integration. It polls your accessory for its latest state once per minute.
### Home Assistant cannot discover my device
-For IP accessories, Home Assistant can only find devices that are already on the same network as your device. If an accessory is WiFi based and has no user interface for joining it to your Wifi network you will need an Apple HomeKit controller device (an iPhone or iPad). You should pair it with the controller and then remove the pairing in the UI (but do not reset the accessory itself). This will leave the accessory on your WiFi network but in an unpaired state, and then Home Assistant can find it.
+For IP accessories, Home Assistant can only find devices that are already on the same network as your device. If an accessory is WiFi based and has no user interface for joining it to your Wifi network, you will need an Apple HomeKit controller device (an iPhone or iPad). You should pair it with the controller and then remove the pairing in the UI (but do not reset the accessory itself). This will leave the accessory on your WiFi network but in an unpaired state, and then Home Assistant can find it.
-Home Assistant can only find accessories that aren't already paired. Even if you reset your Home Assistant configuration the accessory will still think it is paired and you won't be able to use it with Home Assistant. You should reset the accessory according to the manufacturer instructions. Some devices have a "Reset HomeKit" option, and some may require a full reset.
+Home Assistant can only find accessories that aren't already paired. Even if you reset your Home Assistant configuration, the accessory will still think it is paired and you won't be able to use it with Home Assistant. You should reset the accessory according to the manufacturer's instructions. Some devices have a "Reset HomeKit" option, and some may require a full reset.
-### HomeKit controller is finding devices on my network even though I don't have any Apple device
+### HomeKit controller is finding devices on my network even though I don't have any Apple devices
-This is completely normal. Unlike many other commercial IoT offerings the HomeKit protocol is a local and offline protocol that does not rely on the Apple ecosystem to function. You do not need an Apple online account to use a "Works with HomeKit" device. Some WiFi devices may need an iOS briefly to get them onto your WiFi but other than that you do not need any Apple hardware on your network either.
+This is completely normal. Unlike many other commercial IoT offerings, the HomeKit protocol is a local and offline protocol that does not rely on the Apple ecosystem to function. You do not need an Apple online account to use a "Works with HomeKit" device. Some WiFi devices may need an iOS device briefly to get them onto your WiFi, but other than that you do not need any Apple hardware on your network.
-Many IoT devices are getting a post-launch HomeKit upgrade. This might mean your device starts showing in Home Assistant as a `homekit_controller` device even though when you bought it without HomeKit support. If maybe this is a better choice for you than a native integration. For example, a lot of climate devices have an online-only API and a HomeKit API. The HomeKit one might not expose all of the settings and controls you are used to but won't break if your internet connection goes down or the cloud service goes away.
+Many IoT devices are getting a post-launch HomeKit upgrade. This might mean your device starts showing in Home Assistant as a `homekit_controller` device even though when you bought it without HomeKit support. This might be a better choice for you than a native integration. For example, many climate devices have an online-only API and a HomeKit API. The HomeKit one might not expose all of the settings and controls you are used to, but it also won't break if your Internet connection goes down or the cloud service goes away.
### I have a warning in my logs about HomeKit controller skipping updates
@@ -78,10 +84,10 @@ You may say a log entry that looks like this:
HomeKit controller update skipped as previous poll still in flight
```
-In these cases it's unlikely that HomeKit controller itself is directly responsible. This is a safety feature to avoid overloading your HomeAssistant instance. It means that Home Assistant tried to poll your accessory but the previous poll was still happening. This means it is taking over 1 minute to poll your accessory. This could be caused by a number of things:
+In these cases it's unlikely that HomeKit controller itself is directly responsible. This is a safety feature to avoid overloading your Home Assistant instance. It means that Home Assistant tried to poll your accessory but the previous poll was still happening. This means it is taking over 1 minute to poll your accessory. This could be caused by a number of things:
-- You have too many blocking synchronous integrations for your Home Assistant instance. All synchronous integrations share a thread pool and if there are lots of tasks to run on it they will queued, causing delays. In the worst cases this queue can build up faster than it can be emptied. Faster hardware may help, but you may need to disable some integrations.
-- Your network connection to an accessory is poor and HomeKit controller is unable to reach the accessory reliably. This will likely require a change to your network setup to improve WiFi coverage or replace damaged cabling etc.
-- There is a problem with the actual accessory and this may be causing intermittent network issues.
+- You have too many blocking synchronous integrations for your Home Assistant instance. All synchronous integrations share a thread pool, and if there are lots of tasks to run on it they will queued, which will cause delays. In the worst cases this queue can build up faster than it can be emptied. Faster hardware may help, but you may need to disable some integrations.
+- Your network connection to an accessory is poor and HomeKit Controller is unable to reach the accessory reliably. This will likely require a change to your network setup to improve WiFi coverage or replace damaged cabling.
+- There is a problem with the accessory itself which is causing intermittent network issues.
-In these cases HomeKit controller will skip polling to avoid a build up of back pressure in your instance.
+In these cases, HomeKit Controller will skip polling to avoid a buildup of back pressure in your instance.
diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown
index 2fb9b297ea5..d3b77eabf45 100644
--- a/source/_integrations/homematic.markdown
+++ b/source/_integrations/homematic.markdown
@@ -16,8 +16,8 @@ ha_iot_class: Local Push
ha_release: 0.23
---
-The [Homematic](http://www.homematic.com/) integration provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit.
-If you are using Homegear with paired [Intertechno](http://intertechno.at/) devices, uni-directional communication is possible as well.
+The [Homematic](https://www.homematic.com/) integration provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit.
+If you are using Homegear with paired [Intertechno](https://intertechno.at/) devices, uni-directional communication is possible as well.
There is currently support for the following device types within Home Assistant:
@@ -94,7 +94,7 @@ callback_ip:
required: false
type: string
callback_port:
- description: Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.).
+ description: Set this, if Home Assistant is reachable under a different port from the CCU (NAT, Docker etc.).
required: false
type: integer
resolvenames:
diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown
index c87eb1f650b..800d3e9f9a1 100644
--- a/source/_integrations/homematicip_cloud.markdown
+++ b/source/_integrations/homematicip_cloud.markdown
@@ -15,7 +15,7 @@ ha_iot_class: Cloud Push
ha_release: 0.66
---
-The [HomematicIP](http://www.homematic-ip.com) integration platform is used as an interface to the cloud server. Since there is no official documentation about this API, everything was done via reverse engineering. The [homematicip-rest-api](https://github.com/coreGreenberet/homematicip-rest-api) is used for communicating. Use at your own risk.
+The [HomematicIP](https://www.homematic-ip.com/) integration platform is used as an interface to the cloud server. Since there is no official documentation about this API, everything was done via reverse engineering. The [homematicip-rest-api](https://github.com/coreGreenberet/homematicip-rest-api) is used for communicating. Use at your own risk.
There is currently support for the following device types within Home Assistant:
@@ -84,6 +84,7 @@ Within this delay the device registration should be completed in the App, otherw
* Combined Alarm Control Panal with INTERNAL and EXTERNAL Security zones (*HmIP-SecurityZone*)
* homematicip_cloud.binary_sensor
+ * Acceleration Sensor (*HMIP-SAM*)
* Window and door contact (*HmIP-SWDO, -I*)
* Contact Interface flush-mount – 1 channel (*HmIP-FCI1*)
* Contact Interface (*HmIP-SCI*)
@@ -158,6 +159,7 @@ Within this delay the device registration should be completed in the App, otherw
- `homematicip_cloud.activate_vacation`: Activates the vacation mode until the given time.
- `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately.
- `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately.
+- `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index.
### Service Examples
@@ -213,11 +215,26 @@ Deactivates the vacation mode immediately.
```yaml
...
action:
- service: homematicip_cloud.deactivate_vacation_mode
+ service: homematicip_cloud.deactivate_vacation
data:
accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx
```
+Set the active climate profile index.
+
+The index of the climate profile is 1-based.
+You can get the required index from the native Homematic IP App.
+
+```yaml
+...
+action:
+ service: homematicip_cloud.set_active_climate_profile
+ data:
+ entity_id: climate.livingroom
+ climate_profile_index: 1
+```
+
+
## Additional info
Push button devices are only available with a battery sensor. This is due to a limitation of the vendor API (eq3).
diff --git a/source/_integrations/hook.markdown b/source/_integrations/hook.markdown
index 152da2f657a..94e046e9d91 100644
--- a/source/_integrations/hook.markdown
+++ b/source/_integrations/hook.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Assumed State
ha_release: 0.34
---
-The `hook` integration allows you to control the [Hook Smart Home Hub](http://www.hooksmarthome.com/) from within Home Assistant.
+The `hook` integration allows you to control the Hook Smart Home Hub from within Home Assistant.
Hook allows you to control cheap mains electrical outlets, like these ones at [Amazon](https://amzn.to/2WVZdGG).
diff --git a/source/_integrations/hp_ilo.markdown b/source/_integrations/hp_ilo.markdown
index 1e885a97742..4f2cee29ede 100644
--- a/source/_integrations/hp_ilo.markdown
+++ b/source/_integrations/hp_ilo.markdown
@@ -12,7 +12,7 @@ The `hp_ilo` platform allows you to do an API call to the HP ILO (Integrated Lig
If the ILO or specified jsonpath query returns only a single value (e.g., a temperature or state), it will be put in the state field. If a data structure is returned, it will be placed in the `ilo_data` attribute.
-Some more details about what can be retrieved from these sensors is available in the [python-hpilo documentation](http://seveas.github.io/python-hpilo/).
+Some more details about what can be retrieved from these sensors is available in the [python-hpilo documentation](https://seveas.github.io/python-hpilo/).
diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown
index d36a05a7160..21e1396fcaf 100644
--- a/source/_integrations/html5.markdown
+++ b/source/_integrations/html5.markdown
@@ -17,7 +17,7 @@ HTML5 push notifications **do not** work on iOS.
-The GCM configuration option is deprecated and will stop working in April 2019, see [https://developers.google.com/cloud-messaging/faq](https://developers.google.com/cloud-messaging/faq). If you are installing this platform for the first time, follow the VAPID configuration steps. To migrate your current installation from GCM to VAPID configuration, follow the instructions below. You can skip the first 3 steps and continue in step 4 with your existing project. You will also need to delete `html5_push_registrations.conf` and [re-enable the notifications in your browser](#setting-up-your-browser).
+The GCM configuration option is deprecated and stopped working in May 2019, see [https://developers.google.com/cloud-messaging/faq](https://developers.google.com/cloud-messaging/faq). If you are installing this platform for the first time, follow the VAPID configuration steps. To migrate your current installation from GCM to VAPID configuration, follow the instructions below. You can skip the first 3 steps and continue in step 4 with your existing project. You will also need to delete `html5_push_registrations.conf` and [re-enable the notifications in your browser](#setting-up-your-browser).
@@ -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/http.markdown b/source/_integrations/http.markdown
index 4909b2caaf5..f6d572b5bc3 100644
--- a/source/_integrations/http.markdown
+++ b/source/_integrations/http.markdown
@@ -218,7 +218,7 @@ In this section you'll find some real-life examples of how to use this sensor, b
#### Using Python request module
-As already shown on the [API](/developers/rest_api/) page, it's very simple to use Python and the [Requests](http://docs.python-requests.org/en/latest/) module for the interaction with Home Assistant.
+As already shown on the [API](/developers/rest_api/) page, it's very simple to use Python and the [Requests](https://requests.kennethreitz.org//en/latest/) module for the interaction with Home Assistant.
```python
response = requests.post(
diff --git a/source/_integrations/hue.markdown b/source/_integrations/hue.markdown
index 6340af2a2fb..b1e36814b1b 100644
--- a/source/_integrations/hue.markdown
+++ b/source/_integrations/hue.markdown
@@ -11,18 +11,18 @@ featured: true
ha_release: "0.60"
---
-Philips Hue support is integrated into Home Assistant as a Hub that can drive the light & sensor platforms. The preferred way to setup the Philips Hue platform is by enabling the [discovery component](/integrations/discovery/).
+Philips Hue support is integrated into Home Assistant as a hub that can drive the light and sensor platforms. The preferred way to set up the Philips Hue platform is by enabling the [discovery component](/integrations/discovery/).
There is currently support for the following device types within Home Assistant:
-- Light
-- Motion sensors (including temperature & light level sensors)
+- Lights
+- Motion sensors (including temperature and light level sensors)
-Once discovered, if you have a custom default view, locate `configurator.philips_hue` in the entities list ( < > ) and add it to a group in `configuration.yaml`. Restart Home Assistant so that the configurator is visible in the Home Assistant dashboard. Once Home Assistant is restarted, locate and click on `configurator.philips_hue` to bring up the initiation dialog. This will prompt you to press the Hue button to register the Hue hub in Home Assistant. Once complete, the configurator entity isn't needed anymore and can be removed from any visible group in `configuration.yaml`.
+Once discovered, if you have a custom default view, locate `configurator.philips_hue` in the States developer tool ( < > ) and add it to a group in `configuration.yaml`. Restart Home Assistant so that the configurator is visible in the Home Assistant dashboard. Once Home Assistant is restarted, locate and click on `configurator.philips_hue` to bring up the initiation dialog. This will prompt you to press the Hue button to register the Hue bridge in Home Assistant. Once complete, the configurator entity isn't needed anymore and can be removed from any visible group in `configuration.yaml`.
-When you configure the Hue bridge from Home Assistant, it writes a token to a file in your Home Assistant [configuration directory](/docs/configuration/). That token authenticates the communication with the Hue bridge. This token uses the Address of the Hue Bridge. If the IP address for the Hue Bridge changes, you will need to register the Hue Bridge with Home Assistant again. To avoid this you may set up DHCP registration for your Hue Bridge, so that it always has the same IP address.
+When you configure the Hue bridge from Home Assistant, it writes a token to a file in your Home Assistant [configuration directory](/docs/configuration/). That token authenticates the communication with the Hue bridge. This token uses the IP address of the bridge. If the IP address for the bridge changes, you will need to register it with Home Assistant again. To avoid this, you may set up a DHCP reservation on your router for your Hue bridge so that it always has the same IP address.
-Once registration is complete you should see the Hue lights listed as `light` entities, Hue presence sensors listed as `binary_sensor` entites, Hue temperature and light level sensors listed as `sensor` entities. If you don't you may have to restart Home Assistant once more.
+Once registration is complete you should see the Hue lights listed as `light` entities, the Hue motion sensors listed as `binary_sensor` entities, and the Hue temperature and light level sensors (which are built in to the motion sensors) listed as `sensor` entities. If you don't, you may have to restart Home Assistant once more.
If you want to enable the integration without relying on the [discovery component](/integrations/discovery/), add the following lines to your `configuration.yaml` file:
@@ -35,7 +35,7 @@ hue:
{% configuration %}
host:
- description: The IP address of the device, e.g., 192.168.1.10. Required if not using the `discovery` integration to discover Hue bridges.
+ description: The IP address of the bridge (e.g., 192.168.1.10). Required if not using the `discovery` integration to discover Hue bridges.
required: true
type: string
allow_unreachable:
@@ -44,7 +44,7 @@ allow_unreachable:
type: boolean
default: false
filename:
- description: Make this unique if specifying multiple Hue hubs.
+ description: Make this unique if specifying multiple Hue bridges.
required: false
type: string
allow_hue_groups:
@@ -67,7 +67,7 @@ hue:
### Multiple Hue bridges
-Multiple Hue bridges work transparently with discovery, you don't have to do anything. If you prefer to configure them manually and use multiple Hue bridges then it's needed that you provide a configuration file for every bridge. The bridges can't share a single configuration file.
+Multiple Hue bridges work transparently with discovery, so you don't have to do anything special to set them up. If you prefer to configure them manually and use multiple Hue bridges, then you need to provide a configuration file for every bridge. The bridges can't share a single configuration file.
Add `filename` to your Hue configuration entry in your `configuration.yaml` file:
@@ -83,23 +83,23 @@ hue:
### Using Hue Groups in Home Assistant
-The Hue API allows you to group lights. Home Assistant also supports grouping of entities natively, but sometimes it can be useful to use Hue Groups to group light bulbs. By doing so, Home Assistant only needs to send one API call to change the state of all the bulbs in those groups instead of one call for every light in the group. This causes all the bulbs to change state simultaneously.
+The Hue API allows you to group lights. Home Assistant also supports grouping of entities natively, but sometimes it can be useful to use Hue groups to group light bulbs. By doing so, Home Assistant only needs to send one API call to change the state of all the bulbs in those groups instead of one call for every light in the group. This causes all the bulbs to change state simultaneously.
-These Hue Groups can be a `Luminaire`, `Lightsource`, `LightGroup` or `Room`. The `Luminaire` and `Lightsource` can't be created manually since the Hue bridge manages these automatically based on the discovered bulbs. The `Room` and `LightGroup` can be created manually through the API, or the mobile app. A bulb can only exist in one `Room`, but can exist in multiple `LightGroup`. The `LightGroup` can be useful to link certain bulbs together since.
+These Hue groups can be a `Luminaire`, `Lightsource`, `LightGroup`, or `Room`. The `Luminaire` and `Lightsource` can't be created manually since the Hue bridge manages these automatically based on the discovered bulbs. The `Room` and `LightGroup` can be created manually through the API or the mobile app. A bulb can only exist in one `Room`, but can exist in more than one `LightGroup`. The `LightGroup` can be useful if you want to link certain bulbs together.
-The 2nd generation Hue app only allows to create a `Room`. You need to use the first generation app or the API to create a `LightGroup`.
+The 2nd generation Hue app only has the ability to create a `Room`. You need to use the first generation app or the API to create a `LightGroup`.
Example:
-To create a `LightGroup` named `Ceiling lights` that contains the lights 1, 2 and 3, execute the following command:
+To create a `LightGroup` named `Ceiling lights` that contains the lights 1, 2, and 3, execute the following command:
```bash
$ curl -XPOST -d '{"name": "Ceiling lights", "lights": ["1", "2", "3"]}' http:///api//groups
```
-The `` is the string that is used to register Home Assistant on the bridge, you can find it in the `core.config_entries` file in your configuration\.storage path. `` is the IP address or hostname of your Hue bridge.
+The `` is the string that is used to register Home Assistant on the bridge. You can find it in the `core.config_entries` file in your configuration\.storage path. `` is the IP address or hostname of your Hue bridge.
-You can find out the ids of your lights by executing the following command:
+You can find the IDs of your lights by executing the following command:
```bash
$ curl http:///api//lights
@@ -108,17 +108,17 @@ $ curl http:///api//lights
Home Assistant will automatically detect your new `LightGroup` and add it to the interface.
- To support Hue Light Groups, your bridge needs to have at least firmware 1.13 (released on June 3, 2016).
+ To support Hue light groups, your bridge needs to have at least firmware 1.13 (released on June 3, 2016).
More information can be found on the [Philips Hue API documentation](https://www.developers.meethue.com/documentation/groups-api#22_create_group) website.
### Using Hue Scenes in Home Assistant
-The Hue platform has its own concept of scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them, many that you've never used, almost all very poorly named.
+The Hue platform has its own concept of scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them—many that you've never used, and almost all very poorly named.
-To avoid user interface overload we don't expose scenes directly. Instead there is a hue.hue_activate_scene service which can be used by `automation` or `script` components.
-This will have all the bulbs transitioned at once, instead of one at a time using standard scenes in Home Assistant.
+To avoid user interface overload, we don't expose scenes directly. Instead there is a hue.hue_activate_scene service which can be used by `automation` or `script` components.
+This will have all the bulbs transitioned at once, instead of one at a time like when using standard scenes in Home Assistant.
For instance:
@@ -134,23 +134,23 @@ script:
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `group_name` | no | The group/room name of the lights. Find this in the Hue official app.
-| `scene_name` | no | The name of the scene. Find this in the Hue official app.
+| `group_name` | no | The group/room name of the lights. Find this in the official Hue app.
+| `scene_name` | no | The name of the scene. Find this in the official Hue app.
-*Note*: `group_name` is not linked to Home Assistant group name.
+*Note*: `group_name` is not a reference to a Home Assistant group name. It can only be the name of a group/room in the Hue app.
### Finding Group and Scene Names
How do you find these names?
-The easiest way to do this is only use the scenes from the 2nd generation Hue app. That is organized by room (group) and scene Name. Use the values of room name and scene name that you see in the app. You can test these work on the `dev-service` console of your Home Assistant instance.
+The easiest way to do this is to only use the scenes from the 2nd generation Hue app, which is organized by room (group) and scene name. Use the values of room name and scene name that you see in the app. You can test that these work by using the `dev-service` console of your Home Assistant instance.
-Alternatively, you can dump all rooms and scene names using this [gist](https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578). This does **not** tell you which groups and scenes work together but it's sufficient to get values that you can test in the `dev-service` console.
+Alternatively, you can dump all rooms and scene names using this [gist](https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578). This does **not** tell you which groups and scenes work together, but it is sufficient to get values that you can test in the `dev-service` console.
### Caveats
-The Hue API doesn't activate scenes directly, only on a Hue Group (typically rooms, especially if using the 2nd gen app). But Hue Scenes don't actually reference their group. So heuristic matching is used.
+The Hue API doesn't activate scenes directly; rather, they must be associated with a Hue group (typically rooms, especially if using the 2nd gen app). But Hue scenes don't actually reference their group. So heuristic matching is used.
-Neither group names or scene names are guaranteed unique in Hue. If you are getting non deterministic behavior, adjust your Hue scenes via the App to be more identifying.
+Neither group names nor scene names are guaranteed unique in Hue. If you are observing unexpected behavior from calling Hue scenes in Home Assistant, make the names of your Hue scenes more specific in the Hue app.
-The Hue hub has limited spaces for scenes, and will delete scenes if new ones get created that would overflow that space. The API docs say this is based on "Least Recently Used".
+The Hue hub has limited space for scenes and will delete scenes if new ones get created that would overflow that space. The API docs say this is based on the scenes that are "least recently used."
diff --git a/source/_integrations/hunterdouglas_powerview.markdown b/source/_integrations/hunterdouglas_powerview.markdown
index 47e5c7b6e78..6a231a79af5 100644
--- a/source/_integrations/hunterdouglas_powerview.markdown
+++ b/source/_integrations/hunterdouglas_powerview.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.15
---
-Implements the [Hunter Douglas PowerView](http://www.hunterdouglas.com/operating-systems/powerview-motorization/support) platform scene control. It queries the PowerView Hub and Home Assistant displays them as scenes.
+Implements the [Hunter Douglas PowerView](https://www.hunterdouglas.com/operating-systems/powerview-motorization/support) platform scene control. It queries the PowerView Hub and Home Assistant displays them as scenes.
Scenes can be activated using the service `scene.turn_on`.
diff --git a/source/_integrations/hydroquebec.markdown b/source/_integrations/hydroquebec.markdown
deleted file mode 100644
index 2acb7064bb8..00000000000
--- a/source/_integrations/hydroquebec.markdown
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title: "Hydro-Québec"
-description: "Instructions on how to integrate Hydro-Québec consumption profile within Home Assistant."
-logo: hydroquebec.svg
-ha_category:
- - Energy
-ha_release: 0.35
-ha_iot_class: Cloud Polling
----
-
-Integrate your [Hydro-Québec](https://www.hydroquebec.com/portail/) consumption profile information into Home Assistant.
-
-
-
-Breaking change: Since Home Assistant v0.40, **contract** attribute is required.
-
-
-
-```yaml
-# Example configuration.yaml entry
-sensor:
- - platform: hydroquebec
- username: MYUSERNAME
- password: MYPASSWORD
- contract: '123456789'
- monitored_variables:
- - period_total_bill
- - period_length
- - period_total_days
-```
-
-{% configuration %}
-username:
- description: Username used to log into the Hydro-Québec site.
- required: true
- type: string
-password:
- description: Password used to log into the Hydro-Québec site.
- required: true
- type: string
-contract:
- description: Your contract number with Hydro-Québec.
- required: true
- type: string
-name:
- description: A friendly name for this sensor.
- required: false
- default: HydroQuebec
- type: string
-monitored_variables:
- description: Variables to monitor.
- required: true
- type: list
- keys:
- balance:
- description: Current balance
- period_total_bill:
- description: Current period bill
- period_length:
- description: Current period length
- period_total_days:
- description: Total number of days in this period
- period_mean_daily_bill:
- description: Period daily average bill
- period_mean_daily_consumption:
- description: Period daily average consumption
- period_total_consumption:
- description: Total consumption
- period_lower_price_consumption:
- description: Period lower price consumption
- period_higher_price_consumption:
- description: Period higher price consumption
- period_average_temperature:
- description: Period average temperature
- yesterday_total_consumption:
- description: Yesterday total consumption
- yesterday_lower_price_consumption:
- description: Yesterday lower price consumption
- yesterday_higher_price_consumption:
- description: Yesterday higher price consumption
- yesterday_average_temperature:
- description: Yesterday average temperature
-{% endconfiguration %}
-
-To find your contract id, go to the [Hydro-Québec website](https://www.hydroquebec.com/portail/)
-and connect to your account.
-On the main page your can see your contract IDs.
-It should be something like: "Contract 1234 56789".
-You just have to keep numbers and remove the space.
-
-
-Multi contracts accounts are supported only from Home Assistant v0.40.
-
diff --git a/source/_integrations/hyperion.markdown b/source/_integrations/hyperion.markdown
index 5b85e62de74..1d6424fdfe0 100644
--- a/source/_integrations/hyperion.markdown
+++ b/source/_integrations/hyperion.markdown
@@ -76,7 +76,7 @@ automation:
effect: "Full color mood blobs"
```
-To have the lights playing a effect when pausing, idle or turn off a media player like plex you can use this example:
+To have the lights playing an effect when pausing, idle or turn off a media player like plex you can use this example:
```yaml
- alias: Set hyperion effect after playback
diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown
index 9f4f82e14d1..20067909284 100644
--- a/source/_integrations/ifttt.markdown
+++ b/source/_integrations/ifttt.markdown
@@ -31,20 +31,23 @@ For example, set the body of the IFTTT webhook to:
You then need to consume that incoming information with the following automation:
+{% raw %}
```yaml
automation:
- id: this_is_the_automation_id
alias: The optional automation alias
trigger:
- platform: event
- event_type: ifttt_webhook_received
- event_data:
+ - event_data:
action: call_service
+ event_type: ifttt_webhook_received
+ platform: event
+ condition: []
action:
- service_template: '{% raw %}{{ trigger.event.data.service }}{% endraw %}'
- data_template:
- entity_id: '{% raw %}{{ trigger.event.data.entity_id }}{% endraw %}'
+ - data_template:
+ entity_id: '{{ trigger.event.data.entity_id }}'
+ service_template: '{{ trigger.event.data.service }}'
```
+{% endraw %}
## Sending events to IFTTT
diff --git a/source/_integrations/ign_sismologia.markdown b/source/_integrations/ign_sismologia.markdown
index a5e30c4ce33..ed9d46b4c33 100644
--- a/source/_integrations/ign_sismologia.markdown
+++ b/source/_integrations/ign_sismologia.markdown
@@ -9,7 +9,7 @@ ha_release: 0.92
---
The `ign_sismologia` platform lets you integrate a GeoRSS feed provided by the
-Spanish [Instituto Geográfico Nacional](http://www.ign.es/) with information
+Spanish [Instituto Geográfico Nacional](https://www.ign.es/) with information
about seismic events like earthquakes on the Iberian Peninsula and Canary
Islands. It retrieves incidents from a feed and shows information of those
incidents filtered by distance to Home Assistant's location.
diff --git a/source/_integrations/influxdb.markdown b/source/_integrations/influxdb.markdown
index 8e056452a6b..80ecdaf708e 100644
--- a/source/_integrations/influxdb.markdown
+++ b/source/_integrations/influxdb.markdown
@@ -285,7 +285,7 @@ sensor:
measurement: '"°C"'
field: value
database: db1
- - name: Min for last hour
+ - name: Min for last hour
unit_of_measurement: '%'
value_template: '{% raw %}{{ value | round(1) }}{% endraw %}'
group_function: min
@@ -293,4 +293,4 @@ sensor:
measurement: '"%"'
field: tmp
database: db2
-```
\ No newline at end of file
+```
diff --git a/source/_integrations/input_boolean.markdown b/source/_integrations/input_boolean.markdown
index 004535156ee..fb559e5df5d 100644
--- a/source/_integrations/input_boolean.markdown
+++ b/source/_integrations/input_boolean.markdown
@@ -37,7 +37,7 @@ input_boolean:
type: boolean
default: false
icon:
- description: Icon to display for the component.
+ description: Icon to display in front of the input element in the frontend.
required: false
type: icon
{% endconfiguration %}
diff --git a/source/_integrations/input_datetime.markdown b/source/_integrations/input_datetime.markdown
index 5cad7382977..69c7d25143a 100644
--- a/source/_integrations/input_datetime.markdown
+++ b/source/_integrations/input_datetime.markdown
@@ -54,7 +54,7 @@ input_datetime:
type: boolean
default: false
icon:
- description: Icon to display in the frontend.
+ description: Icon to display in front of the input element in the frontend.
required: false
type: icon
initial:
diff --git a/source/_integrations/input_number.markdown b/source/_integrations/input_number.markdown
index 95f0dd7406c..3e46a5bdcfb 100644
--- a/source/_integrations/input_number.markdown
+++ b/source/_integrations/input_number.markdown
@@ -8,12 +8,6 @@ ha_release: 0.55
ha_qa_scale: internal
---
-
-
-Before version 0.55 this integration was known as `input_slider` and did not have the `mode` configuration option. Also, service `select_value` is now `set_value`.
-
-
-
The `input_number` integration allows the user to define values that can be controlled via the frontend and can be used within conditions of automation. The frontend can display a slider, or a numeric input box. Changes to the slider or numeric input box generate state events. These state events can be utilized as `automation` triggers as well.
To enable this input number in your installation, add the following lines to your `configuration.yaml`:
@@ -58,7 +52,7 @@ input_number:
description: Initial value when Home Assistant starts.
required: false
type: float
- default: 0
+ default: The value at shutdown
step:
description: Step value for the slider. Smallest value `0.001`.
required: false
@@ -74,7 +68,7 @@ input_number:
required: false
type: string
icon:
- description: Icon to display in front of the box/slider in the frontend.
+ description: Icon to display in front of the input element in the frontend.
required: false
type: icon
{% endconfiguration %}
@@ -83,6 +77,18 @@ input_number:
This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`.
+### Scenes
+
+To set the value of an input_number in a [Scene](/integrations/scene/):
+
+```yaml
+# Example configuration.yaml entry
+scene:
+ - name: Example Scene
+ entities:
+ input_number.example_number: 13
+```
+
## Automation Examples
Here's an example of `input_number` being used as a trigger in an automation.
diff --git a/source/_integrations/input_select.markdown b/source/_integrations/input_select.markdown
index 886f05b2d9f..dadf14dd546 100644
--- a/source/_integrations/input_select.markdown
+++ b/source/_integrations/input_select.markdown
@@ -49,14 +49,14 @@ input_select:
type: map
default: First element of options
icon:
- description: Icon to display for the component.
+ description: Icon to display in front of the input element in the frontend.
required: false
type: icon
{% endconfiguration %}
-Because YAML defines [booleans](http://yaml.org/type/bool.html) as equivalent, any variations of 'On', 'Yes', 'Y', 'Off', 'No', or 'N' (regardless of case) used as option names will be replaced by True and False unless they are defined in quotation marks.
+Because YAML defines [booleans](https://yaml.org/type/bool.html) as equivalent, any variations of 'On', 'Yes', 'Y', 'Off', 'No', or 'N' (regardless of case) used as option names will be replaced by True and False unless they are defined in quotation marks.
@@ -77,17 +77,32 @@ This integrations provide three services to modify the state of the `input_selec
### Scenes
-To specify a target option in a [Scene](/integrations/scene/) you have to specify the target as `option` attribute:
+Specifying a target option in a [Scene](/integrations/scene/) is simple:
```yaml
# Example configuration.yaml entry
scene:
- name: Example1
entities:
- input_select.who_cooks:
- option: Paulus
+ input_select.who_cooks: Paulus
```
+The list of options can also be set in a [Scene](/integrations/scene). In that case, you also need to specify what the new state will be.
+
+```yaml
+# Example configuration.yaml entry
+scene:
+ - name: Example2
+ entities:
+ input_select.who_cooks:
+ options:
+ - Alice
+ - Bob
+ - Paulus
+ state: Bob
+```
+
+
## Automation Examples
The following example shows the usage of the `input_select.select_option` service in an automation:
diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown
index c765307a3c1..1cda4f554e5 100644
--- a/source/_integrations/input_text.markdown
+++ b/source/_integrations/input_text.markdown
@@ -53,6 +53,10 @@ input_text:
required: false
type: string
default: empty
+ icon:
+ description: Icon to display in front of the input element in the frontend.
+ required: false
+ type: icon
pattern:
description: Regex pattern for client side validation.
required: false
@@ -67,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 |
| ------- | ---- | ----------- |
@@ -77,6 +81,18 @@ This integrations provide three services to modify the state of the `input_text`
This integration will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`.
+### Scenes
+
+To set the state of the input_text in a [Scene](/integrations/scene/):
+
+```yaml
+# Example configuration.yaml entry
+scene:
+ - name: Example1
+ entities:
+ input_text.example: Hello!
+```
+
## Automation Examples
Here's an example using `input_text` in an action in an automation.
diff --git a/source/_integrations/insteon.markdown b/source/_integrations/insteon.markdown
index 15f96cf126d..65687710a49 100644
--- a/source/_integrations/insteon.markdown
+++ b/source/_integrations/insteon.markdown
@@ -191,7 +191,7 @@ In order for any two Insteon devices to talk with one another, they must be link
If you are looking for more advanced options, you can use the [insteonplm_interactive] command line tool that is distributed with the [insteonplm] Python module. Please see the documentation on the [insteonplm] GitHub site. Alternatively, you can download [HouseLinc] which runs on any Windows PC, or you can use [Insteon Terminal] which is open source and runs on most platforms. SmartHome no longer supports HouseLinc, but it still works. Insteon Terminal is a very useful tool but please read the disclaimers carefully, they are important.
-[understanding linking]: http://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking
+[understanding linking]: https://www.insteon.com/support-knowledgebase/2015/1/28/understanding-linking
[Development Tools]: /docs/tools/dev-tools/
[HouseLinc]: https://www.smarthome.com/houselinc.html
[Insteon Terminal]: https://github.com/pfrommerd/insteon-terminal
diff --git a/source/_integrations/iota.markdown b/source/_integrations/iota.markdown
index 08e2d6a9dcd..607de048798 100644
--- a/source/_integrations/iota.markdown
+++ b/source/_integrations/iota.markdown
@@ -9,7 +9,7 @@ ha_release: 0.62
ha_iot_class: Cloud Polling
---
-[IOTA](http://iota.org/) is a new blockless distributed ledger which is scalable, lightweight and makes it possible to transfer value without any fees.
+[IOTA](https://iota.org/) is a new blockless distributed ledger which is scalable, lightweight and makes it possible to transfer value without any fees.
The `iota` integration displays various details (e.g., the balance, node attributes) of IOTA wallets.
diff --git a/source/_integrations/iperf3.markdown b/source/_integrations/iperf3.markdown
index 80694beaa4b..5513ccb726b 100644
--- a/source/_integrations/iperf3.markdown
+++ b/source/_integrations/iperf3.markdown
@@ -9,13 +9,13 @@ ha_release: 0.71
ha_iot_class: Local Polling
---
-The `iperf3` sensor integration allows you to measure network bandwidth performance against a private or public [Iperf3](http://software.es.net/iperf/index.html) server.
+The `iperf3` sensor integration allows you to measure network bandwidth performance against a private or public [Iperf3](https://software.es.net/iperf/index.html) server.
Enabling this integration will automatically create the Iperf3 sensors for the monitored conditions (below). By default, it will run every hour. The user can change the update frequency in the config by defining the `scan_interval` for a Iperf3 test to run.
## Setup
-This integration requires the `iperf3` command to be installed on your OS. Please, refer to the [official Iperf3 documentation](http://software.es.net/iperf/obtaining.html) for installation instructions.
+This integration requires the `iperf3` command to be installed on your OS. Please, refer to the [official Iperf3 documentation](https://software.es.net/iperf/obtaining.html) for installation instructions.
## Configuration
diff --git a/source/_integrations/ipma.markdown b/source/_integrations/ipma.markdown
index 4a229cf11fa..0edf8d6f9c9 100644
--- a/source/_integrations/ipma.markdown
+++ b/source/_integrations/ipma.markdown
@@ -8,7 +8,7 @@ ha_release: 0.72
ha_iot_class: Cloud Polling
---
-The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](http://www.ipma.pt) as a source for current and forecast meteorological data.
+The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](https://www.ipma.pt/) as a source for current and forecast meteorological data.
## Configuration
diff --git a/source/_integrations/isy994.markdown b/source/_integrations/isy994.markdown
index 26b3f65af65..9bde4e8c6d1 100644
--- a/source/_integrations/isy994.markdown
+++ b/source/_integrations/isy994.markdown
@@ -16,7 +16,7 @@ ha_iot_class: Local Push
---
The ISY994 is a home automation controller that is capable of controlling Insteon and X10 devices. Some models of the ISY994 can even control Z-Wave devices.
-The ISY994 controller is manufactured by [Universal Devices](https://www.universal-devices.com/residential/isy994i-series/).
+The ISY994 controller is manufactured by [Universal Devices](https://www.universal-devices.com/smarthome).
There is currently support for the following device types within Home Assistant:
@@ -44,7 +44,7 @@ isy994:
{% configuration %}
host:
- description: The host entry should be in full URL format, e.g., http://192.168.10.100:80
+ description: The host entry should be in full URL format, e.g., `http://192.168.10.100:80`
required: true
type: string
username:
diff --git a/source/_integrations/itach.markdown b/source/_integrations/itach.markdown
index e00827df99a..df89a06320c 100644
--- a/source/_integrations/itach.markdown
+++ b/source/_integrations/itach.markdown
@@ -79,4 +79,4 @@ Note: Global Cache devices expect data in their own format of "sendir...". This
API Docs:
- [iTach](https://www.globalcache.com/files/docs/API-iTach.pdf)
-- [GC-100](http://www.globalcache.com/files/docs/API-GC-100.pdf)
+- [GC-100](https://www.globalcache.com/files/docs/API-GC-100.pdf)
diff --git a/source/_integrations/itunes.markdown b/source/_integrations/itunes.markdown
index 74268d14467..315d59af959 100644
--- a/source/_integrations/itunes.markdown
+++ b/source/_integrations/itunes.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Polling
---
-The `itunes` media player platform allows you to control [iTunes](http://apple.com/itunes/) from Home Assistant. It uses a 3rd party server that you run on your Mac called [itunes-api](https://github.com/maddox/itunes-api). Play, pause or skip songs remotely on iTunes running on your Mac.
+The `itunes` media player platform allows you to control [iTunes](https://apple.com/itunes/) from Home Assistant. It uses a 3rd party server that you run on your Mac called [itunes-api](https://github.com/maddox/itunes-api). Play, pause or skip songs remotely on iTunes running on your Mac.
In addition to controlling iTunes, your available AirPlay endpoints will be added as media players as well. You can then individually address them and turn them on, turn them off or adjust their volume.
diff --git a/source/_integrations/jewish_calendar.markdown b/source/_integrations/jewish_calendar.markdown
index 3166f74adf8..1fd34e689fb 100644
--- a/source/_integrations/jewish_calendar.markdown
+++ b/source/_integrations/jewish_calendar.markdown
@@ -56,11 +56,16 @@ havdalah_minutes_after_sunset:
### Data sensors
- date: Shows the hebrew date for today.
- weekly_portion: Shows the weekly portion (parshat hashavu'a).
-- holiday_name: If it is a holiday, shows the name of the holiday.
-- holiday_type: Shows the type of the holiday _(see below)_.
+- holiday: If it is a holiday, shows the name of the holiday _(see below for more info)_.
- omer_count: An integer sensor indicating the day of the Omer (1-49) or 0 if it is not currently the Omer.
### Time sensors
+
+*Note: Due to the variety of rabbinic opinions on how to calculate the different times, we do not take any responsibility on your religious reliance upon these calculations.*
+
+Time sensor states are represented as ISO8601 formatted *UTC time*.
+For easier use in automations, all time sensors have a `timestamp` attribute, which returns the UNIX timestamp.
+
- first_light: First light of dawn (Alot Hashachar - עלות השחר).
- gra_end_shma: Last time for reading of the Shma according to the GR"A.
- mga_end_shma: Last time for reading of the Shma according to the MG"A.
@@ -75,17 +80,56 @@ havdalah_minutes_after_sunset:
- issur_melacha_in_effect: A boolean sensor indicating if melacha is currently not permitted. The value is true when it is currently Shabbat or Yom Tov and false otherwise.
-### Holiday types
+### Holiday sensor
+
+The holiday sensor includes two attibutes: *type* and *id*.
+
+The following is the list of holidays the sensor knows about with their selected type:
+
+
+| ID | English | Hebrew | Type |
+|----------------------|----------------------------|-----------------------|---------------------------|
+| erev_rosh_hashana | Erev Rosh Hashana | ערב ראש השנה | EREV_YOM_TOV |
+| rosh_hashana_i | Rosh Hashana I | א' ראש השנה | YOM_TOV |
+| rosh_hashana_ii | Rosh Hashana II | ב' ראש השנה | YOM_TOV |
+| tzom_gedaliah | Tzom Gedaliah | צום גדליה | FAST_DAY |
+| erev_yom_kippur | Erev Yom Kippur | עיוה"כ | EREV_YOM_TOV |
+| yom_kippur | Yom Kippur | יום הכפורים | YOM_TOV |
+| erev_sukkot | Erev Sukkot | ערב סוכות | EREV_YOM_TOV |
+| sukkot | Sukkot | סוכות | YOM_TOV |
+| hol_hamoed_sukkot | Hol hamoed Sukkot | חול המועד סוכות | HOL_HAMOED |
+| hoshana_raba | Hoshana Raba | הושענא רבה | EREV_YOM_TOV |
+| simchat_torah | Simchat Torah | שמחת תורה | YOM_TOV |
+| chanukah | Chanukah | חנוכה | MELACHA_PERMITTED_HOLIDAY |
+| asara_btevet | Asara B'Tevet | צום עשרה בטבת | FAST_DAY |
+| tu_bshvat | Tu B'Shvat | ט"ו בשבט | MINOR_HOLIDAY |
+| taanit_esther | Ta'anit Esther | תענית אסתר | FAST_DAY |
+| purim | Purim | פורים | MELACHA_PERMITTED_HOLIDAY |
+| shushan_purim | Shushan Purim | שושן פורים | MELACHA_PERMITTED_HOLIDAY |
+| erev_pesach | Erev Pesach | ערב פסח | EREV_YOM_TOV |
+| pesach | Pesach | פסח | YOM_TOV |
+| hol_hamoed_pesach | Hol hamoed Pesach | חול המועד פסח | HOL_HAMOED |
+| pesach_vii | Pesach VII | שביעי פסח | YOM_TOV |
+| yom_haatzmaut | Yom HaAtzma'ut | יום העצמאות | MODERN_HOLIDAY |
+| lag_bomer | Lag B'Omer | ל"ג בעומר | MINOR_HOLIDAY |
+| erev_shavuot | Erev Shavuot | ערב שבועות | EREV_YOM_TOV |
+| shavuot | Shavuot | שבועות | YOM_TOV |
+| tzom_tammuz | Tzom Tammuz | צום שבעה עשר בתמוז | FAST_DAY |
+| tisha_bav | Tish'a B'Av | תשעה באב | FAST_DAY |
+| tu_bav | Tu B'Av | ט"ו באב | MINOR_HOLIDAY |
+| yom_hashoah | Yom HaShoah | יום השואה | MEMORIAL_DAY |
+| yom_hazikaron | Yom HaZikaron | יום הזכרון | MEMORIAL_DAY |
+| yom_yerushalayim | Yom Yerushalayim | יום ירושלים | MODERN_HOLIDAY |
+| shmini_atzeret | Shmini Atzeret | שמיני עצרת | YOM_TOV |
+| pesach_viii | Pesach VIII | אחרון של פסח | YOM_TOV |
+| shavuot_ii | Shavuot II | שני של שבועות | YOM_TOV |
+| sukkot_ii | Sukkot II | שני של סוכות | YOM_TOV |
+| pesach_ii | Pesach II | שני של פסח | YOM_TOV |
+| family_day | Family Day | יום המשפחה | ISRAEL_NATIONAL_HOLIDAY |
+| memorial_day_unknown | Memorial day for fallen whose place of burial is unknown | יום זכרון... | MEMORIAL_DAY |
+| rabin_memorial_day | Yitzhak Rabin memorial day | יום הזכרון ליצחק רבין | MEMORIAL_DAY |
+| zeev_zhabotinsky_day | Zeev Zhabotinsky day | יום ז'בוטינסקי | MEMORIAL_DAY |
-1. Mido'rayta - by Torah ordination (Rosh Hashana, Yom Kippur, Pesach, Shavuot, Sukkot)
-2. Erev Yom Tov
-3. Hol Hamo'ed
-4. Hanukka and Purim
-5. Fast days
-6. Modern holidays, e.g. Yom Yerushalayim and Yom Haatsmaut
-7. Minor holidays, e.g. Lag ba'omer and Tu bishvat
-8. Memorial days: yom hazikaron and yom hashoah
-9. Days mentioned by the Israeli parliament: Rabin memorial day, Ze'ev Zhabotinsky day, etc.
## Full configuration sample
diff --git a/source/_integrations/joaoapps_join.markdown b/source/_integrations/joaoapps_join.markdown
index 5db8e8ef688..06fbffeff2d 100644
--- a/source/_integrations/joaoapps_join.markdown
+++ b/source/_integrations/joaoapps_join.markdown
@@ -9,7 +9,7 @@ ha_release: 0.24
---
The `joaoapps_join` integration exposes services from
-[Join](http://joaoapps.com/join). In Home Assistant, the Join features are
+[Join](https://joaoapps.com/join). In Home Assistant, the Join features are
divided up in two locations, the Join component, and the Join notify platform.
The notify platform allows us to send messages to Join devices, the component
allows us to access the other special features that Join offers. When in doubt, you can reference the [API documentation](https://joaoapps.com/join/api/) this is based on.
@@ -53,7 +53,7 @@ device_names:
required: false
type: string
name:
- description: The name parameter is optional but needed if you want to use multiple notification platforms. The platform will be exposed as service `notify.`. The name will defailt to `notify` if not supplied. See the [Notifications Component](http://www.home-assistant.io/integrations/notify) for more details.
+ description: The name parameter is optional but needed if you want to use multiple notification platforms. The platform will be exposed as service `notify.`. The name will defailt to `notify` if not supplied. See the [Notifications Component](/integrations/notify) for more details.
required: false
type: string
{% endconfiguration %}
diff --git a/source/_integrations/keyboard.markdown b/source/_integrations/keyboard.markdown
index bd7e8278cff..9443bd255fe 100644
--- a/source/_integrations/keyboard.markdown
+++ b/source/_integrations/keyboard.markdown
@@ -32,6 +32,6 @@ pip3 install [package name]
### Windows
-x64 Windows users may have trouble installing pywin through pip. Using an [executable installer](http://sourceforge.net/projects/pywin32/files/pywin32/) should work around this issue.
+x64 Windows users may have trouble installing pywin through pip. Using an [executable installer](https://sourceforge.net/projects/pywin32/files/pywin32/) should work around this issue.
-[Similar installers](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook) (unofficial) for pyhook have been ported to python 3.4 and should help with x64 pip issues with pyhook.
+[Similar installers](https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook) (unofficial) for pyhook have been ported to python 3.4 and should help with x64 pip issues with pyhook.
diff --git a/source/_integrations/kodi.markdown b/source/_integrations/kodi.markdown
index 1a088a789df..01e48287370 100644
--- a/source/_integrations/kodi.markdown
+++ b/source/_integrations/kodi.markdown
@@ -9,7 +9,7 @@ ha_release: pre 0.7
ha_iot_class: Local Push
---
-The `kodi` platform allows you to control a [Kodi](http://kodi.tv/) multimedia system from Home Assistant.
+The `kodi` platform allows you to control a [Kodi](https://kodi.tv/) multimedia system from Home Assistant.
The preferred way to set up the Kodi platform is by enabling the [discovery component](/integrations/discovery/) which requires enabled [web interface](https://kodi.wiki/view/Web_interface) on your Kodi installation.
@@ -97,7 +97,7 @@ Add music to the default playlist (i.e. playlistid=0).
#### Service `kodi.call_method`
-Call a [Kodi JSONRPC API](http://kodi.wiki/?title=JSON-RPC_API) method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`.
+Call a [Kodi JSONRPC API](https://kodi.wiki/?title=JSON-RPC_API) method with optional parameters. Results of the Kodi API call will be redirected in a Home Assistant event: `kodi_call_method_result`.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
diff --git a/source/_integrations/lametric.markdown b/source/_integrations/lametric.markdown
index 09cbab06ed5..18879c0155e 100644
--- a/source/_integrations/lametric.markdown
+++ b/source/_integrations/lametric.markdown
@@ -8,7 +8,7 @@ ha_category:
ha_release: 0.49
---
-[LaMetric Time](http://lametric.com) is a smart clock that can be used to access applications, listen to web radio and display notifications.
+[LaMetric Time](https://lametric.com/) is a smart clock that can be used to access applications, listen to web radio and display notifications.
There is currently support for the following device types within Home Assistant:
@@ -33,7 +33,7 @@ These are the steps to take:
3. Fill in the form. You can put almost anything in the fields, they just need to be populated:
* App Name: Home Assistant
* Description: Home Assistant
- * Privacy Policy: http://localhost/
+ * Privacy Policy: `http://localhost/`
* Check all permission boxes
* Hit Save
4. You should be directed to your [Notification Apps list](https://developer.lametric.com/applications/sources), click on "Home Assistant", copy your client ID and client Secret and paste into the Home Assistant configuration block in the previous section.
@@ -134,4 +134,4 @@ If you have more than one La Metric device, you can specify which will receive t
icon: 'i51'
```
- If target is not specified, all LaMetric devices will be notified.
\ No newline at end of file
+ If target is not specified, all LaMetric devices will be notified.
diff --git a/source/_integrations/lannouncer.markdown b/source/_integrations/lannouncer.markdown
index 4f13d77d482..075a1ab45b1 100644
--- a/source/_integrations/lannouncer.markdown
+++ b/source/_integrations/lannouncer.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.36
---
-The `lannouncer` notification platform allows you to play spoken messages (TTS) or sounds on an Android device running [Lannouncer](http://www.keybounce.com/lannouncer/). This can be useful when you have a wall mounted Android tablet, or an Android device that is permanently powered and turned on and want to use that to play notifications.
+The `lannouncer` notification platform allows you to play spoken messages (TTS) or sounds on an Android device running [Lannouncer](https://www.keybounce.com/lannouncer/). This can be useful when you have a wall mounted Android tablet, or an Android device that is permanently powered and turned on and want to use that to play notifications.
To enable Lannouncer notifications in your installation, add the following to your `configuration.yaml` file:
@@ -42,7 +42,7 @@ You need to install the Lannouncer app and enable the *Network (TCP) Listener* a
Lannouncer uses the default Android TTS voice. You can tweak that in the Android configuration, or you can install a different TTS engine from the Play Store. You might want to raise the volume in the app settings since that depends on the actual hardware device.
-More information can be found [here](http://www.keybounce.com/lannouncer/configuring-lannouncer/).
+More information can be found [here](https://www.keybounce.com/lannouncer/configuring-lannouncer/).
### Sending messages
diff --git a/source/_integrations/lastfm.markdown b/source/_integrations/lastfm.markdown
index 2ca19ba6a3d..307ace29909 100644
--- a/source/_integrations/lastfm.markdown
+++ b/source/_integrations/lastfm.markdown
@@ -8,11 +8,11 @@ ha_iot_class: Cloud Polling
ha_release: "0.20"
---
-The `lastfm` sensor platform will allow you to see whenever a user starts scrobbling, their play count, last song played, and top song played on [Last.fm](http://www.last.fm).
+The `lastfm` sensor platform will allow you to see whenever a user starts scrobbling, their play count, last song played, and top song played on [Last.fm](https://www.last.fm/).
## Setup
-To get an API key you need to create an [API account](http://www.last.fm/api/account/create).
+To get an API key you need to create an [API account](https://www.last.fm/api/account/create).
## Configuration
diff --git a/source/_integrations/launch_library.markdown b/source/_integrations/launch_library.markdown
index bb7401277b1..dba4672fe7e 100644
--- a/source/_integrations/launch_library.markdown
+++ b/source/_integrations/launch_library.markdown
@@ -29,4 +29,4 @@ name:
The data this platform presents comes from [launchlibrary.net][launchlibrary].
-[launchlibrary]: http://launchlibrary.net/
+[launchlibrary]: https://launchlibrary.net/
diff --git a/source/_integrations/lcn.markdown b/source/_integrations/lcn.markdown
index 4c7d251641c..32e73f417eb 100644
--- a/source/_integrations/lcn.markdown
+++ b/source/_integrations/lcn.markdown
@@ -15,7 +15,7 @@ ha_release: 0.85
ha_iot_class: Local Push
---
-The `lcn` integration for Home Assistant allows you to connect to [LCN](http://www.lcn.eu) hardware devices.
+The `lcn` integration for Home Assistant allows you to connect to [LCN](https://www.lcn.eu/) hardware devices.
The integration requires one unused license of the coupling software LCN-PCHK (version >2.8) and an LCN hardware coupler. Alternatively, an LCN-PKE coupler can be used which offers two PCHK licenses.
With this setup sending and receiving commands to and from LCN modules is possible.
@@ -412,7 +412,7 @@ Examples: `a1`, `a5`, `d8`.
### Binary Sensor
-The `lcn` binary sensor platform allows the monitoring of the following [LCN](http://www.lcn.eu) binary data sources:
+The `lcn` binary sensor platform allows the monitoring of the following [LCN](https://www.lcn.eu/) binary data sources:
- Binary hardware sensors
- Lock state of regulator setpoints
@@ -422,7 +422,7 @@ The binary sensor can be used in automation scripts or in conjunction with `temp
### Climate
-The `lcn` climate platform allows the control of the [LCN](http://www.lcn.eu) climate regulators.
+The `lcn` climate platform allows the control of the [LCN](https://www.lcn.eu/) climate regulators.
This platform depends on the correct configuration of the module's regulators, which has to be done in the LCN-PRO programming software.
You need to specify at least the variable for the current temperature and a setpoint variable for the target temperature.
If the control is set lockable, the regulator can be turned on/off.
@@ -435,7 +435,7 @@ If you intend to leave the regulation to Home Assistant, you should consider usi
### Cover
-The `lcn` cover platform allows the control of [LCN](http://www.lcn.eu) relays and output ports which have been configured as motor controllers.
+The `lcn` cover platform allows the control of [LCN](https://www.lcn.eu/) relays and output ports which have been configured as motor controllers.
Only for the module with firmware earlier than 190C:
The configuration allows the optional definition of reverse time. This is the time which is waited during the switching of the motor currents.
@@ -450,18 +450,18 @@ Otherwise, the output ports are not mutually interlocked and you run the risk of
### Light
-The `lcn` light platform allows the control of the following [LCN](http://www.lcn.eu) ports:
+The `lcn` light platform allows the control of the following [LCN](https://www.lcn.eu/) ports:
- (Dimmable) output ports
- Relays
### Scene
-The `lcn` scene platform allows the activation of previously programmed [LCN](http://www.lcn.eu) scenes.
+The `lcn` scene platform allows the activation of previously programmed [LCN](https://www.lcn.eu/) scenes.
### Sensor
-The `lcn` sensor platform allows the monitoring of the following [LCN](http://www.lcn.eu) data sources:
+The `lcn` sensor platform allows the monitoring of the following [LCN](https://www.lcn.eu/) data sources:
- Variables
- Regulator setpoints
@@ -479,7 +479,7 @@ The sensor can be used in automation scripts or in conjunction with `template` p
### Switch
-The `lcn` switch platform allows the control of the following [LCN](http://www.lcn.eu) ports:
+The `lcn` switch platform allows the control of the following [LCN](https://www.lcn.eu/) ports:
- Output ports
- Relays
diff --git a/source/_integrations/life360.markdown b/source/_integrations/life360.markdown
index 89a1f1268a8..f11c4dd1ee3 100644
--- a/source/_integrations/life360.markdown
+++ b/source/_integrations/life360.markdown
@@ -17,7 +17,7 @@ You must first [create a Life360 account](https://www.life360.com/websignup).
Then in the Home Assistant user interface (UI), click on Configuration in the left pane, then on Integrations and then on the yellow circle in the lower-right corner to "Set up a new integration." Scroll through the list and click on Life360. Enter your Life360 username and password and click SUBMIT. You can add as many Life360 accounts as you like.
-If you would like to set any advanced options, see the following section. You may want to do this before entering your Life360 account information in the UI, or you can change it at any time. You can also enter your account information in the configuration file (in addition to, or instead of, the UI) if you prefer.
+If you would like to set any advanced options, see the following section. You may want to do this before entering your Life360 account information in the UI, or you can change it at any time. Any of the advanced options you want to set from the section below will need to be set manually in your configuration.yaml file. They are not able to be set from the UI. You can also enter your account information in the configuration file (in addition to, or instead of, the UI) if you prefer.
{% configuration %}
accounts:
diff --git a/source/_integrations/light.markdown b/source/_integrations/light.markdown
index 332e1b4d6be..0e623c64b0a 100644
--- a/source/_integrations/light.markdown
+++ b/source/_integrations/light.markdown
@@ -1,5 +1,5 @@
---
-title: "Lights"
+title: "Light"
description: "Instructions on how to setup your lights with Home Assistant."
logo: home-assistant.png
ha_category:
@@ -26,7 +26,7 @@ Most lights do not support all attributes. You can check the integration documen
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `transition` | yes | Number that represents the time (in seconds) the light should take to transition to the new state.
-| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/integrations/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten.
+| `profile` | yes | String with the name of one of the [built-in profiles](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/light_profiles.csv) (relax, energize, concentrate, reading) or one of the custom profiles defined in `light_profiles.csv` in the current working directory. Light profiles define an xy color and a brightness. If a profile is given and a brightness then the profile brightness will be overwritten.
| `hs_color` | yes | A list containing two floats representing the hue and saturation of the color you want the light to be. Hue is scaled 0-360, and saturation is scaled 0-100.
| `xy_color` | yes | A list containing two floats representing the xy color you want the light to be. Two comma-separated floats that represent the color in XY. You can find a great chart here: [Hue Color Chart](https://developers.meethue.com/documentation/core-concepts#color_gets_more_complicated).
| `rgb_color` | yes | A list containing three integers between 0 and 255 representing the RGB color you want the light to be. Three comma-separated integers that represent the color in RGB, within square brackets. Note that the specified RGB value will not change the light brightness, only the color.
diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown
index af995f7addd..99405735d26 100644
--- a/source/_integrations/light.mqtt.markdown
+++ b/source/_integrations/light.mqtt.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Configurable
ha_release: 0.8
---
-The `mqtt` light platform with lets you control your MQTT enabled lights through one of the supported message schemas.
+The `mqtt` light platform lets you control your MQTT enabled lights through one of the supported message schemas.
## Comparison of light MQTT schemas
@@ -650,6 +650,8 @@ light:
- [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/integrations/light.mqtt) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well.
+- [h801-mqtt-json](https://github.com/starkillerOG/h801-mqtt-json) is a custom firmware for the H801 LED dimmer, a 5 channel (RGBWWCW) WiFi LED strip controller for 12V LED strips. The firmware is meant to control the 5 channels of the H801 to simultaneously control an RGB and a Warm-white/Cold-white Led strip such as an 5050 RGB LED strip and a 5025 Dual White strip. It implements the [MQTT JSON light](/integrations/light.mqtt) platform and supports ON/OFF, RGBW colours (RGB strip), brightness, color temperature (CW/WW strip) and transitions.
+
## Template schema
The `mqtt` light platform with template schema lets you control a MQTT-enabled light that receive commands on a command topic and optionally sends status update on a state topic.
diff --git a/source/_integrations/light.mysensors.markdown b/source/_integrations/light.mysensors.markdown
index 703fc6935b4..4cfa6de1403 100644
--- a/source/_integrations/light.mysensors.markdown
+++ b/source/_integrations/light.mysensors.markdown
@@ -37,10 +37,10 @@ For more information, visit the [serial api] of MySensors.
```cpp
/*
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
- * http://www.mysensors.org/build/dimmer
+ * https://www.mysensors.org/build/dimmer
*/
#include
@@ -113,10 +113,10 @@ void incomingMessage(const MyMessage &message) {
```cpp
/*
* Example Dimmable Light
- * Code adapted from http://github.com/mysensors/MySensors/tree/master/examples/DimmableLight
+ * Code adapted from https://github.com/mysensors/MySensors/tree/master/examples/DimmableLight
*
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
*/
@@ -243,4 +243,4 @@ void send_status_message()
```
[main component]: /integrations/mysensors/
-[serial api]: http://www.mysensors.org/download
+[serial api]: https://www.mysensors.org/download
diff --git a/source/_integrations/light.xiaomi_miio.markdown b/source/_integrations/light.xiaomi_miio.markdown
index 3a52336e7a4..f6b160f1798 100644
--- a/source/_integrations/light.xiaomi_miio.markdown
+++ b/source/_integrations/light.xiaomi_miio.markdown
@@ -138,7 +138,7 @@ Set one of the 4 available fixed scenes.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific light. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
| `scene` | no | Scene, between 1 and 4. |
### Service `light.xiaomi_miio_set_delayed_turn_off`
@@ -147,7 +147,7 @@ Delayed turn off.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific light. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
| `time_period` | no | Time period for the delayed turn off. |
### Service `light.xiaomi_miio_reminder_on` (Eyecare Smart Lamp 2 only)
@@ -156,7 +156,7 @@ Enable the eye fatigue reminder/notification.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific light. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_reminder_off` (Eyecare Smart Lamp 2 only)
@@ -164,7 +164,7 @@ Disable the eye fatigue reminder/notification.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific light. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_night_light_mode_on` (Eyecare Smart Lamp 2 only)
@@ -172,7 +172,7 @@ Turn the smart night light mode on.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific light. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_night_light_mode_off` (Eyecare Smart Lamp 2 only)
@@ -180,7 +180,7 @@ Turn the smart night light mode off.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific light. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_eyecare_mode_on` (Eyecare Smart Lamp 2 only)
@@ -188,7 +188,7 @@ Turn the eyecare mode on.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific light. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
### Service `light.xiaomi_miio_eyecare_mode_off` (Eyecare Smart Lamp 2 only)
@@ -196,4 +196,4 @@ Turn the eyecare mode off.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific light. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO light entity. |
diff --git a/source/_integrations/lightwave.markdown b/source/_integrations/lightwave.markdown
index 08e2e70caca..393cb671659 100644
--- a/source/_integrations/lightwave.markdown
+++ b/source/_integrations/lightwave.markdown
@@ -37,7 +37,7 @@ lightwave:
name: Torch socket
```
-Where `192.168.1.2` is the ip address of your Lightwave hub.
+Where `192.168.1.2` is the IP address of your Lightwave hub.
Each `switch` or `light` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number.
`lights` and `switches` are optional but one of these must be present.
diff --git a/source/_integrations/limitlessled.markdown b/source/_integrations/limitlessled.markdown
index 1462f206c6e..b1e336b0146 100644
--- a/source/_integrations/limitlessled.markdown
+++ b/source/_integrations/limitlessled.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Assumed State
ha_release: pre 0.7
---
-`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, [MiLight](http://www.milight.com/), LEDme, dekolight, or iLight.
+`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, [MiLight](https://www.milight.com/), LEDme, dekolight, or iLight.
LimitlessLED bulbs are controlled via groups, so you can only control an individual bulb via the bridge if it is in a group by itself.
diff --git a/source/_integrations/lock.xiaomi_aqara.markdown b/source/_integrations/lock.xiaomi_aqara.markdown
index cf0c09e24f1..2e5773ea1d9 100644
--- a/source/_integrations/lock.xiaomi_aqara.markdown
+++ b/source/_integrations/lock.xiaomi_aqara.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Push
---
-The `xiaomi aqara` lock platform allows you to get data (`changed_by` property, `verified_wrong_times` attribute) from your [Xiaomi](http://www.mi.com/en/) Aqara locks.
+The `xiaomi aqara` lock platform allows you to get data (`changed_by` property, `verified_wrong_times` attribute) from your [Xiaomi](https://www.mi.com/en/) Aqara locks.
A Aqara lock cannot be controlled by Home Assistant. The property `changed_by` provides the user/key ID of the last successful unlock.
If someone tries to unlock the device but fails more than 3 times the `verified_wrong_times` attribute will be incremented. The counter resets on a successful unlock.
diff --git a/source/_integrations/logbook.markdown b/source/_integrations/logbook.markdown
index ef13971c9c0..72c4c7263c3 100644
--- a/source/_integrations/logbook.markdown
+++ b/source/_integrations/logbook.markdown
@@ -17,8 +17,7 @@ the `recorder` integration for storing the data. This means that if the
PostgreSQL as data store, the `logbook` integration does not use the default
SQLite database to store data.
-To enable the logbook in your installation,
-add the following to your `configuration.yaml` file:
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/london_air.markdown b/source/_integrations/london_air.markdown
index 99d4d7aa774..2fc19f24c74 100644
--- a/source/_integrations/london_air.markdown
+++ b/source/_integrations/london_air.markdown
@@ -8,9 +8,9 @@ ha_iot_class: Cloud Polling
ha_release: 0.52
---
-The `london_air` integration [queries](http://api.erg.kcl.ac.uk/AirQuality/Hourly/MonitoringIndex/GroupName=London/Json) the London air quality [data feed](https://www.londonair.org.uk/LondonAir/API/) provided by Kings College London. A single sensor will be added for each `location` ([local authority district or borough](https://en.wikipedia.org/wiki/List_of_London_boroughs)) specified in the configuration file. The state of each sensor is the overall air quality in that borough. Note that only 28 of the 32 boroughs have data available.
+The `london_air` integration [queries](https://api.erg.kcl.ac.uk/AirQuality/Hourly/MonitoringIndex/GroupName=London/Json) the London air quality [data feed](https://www.londonair.org.uk/LondonAir/API/) provided by Kings College London. A single sensor will be added for each `location` ([local authority district or borough](https://en.wikipedia.org/wiki/List_of_London_boroughs)) specified in the configuration file. The state of each sensor is the overall air quality in that borough. Note that only 28 of the 32 boroughs have data available.
-Boroughs can have multiple monitoring sites at different geographical positions within the borough, and each of those sites can monitor up to six different kinds of pollutant. The pollutants are described [here](http://api.erg.kcl.ac.uk/AirQuality/Information/Species/Json) and are Carbon Monoxide ([CO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsCO.aspx)), Nitrogen Dioxide ([NO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsNO2.aspx)), Ozone ([O3](http://www.londonair.org.uk/LondonAir/guide/WhatIsO3.aspx)), Sulfur Dioxide ([SO2](http://www.londonair.org.uk/LondonAir/guide/WhatIsSO2.aspx)), PM2.5 & PM10 [particulates](http://www.londonair.org.uk/LondonAir/guide/WhatIsPM.aspx). The `latitude` and `longitude` of each site is accessible through a `data` attribute of the sensor, as are details about the pollutants monitored at that site. The `sites` attribute of a sensor displays how many monitoring sites that sensor covers. The `updated` attribute of a sensor states when the data was last published. Nominally data is published hourly, but in my experience this can vary. To limit the number of requests made by the sensor, a single API request is made every 30 minutes.
+Boroughs can have multiple monitoring sites at different geographical positions within the borough, and each of those sites can monitor up to six different kinds of pollutant. The pollutants are described [here](https://api.erg.kcl.ac.uk/AirQuality/Information/Species/Json) and are Carbon Monoxide ([CO2](https://www.londonair.org.uk/LondonAir/guide/WhatIsCO.aspx)), Nitrogen Dioxide ([NO2](https://www.londonair.org.uk/LondonAir/guide/WhatIsNO2.aspx)), Ozone ([O3](https://www.londonair.org.uk/LondonAir/guide/WhatIsO3.aspx)), Sulfur Dioxide ([SO2](https://www.londonair.org.uk/LondonAir/guide/WhatIsSO2.aspx)), PM2.5 & PM10 [particulates](https://www.londonair.org.uk/LondonAir/guide/WhatIsPM.aspx). The `latitude` and `longitude` of each site is accessible through a `data` attribute of the sensor, as are details about the pollutants monitored at that site. The `sites` attribute of a sensor displays how many monitoring sites that sensor covers. The `updated` attribute of a sensor states when the data was last published. Nominally data is published hourly, but in my experience this can vary. To limit the number of requests made by the sensor, a single API request is made every 30 minutes.
To add sensors to Home-assistant for all possible areas/boroughs add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/luci.markdown b/source/_integrations/luci.markdown
index 49761c7377b..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).
@@ -52,6 +52,11 @@ ssl:
required: false
default: false
type: boolean
+verify_ssl:
+ description: If SSL/TLS verification for HTTPS resources needs to be turned off (for self-signed certs, etc.)
+ required: false
+ type: boolean
+ default: true
{% endconfiguration %}
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
diff --git a/source/_integrations/luftdaten.markdown b/source/_integrations/luftdaten.markdown
index 49414cc97e5..45e442ae717 100644
--- a/source/_integrations/luftdaten.markdown
+++ b/source/_integrations/luftdaten.markdown
@@ -10,11 +10,11 @@ ha_iot_class: Cloud Polling
ha_qa_scale: gold
---
-The `luftdaten` integration will query the open data API of [luftdaten.info](http://luftdaten.info) to monitor air quality and other weather data from a specific (self build) sensor station.
+The `luftdaten` integration will query the open data API of [luftdaten.info](https://luftdaten.info/) to monitor air quality and other weather data from a specific (self build) sensor station.
## Setup
-- To get the ID of a particle sensor you need to select it on the [Feinstaub map](http://deutschland.maps.luftdaten.info/) and find it in the sidebar (Column "Sensor ID").
+- To get the ID of a particle sensor you need to select it on the [Feinstaub map](https://deutschland.maps.luftdaten.info/) and find it in the sidebar (Column "Sensor ID").
- To get the ID of a temperature/humidity sensor you need to find it on the map hosted on [Madavi](https://www.madavi.de/sensor/feinstaub-map-dht/).
## Configuration via the frontend
@@ -101,6 +101,6 @@ luftdaten:
## Sensor
-The `luftdaten` sensor platform will query the open data API of [luftdaten.info](http://luftdaten.info) to monitor air quality and other weather data from a specific (self build) sensor station.
+The `luftdaten` sensor platform will query the open data API of [luftdaten.info](https://luftdaten.info/) to monitor air quality and other weather data from a specific (self build) sensor station.
You must have the `luftdaten` integration (from above) configured to use this platform. After configuring that component, sensors will automatically appear.
diff --git a/source/_integrations/lutron.markdown b/source/_integrations/lutron.markdown
index b7c5dd60c68..7fff4ee7543 100644
--- a/source/_integrations/lutron.markdown
+++ b/source/_integrations/lutron.markdown
@@ -65,7 +65,7 @@ For single-action buttons (scene selection, etc.), `action` will be `single`, an
## Scene
-This integration uses keypad programming to identify scenes. Currently, it works with seeTouch, hybrid seeTouch, main repeater, homeowner, and seeTouch RF tabletop keypads.
+This integration uses keypad programming to identify scenes. Currently, it works with seeTouch, hybrid seeTouch, main repeater, homeowner, Pico, and seeTouch RF tabletop keypads.
The Lutron scene platform allows you to control scenes programmed into your SeeTouch keypads.
After setup, scenes will appear in Home Assistant using the area, keypad and button name.
diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown
index 80541db58bb..36f20244baa 100644
--- a/source/_integrations/lutron_caseta.markdown
+++ b/source/_integrations/lutron_caseta.markdown
@@ -12,9 +12,9 @@ ha_release: 0.41
ha_iot_class: Local Polling
---
-[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](http://www.casetawireless.com) product line of dimmers, switches and shades.
+[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](https://www.casetawireless.com/) product line of dimmers, switches and shades.
-This integration only supports the [Caseta](http://www.casetawireless.com) line of products. Both Smart Bridge (L-BDG2-WH) and Smart Bridge PRO (L-BDGPRO2-WH) models are supported. For the RadioRA 2 product line, see the [Lutron component](/integrations/lutron/).
+This integration only supports the [Caseta](https://www.casetawireless.com/) line of products. Both Smart Bridge (L-BDG2-WH) and Smart Bridge PRO (L-BDGPRO2-WH) models are supported. For the RadioRA 2 product line, see the [Lutron component](/integrations/lutron/).
The currently supported Caseta devices are:
diff --git a/source/_integrations/map.markdown b/source/_integrations/map.markdown
index 38e1d59c243..294f544bbc8 100644
--- a/source/_integrations/map.markdown
+++ b/source/_integrations/map.markdown
@@ -8,7 +8,7 @@ ha_qa_scale: internal
ha_release: 0.56
---
-This offers a map on the frontend to display the location of tracked devices. To set up tracked devices, look at the [device tracker](/integrations/device_tracker/) documentation.
+This offers a map on the frontend to display the location of tracked devices. To set up tracked devices, look at the [device tracker](/integrations/device_tracker/) documentation. This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/matrix.markdown b/source/_integrations/matrix.markdown
index 8da71339bec..08f0877f0e3 100644
--- a/source/_integrations/matrix.markdown
+++ b/source/_integrations/matrix.markdown
@@ -141,7 +141,7 @@ This configuration will:
## Notifications
-The `matrix` platform allows you to deliver notifications from Home Assistant to a [Matrix](http://matrix.org) room. Rooms can be both direct as well as group chats.
+The `matrix` platform allows you to deliver notifications from Home Assistant to a [Matrix](https://matrix.org/) room. Rooms can be both direct as well as group chats.
To enable Matrix notifications in your installation, you first need to configure the [Matrix component](#configuration). Then, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/maxcube.markdown b/source/_integrations/maxcube.markdown
index 91564f6a062..5916c439820 100644
--- a/source/_integrations/maxcube.markdown
+++ b/source/_integrations/maxcube.markdown
@@ -9,7 +9,7 @@ ha_release: "0.40"
ha_iot_class: Local Polling
---
-[eQ-3 MAX!](http://www.eq-3.com/products/max.html) integration for Home Assistant allows you to connect eQ-3 MAX! components via the eQ-3 MAX! Cube. The components connects to the eQ-3 MAX! Cube via TCP and automatically makes all supported integrations available in Home Assistant. The name for each device is created by concatenating the MAX! room and device names.
+[eQ-3 MAX!](https://www.eq-3.com/products/max.html) integration for Home Assistant allows you to connect eQ-3 MAX! components via the eQ-3 MAX! Cube. The components connects to the eQ-3 MAX! Cube via TCP and automatically makes all supported integrations available in Home Assistant. The name for each device is created by concatenating the MAX! room and device names.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/melissa.markdown b/source/_integrations/melissa.markdown
index cf433d86ffc..9f3303f53fe 100644
--- a/source/_integrations/melissa.markdown
+++ b/source/_integrations/melissa.markdown
@@ -9,7 +9,7 @@ ha_release: 0.63
ha_iot_class: Cloud Polling
---
-The `melissa` integration is the main integration to connect to a [Melissa Climate](http://seemelissa.com/) A/C control.
+The `melissa` integration is the main integration to connect to a [Melissa Climate](https://seemelissa.com/) A/C control.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/meteo_france.markdown b/source/_integrations/meteo_france.markdown
index 32fcf33d0ba..a412eb6c4c6 100644
--- a/source/_integrations/meteo_france.markdown
+++ b/source/_integrations/meteo_france.markdown
@@ -17,7 +17,7 @@ There is currently support for the following device types within Home Assistant:
- Sensor
- Weather
-It displays the current weather along with a 4 days forecast and can create sensors based on the `monitored_conditions` set in your `configuration.yaml` file, including weather alerts from [Vigilance Météo-France](http://vigilance.meteofrance.com)
+It displays the current weather along with a 4 days forecast and can create sensors based on the `monitored_conditions` set in your `configuration.yaml` file, including weather alerts from [Vigilance Météo-France](https://vigilance.meteofrance.com/)
## Configuration
@@ -70,7 +70,7 @@ It works well with french postal code, city name, etc. In case your expected res
It also works with international city, with mixed results. You may have to find the correct city query.
For example `Montreal, Canada` will return a city in Ardèche, France, whereas `Montreal, america` works
-[http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique](http://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique)
+[https://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique](https://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique)
```yaml
# Example configuration.yaml entry for Montreal, Canada
@@ -83,7 +83,7 @@ meteo_france:
The 1 hour rain forecast is supported for more than 75 % of metropolitan France.
- You can check if your city is covered on the [Météo-France website](http://www.meteofrance.com/previsions-meteo-france/previsions-pluie).
+ You can check if your city is covered on the [Météo-France website](https://www.meteofrance.com/previsions-meteo-france/previsions-pluie).
@@ -104,7 +104,7 @@ Possible value for each intervals attributes are:
The weather alert is available for the metropolitan France.
-The `weather_alert` sensor value give the current weather alert status for the department linked to the city. Data is retrieve from [Météo-France vigilance website](http://vigilance.meteofrance.com/).
+The `weather_alert` sensor value give the current weather alert status for the department linked to the city. Data is retrieve from [Météo-France vigilance website](https://vigilance.meteofrance.com/).
The sensor attributes give access to each type of alerts and date of the bulletin emitted by Météo-France.
diff --git a/source/_integrations/metoffice.markdown b/source/_integrations/metoffice.markdown
index 910fe7387f0..937aecb7f32 100644
--- a/source/_integrations/metoffice.markdown
+++ b/source/_integrations/metoffice.markdown
@@ -8,7 +8,7 @@ ha_release: 0.42
ha_iot_class: Cloud Polling
---
-The `metoffice` weather platform uses the Met Office's [DataPoint API](http://www.metoffice.gov.uk/datapoint) for weather data.
+The `metoffice` weather platform uses the Met Office's [DataPoint API](https://www.metoffice.gov.uk/datapoint) for weather data.
## Configuration
@@ -23,7 +23,7 @@ weather:
{% configuration %}
api_key:
- description: "Your personal API key from the [Datapoint website](http://www.metoffice.gov.uk/datapoint)."
+ description: "Your personal API key from the [Datapoint website](https://www.metoffice.gov.uk/datapoint)."
required: true
type: string
name:
diff --git a/source/_integrations/microsoft.markdown b/source/_integrations/microsoft.markdown
index d578523350a..d5bce0a8f62 100644
--- a/source/_integrations/microsoft.markdown
+++ b/source/_integrations/microsoft.markdown
@@ -27,7 +27,7 @@ api_key:
required: true
type: string
language:
- description: The language to use. Note that if you set the language to anything other than the default, you will need to specify a matching voice type as well. For the supported languages check the list of [available languages](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/integrations/microsoft/tts.py#L20).
+ description: The language to use. Note that if you set the language to anything other than the default, you will need to specify a matching voice type as well. For the supported languages check the list of [available languages](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/microsoft/tts.py#L20).
required: false
type: string
default: "`en-us`"
@@ -57,7 +57,7 @@ pitch:
type: string
default: "`default`"
contour:
- description: "Change the contour of the output in percentages. This overrides the pitch setting. See the [W3 SSML specification](http://www.w3.org/TR/speech-synthesis/#pitch_contour) for what it does. Example value: `(0,0) (100,100)`."
+ description: "Change the contour of the output in percentages. This overrides the pitch setting. See the [W3 SSML specification](https://www.w3.org/TR/speech-synthesis/#pitch_contour) for what it does. Example value: `(0,0) (100,100)`."
required: false
type: string
{% endconfiguration %}
diff --git a/source/_integrations/mikrotik.markdown b/source/_integrations/mikrotik.markdown
index 9a2a2ffa3a5..3f04f43c66f 100644
--- a/source/_integrations/mikrotik.markdown
+++ b/source/_integrations/mikrotik.markdown
@@ -8,7 +8,7 @@ ha_category:
ha_release: 0.44
---
-The `mikrotik` platform offers presence detection by looking at connected devices to a [MikroTik RouterOS](http://mikrotik.com) based router.
+The `mikrotik` platform offers presence detection by looking at connected devices to a [MikroTik RouterOS](https://mikrotik.com) based router.
There is currently support for the following device types within Home Assistant:
@@ -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/mjpeg.markdown b/source/_integrations/mjpeg.markdown
index 2f9ccd4884d..33383a68061 100644
--- a/source/_integrations/mjpeg.markdown
+++ b/source/_integrations/mjpeg.markdown
@@ -25,7 +25,7 @@ camera:
{% configuration %}
mjpeg_url:
- description: The URL your camera serves the video on, e.g., http://192.168.1.21:2112/
+ description: The URL your camera serves the video on, e.g., `http://192.168.1.21:2112/`
required: true
type: string
still_image_url:
diff --git a/source/_integrations/mobile_app.markdown b/source/_integrations/mobile_app.markdown
index 74ff070dc85..ff2053ee573 100644
--- a/source/_integrations/mobile_app.markdown
+++ b/source/_integrations/mobile_app.markdown
@@ -16,8 +16,7 @@ If you are a mobile app developer, see the [developer documentation](https://dev
## Configuration
-This integration is by default enabled, unless you've disabled or removed the `default_config:` line from your configuration.
-If that is the case, the following example shows you how to enable this integration manually:
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/moon.markdown b/source/_integrations/moon.markdown
index 3d90dadeec1..28b08bd1133 100644
--- a/source/_integrations/moon.markdown
+++ b/source/_integrations/moon.markdown
@@ -9,7 +9,7 @@ ha_release: 0.38
ha_qa_scale: internal
---
-The `moon` sensor platform is tracking the moon phases.
+The `moon` integration is tracking the moon phases.
## Configuration
@@ -23,3 +23,7 @@ sensor:
This sensor will return one of the following values:
`new_moon`, `waxing_crescent`, `first_quarter`, `waxing_gibbous`, `full_moon`, `waning_gibbous`, `last_quarter` or `waning_crescent` .
+
+
+
+
diff --git a/source/_integrations/mpd.markdown b/source/_integrations/mpd.markdown
index 5863ad742a1..754a5f697db 100644
--- a/source/_integrations/mpd.markdown
+++ b/source/_integrations/mpd.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Polling
---
-The `mpd` platform allows you to control a [Music Player Daemon](http://www.musicpd.org/) from Home Assistant. Unfortunately you will not be able to manipulate the playlist (add or delete songs) or add transitions between the songs.
+The `mpd` platform allows you to control a [Music Player Daemon](https://www.musicpd.org/) from Home Assistant. Unfortunately you will not be able to manipulate the playlist (add or delete songs) or add transitions between the songs.
Even though no playlist manipulation is possible, it is possible to use the play_media service to load an existing saved playlist as part of an automation or scene.
@@ -60,5 +60,5 @@ relaxdeck:
volume_level: 0.60
```
-This platform works with [Music Player Daemon](http://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://docs.mopidy.com/en/latest/ext/mpd/) as used by [Pi MusicBox](http://www.pimusicbox.com/).
+This platform works with [Music Player Daemon](https://www.musicpd.org/) and [mopidy](https://www.mopidy.com/) with [Mopidy-MPD](https://docs.mopidy.com/en/latest/ext/mpd/) as used by [Pi MusicBox](https://www.pimusicbox.com/).
diff --git a/source/_integrations/msteams.markdown b/source/_integrations/msteams.markdown
new file mode 100644
index 00000000000..69ae8cb6c9d
--- /dev/null
+++ b/source/_integrations/msteams.markdown
@@ -0,0 +1,54 @@
+---
+title: "Microsoft Teams"
+description: "Instructions on how to send a notification to a Microsoft Teams channel."
+logo: msteams.jpg
+ha_category:
+ - Notifications
+ha_release: 0.101
+---
+
+The `Microsoft Teams` platform allows you to send notifications from Home Assistant to a team channel in [Microsoft Teams](https://products.office.com/en-us/microsoft-teams/group-chat-software).
+
+## Setup
+
+To send a notification to teams, you need to add the Incoming Webhook app to your team channel. When the app is added, you will receive a webhook URL that needs to be added to your `configuration.yaml`.
+
+
+## Configuration
+
+To add the Microsoft Teams platform to your installation, add the following to your `configuration.yaml` file:
+
+```yaml
+notify:
+ - platform: msteams
+ url: https://outlook.office.com/webhook/
+```
+
+{% configuration %}
+name:
+ description: Setting this parameter allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
+ required: false
+ type: string
+ default: "notify"
+url:
+ description: The webhook URL created in the setup step.
+ required: true
+ type: string
+{% endconfiguration %}
+
+### Microsoft Teams service data
+
+The following attributes can be placed inside `data` for extended functionality.
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `image_url` | yes | Attach an image to the message.
+
+Example for posting file from URL:
+
+```yaml
+title: Title of the message.
+message: Message that will be added.
+data:
+ image_url: URL_OF_IMAGE
+```
diff --git a/source/_integrations/mvglive.markdown b/source/_integrations/mvglive.markdown
index e457f564d1f..27ce2cf4de0 100644
--- a/source/_integrations/mvglive.markdown
+++ b/source/_integrations/mvglive.markdown
@@ -24,7 +24,7 @@ sensor:
{% configuration %}
station:
- description: Name of the stop or station. Visit [the MVG live web site](http://www.mvg-live.de) to find valid names.
+ description: Name of the stop or station. Visit [the MVG live web site](https://www.mvg-live.de/) to find valid names.
required: true
type: string
destinations:
diff --git a/source/_integrations/myq.markdown b/source/_integrations/myq.markdown
index dc14e0e77ea..54bb961895a 100644
--- a/source/_integrations/myq.markdown
+++ b/source/_integrations/myq.markdown
@@ -20,7 +20,6 @@ cover:
- platform: myq
username: YOUR_USERNAME
password: YOUR_PASSWORD
- type: chamberlain
```
{% configuration %}
@@ -32,9 +31,5 @@ password:
description: Your MyQ account password.
required: true
type: string
-type:
- description: "Your device type/brand. Supported types are `chamberlain`, `liftmaster`, `craftsman` and `merlin`."
- required: true
- type: string
{% endconfiguration %}
diff --git a/source/_integrations/mysensors.markdown b/source/_integrations/mysensors.markdown
index 9a6e632ec51..5a000985871 100644
--- a/source/_integrations/mysensors.markdown
+++ b/source/_integrations/mysensors.markdown
@@ -153,10 +153,10 @@ Present a MySensors sensor or actuator, by following these steps:
```cpp
/*
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
- * http://www.mysensors.org/build/relay
+ * https://www.mysensors.org/build/relay
*/
#define MY_DEBUG
@@ -259,4 +259,4 @@ logger:
Visit the [library API][MySensors library api] of MySensors for more information.
-[MySensors library API]: http://www.mysensors.org/download
+[MySensors library API]: https://www.mysensors.org/download
diff --git a/source/_integrations/nad.markdown b/source/_integrations/nad.markdown
index 9f5e806cce2..64a25c3922c 100644
--- a/source/_integrations/nad.markdown
+++ b/source/_integrations/nad.markdown
@@ -8,7 +8,7 @@ ha_release: 0.36
ha_iot_class: Local Polling
---
-The `nad` platform allows you to control a [NAD receiver](http://nadelectronics.com) through RS232, TCP and Telnet from Home Assistant.
+The `nad` platform allows you to control a [NAD receiver](https://nadelectronics.com/) through RS232, TCP and Telnet from Home Assistant.
To add an NAD receiver to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/neato.markdown b/source/_integrations/neato.markdown
index 6db41b26cca..4443feb0d08 100644
--- a/source/_integrations/neato.markdown
+++ b/source/_integrations/neato.markdown
@@ -4,14 +4,27 @@ description: "Instructions on how to integrate your Neato within Home Assistant.
logo: neato.png
ha_category:
- Camera
+ - Sensor
- Switch
- Vacuum
ha_release: 0.33
+ha_config_flow: true
---
The `neato` integration allows you to control your [Neato Botvac Connected Robots](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/).
-To enable `neato` in your installation, add the following to your `configuration.yaml` file:
+To activate `neato` in your installation, you can set it up from the integration screen or add it to your `configuration.yaml` file.
+
+## Setup the integration via the integrations screen
+
+Menu: *Configuration* -> *Integrations*
+
+Search for or select **Neato** from the list and configure the integration. You will need to enter your username and password and whether you are using a Neato or Vorwerk device.
+After that, all the entities will automatically show up in Home Assistant.
+
+## Setup the integration via configuration.yaml
+
+Add the following to your configuration.yaml:
```yaml
# Example configuration.yaml entry
@@ -92,6 +105,10 @@ Some information about the capabilities might be found on the [Neato Developer P
The `neato` camera platform allows you to view the latest cleaning map of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
+## Sensor
+
+The `neato` sensor platform allows you to view the battery level for your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
+
## Switch
The `neato` switch platform allows you to enable or disable the schedule of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
diff --git a/source/_integrations/nello.markdown b/source/_integrations/nello.markdown
index 5c9f09e8d0f..b6f189168fa 100644
--- a/source/_integrations/nello.markdown
+++ b/source/_integrations/nello.markdown
@@ -9,6 +9,10 @@ ha_release: 0.52
ha_iot_class: Cloud Polling
---
+
+Locumi Labs, the manufacturer of Nello, went bankrupt on 2 October 2019. Since Nello One locks require this cloud service, the locks will no longer work if the Nello shuts down the servers, which according to the official announcement should not happen for the time being. Nello has promised existing users via email that they will work on an alternative to use the lock without a server.
+
+
The `nello` platform allows you to control [Nello](https://www.nello.io) intercoms.
To get started you need to create a secondary Nello account and authorize it to access your lock(s).
diff --git a/source/_integrations/netdata.markdown b/source/_integrations/netdata.markdown
index 8d9f1c93b2f..20136cdcb33 100644
--- a/source/_integrations/netdata.markdown
+++ b/source/_integrations/netdata.markdown
@@ -8,7 +8,7 @@ ha_release: 0.35
ha_iot_class: Local Polling
---
-The `netdata` sensor platform allows you to display information collected by [Netdata](http://my-netdata.io/).
+The `netdata` sensor platform allows you to display information collected by [Netdata](https://my-netdata.io/).
## Setup
diff --git a/source/_integrations/netgear.markdown b/source/_integrations/netgear.markdown
index 067a58efd01..bae63c3fda0 100644
--- a/source/_integrations/netgear.markdown
+++ b/source/_integrations/netgear.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: pre 0.7
---
-This platform allows you to detect presence by looking at connected devices to a [Netgear](http://www.netgear.com/) device.
+This platform allows you to detect presence by looking at connected devices to a [Netgear](https://www.netgear.com/) device.
diff --git a/source/_integrations/netio.markdown b/source/_integrations/netio.markdown
index 710e3b00993..72a54a80a1b 100644
--- a/source/_integrations/netio.markdown
+++ b/source/_integrations/netio.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.24
---
-The `netio` switch platform allows you to control your [Netio](http://www.netio-products.com/en/overview/) Netio4, Netio4 All, and Netio 230B. These are smart outlets controllable through Ethernet and/or WiFi that reports consumptions (Netio4all).
+The `netio` switch platform allows you to control your [Netio](https://www.netio-products.com/en/overview/) Netio4, Netio4 All, and Netio 230B. These are smart outlets controllable through Ethernet and/or WiFi that reports consumptions (Netio4all).
To use Netio devices in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/neurio_energy.markdown b/source/_integrations/neurio_energy.markdown
index cc3d721fbce..81bd24b41f9 100644
--- a/source/_integrations/neurio_energy.markdown
+++ b/source/_integrations/neurio_energy.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Cloud Polling
ha_release: 0.14
---
-Integrate your [Neurio](http://neur.io/) meter information into Home Assistant. To get an API key and secret, login to your [Neurio account](https://my.neur.io/#settings/applications/register) and register an application. Note the Homepage URL and Callback URL are optional.
+Integrate your [Neurio](https://neur.io/) meter information into Home Assistant. To get an API key and secret, login to your [Neurio account](https://my.neur.io/#settings/applications/register) and register an application. Note the Homepage URL and Callback URL are optional.
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/nissan_leaf.markdown b/source/_integrations/nissan_leaf.markdown
index 9d2179684b7..0420bee71d5 100644
--- a/source/_integrations/nissan_leaf.markdown
+++ b/source/_integrations/nissan_leaf.markdown
@@ -8,7 +8,7 @@ ha_release: 0.89
ha_iot_class: Cloud Polling
---
-The `nissan_leaf` integration offers integration with the [NissanConnect EV](http://youplus.nissan.co.uk/GB/en/YouPlus/ConnectedServices.html) cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers:
+The `nissan_leaf` integration offers integration with the [NissanConnect EV](https://youplus.nissan.co.uk/GB/en/YouPlus/ConnectedServices.html) cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers:
* sensors for the battery status, range and charging status
* a switch to start and stop the climate control
diff --git a/source/_integrations/notify.knx.markdown b/source/_integrations/notify.knx.markdown
index 3be61d37e65..1d536fd88d0 100644
--- a/source/_integrations/notify.knx.markdown
+++ b/source/_integrations/notify.knx.markdown
@@ -14,7 +14,7 @@ The `knx` integration must be configured correctly to use this integration, see
-The `knx` notify platform allows you to send notifications to [KNX](http://www.knx.org) devices.
+The `knx` notify platform allows you to send notifications to [KNX](https://www.knx.org/) devices.
## Configuration
diff --git a/source/_integrations/notify.mysensors.markdown b/source/_integrations/notify.mysensors.markdown
index dd6722a61a8..7dc8aeac619 100644
--- a/source/_integrations/notify.mysensors.markdown
+++ b/source/_integrations/notify.mysensors.markdown
@@ -38,8 +38,8 @@ For more information, visit the [api] page of MySensors.
```cpp
/*
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*/
#define MY_DEBUG
@@ -93,4 +93,4 @@ For more information, visit the [api] page of MySensors.
```
[main component]: /integrations/mysensors/
-[api]: http://www.mysensors.org/download/
+[api]: https://www.mysensors.org/download/
diff --git a/source/_integrations/nuheat.markdown b/source/_integrations/nuheat.markdown
index 9256f6605e5..7f5de3858fb 100644
--- a/source/_integrations/nuheat.markdown
+++ b/source/_integrations/nuheat.markdown
@@ -8,7 +8,7 @@ ha_release: 0.61
ha_iot_class: Cloud Polling
---
-The `nuheat` integration lets control your connected [NuHeat Signature](http://www.nuheat.com/products/thermostats/signature-thermostat) floor heating thermostats from [NuHeat](http://www.nuheat.com/).
+The `nuheat` integration lets control your connected [NuHeat Signature](https://www.nuheat.com/products/thermostats/signature-thermostat) floor heating thermostats from [NuHeat](https://www.nuheat.com/).
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/nuimo_controller.markdown b/source/_integrations/nuimo_controller.markdown
index 452926a2e1a..0f808c1fab5 100644
--- a/source/_integrations/nuimo_controller.markdown
+++ b/source/_integrations/nuimo_controller.markdown
@@ -8,7 +8,7 @@ ha_release: 0.29
ha_iot_class: Local Polling
---
-The `nuimo_controller` integration allows you to connect to a [Nuimo](http://www.senic.com/) device for receiving input events and displaying on the LED matrix via the [Nuimo SDK for Python on Linux](https://github.com/getSenic/nuimo-linux-python).
+The `nuimo_controller` integration allows you to connect to a [Nuimo](https://www.senic.com/) device for receiving input events and displaying on the LED matrix via the [Nuimo SDK for Python on Linux](https://github.com/getSenic/nuimo-linux-python).
To connect to a Nuimo device add the following section to your `configuration.yaml` file:
diff --git a/source/_integrations/nuki.markdown b/source/_integrations/nuki.markdown
index 098c6a76d41..1f6d8e83e88 100644
--- a/source/_integrations/nuki.markdown
+++ b/source/_integrations/nuki.markdown
@@ -39,14 +39,6 @@ token:
## Services
-### Service `open`
-
-This will unlatch the door, ie. open it (provided this works with your type of door).
-
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | String or list of strings that point at `entity_id`s Nuki Locks.
-
### Service `lock_n_go`
This will first unlock, wait a few seconds (20 by default) then re-lock. The wait period can be customized through the app.
diff --git a/source/_integrations/nut.markdown b/source/_integrations/nut.markdown
index 90ca6989cf7..7b7dad1e9f9 100644
--- a/source/_integrations/nut.markdown
+++ b/source/_integrations/nut.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.34
---
-The `nut` sensor platform allows you to monitor a UPS (battery backup) by using data from a [NUT](http://networkupstools.org/) (Network UPS Tools) server.
+The `nut` sensor platform allows you to monitor a UPS (battery backup) by using data from a [NUT](https://networkupstools.org/) (Network UPS Tools) server.
## Configuration
diff --git a/source/_integrations/nx584.markdown b/source/_integrations/nx584.markdown
index 19ad189813e..d35c93faac0 100644
--- a/source/_integrations/nx584.markdown
+++ b/source/_integrations/nx584.markdown
@@ -9,7 +9,7 @@ ha_release: 0.13
ha_iot_class: Local Push
---
-The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](http://github.com/kk7ds/pynx584) which is required for this to work.
+The `nx584` platform provides integration with GE, Caddx, Interlogix (and other brands) alarm panels that support the NX584 interface module (or have it built in). Supported panels include NX4/6/8/8E. Actual integration is done through [pynx584](https://github.com/kk7ds/pynx584) which is required for this to work.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/nzbget.markdown b/source/_integrations/nzbget.markdown
index 00f8ce07afb..637acca2f3b 100644
--- a/source/_integrations/nzbget.markdown
+++ b/source/_integrations/nzbget.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.17
---
-The `nzbget` platform will allow you to monitor and control your downloads with [NZBGet](http://NZBGet.net) from within Home Assistant and setup automation based on the information.
+The `nzbget` platform will allow you to monitor and control your downloads with [NZBGet](https://nzbget.net/) from within Home Assistant and setup automation based on the information.
## Configuration
@@ -56,23 +56,23 @@ password:
This component will create these sensors:
-- `article_cache`: Number of cached articles.
-- `average_download_rate`: Average download rate
-- `download_paused`: Paused downloads
-- `download_rate`: Current download rate
-- `download_size`: The size to download
-- `free_disk_space`: Free disk space at the storage location of NZBGet
-- `post_paused`: Paused posts
-- `remaining_size`: Remaining size to download
-- `uptime`: Uptime of NZBGet
+- `nzbget_article_cache`: Article cache size in MB.
+- `nzbget_average_speed`: Average download rate since server start in MB/s.
+- `nzbget_download_paused`: Whether downloading is paused.
+- `nzbget_speed`: Current download rate in MB/s.
+- `nzbget_queue_size`: Remaining size to download in MB.
+- `nzbget_disk_free`: Free disk space at the storage location of NZBGet.
+- `nzbget_post_processing_paused`: Whether post processing is paused.
+- `nzbget_uptime`: NZBGet server uptime.
+- `nzbget_size`: Amount of data downloaded since server start in MB.
## Services
-Available services:
+Available services:
- - `pause`: Pause the download queue.
- - `resume`: Resume the download queue.
- - `set_speed`: Set the download queue speed limit.
+- `pause`: Pause the download queue.
+- `resume`: Resume the download queue.
+- `set_speed`: Set the download queue speed limit.
### Service `nzbget/set_speed`
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/octoprint.markdown b/source/_integrations/octoprint.markdown
index 39083071523..a3b3caf7c02 100644
--- a/source/_integrations/octoprint.markdown
+++ b/source/_integrations/octoprint.markdown
@@ -10,7 +10,7 @@ ha_release: 0.19
ha_iot_class: Local Polling
---
-[OctoPrint](http://octoprint.org/) is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors.
+[OctoPrint](https://octoprint.org/) is a web interface for your 3D printer. This is the main integration to integrate OctoPrint sensors.
There is currently support for the following device types within Home Assistant:
@@ -23,7 +23,7 @@ You must have the OctoPrint component configured (b
## Configuration
-To get started with the OctoPrint API, please follow the directions on their [site](http://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`.
+To get started with the OctoPrint API, please follow the directions on their [site](https://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`.
```yaml
octoprint:
diff --git a/source/_integrations/oem.markdown b/source/_integrations/oem.markdown
index 68d40d46253..8aca1602c56 100644
--- a/source/_integrations/oem.markdown
+++ b/source/_integrations/oem.markdown
@@ -8,7 +8,7 @@ ha_release: 0.39
ha_iot_class: Local Polling
---
-This platform supports the ESP8266 based "WiFi MQTT Relay / Thermostat" sold by [OpenEnergyMonitor](https://shop.openenergymonitor.com/wifi-mqtt-relay-thermostat/). The underlying [library](http://oemthermostat.readthedocs.io/) only supports this single relay variant of the [original device](https://harizanov.com/2014/12/wifi-iot-3-channel-relay-board-with-mqtt-and-http-api-using-esp8266/).
+This platform supports the ESP8266 based "WiFi MQTT Relay / Thermostat" sold by [OpenEnergyMonitor](https://shop.openenergymonitor.com/wifi-mqtt-relay-thermostat/). The underlying [library](https://oemthermostat.readthedocs.io/) only supports this single relay variant of the [original device](https://harizanov.com/2014/12/wifi-iot-3-channel-relay-board-with-mqtt-and-http-api-using-esp8266/).
This platform controls the setpoint of the thermostat in its "manual" mode.
diff --git a/source/_integrations/onewire.markdown b/source/_integrations/onewire.markdown
index 6eb22f9b6f0..c2d1d1e3e5f 100644
--- a/source/_integrations/onewire.markdown
+++ b/source/_integrations/onewire.markdown
@@ -31,7 +31,7 @@ To edit `/boot/config.txt` on Hass.io use [this documentation](https://developer
### owfs
-When an interface adapter is used, sensors can be accessed on Linux hosts via [owfs 1-Wire file system](http://owfs.org/). When using an interface adapter and the owfs, the `mount_dir` option must be configured to correspond a directory, where owfs device tree has been mounted.
+When an interface adapter is used, sensors can be accessed on Linux hosts via [owfs 1-Wire file system](https://owfs.org/). When using an interface adapter and the owfs, the `mount_dir` option must be configured to correspond a directory, where owfs device tree has been mounted.
### Units with multiple sensors
diff --git a/source/_integrations/onkyo.markdown b/source/_integrations/onkyo.markdown
index e9cfd7f758a..18ff6e598cf 100644
--- a/source/_integrations/onkyo.markdown
+++ b/source/_integrations/onkyo.markdown
@@ -9,7 +9,8 @@ ha_iot_class: Local Polling
---
The `onkyo` platform allows you to control a [Onkyo](http://www.onkyo.com/), [Integra](http://www.integrahometheater.com/)
- and some recent [Pioneer](http://www.pioneerelectronics.com) receivers from Home Assistant. Please be aware that you need to enable "Network Standby" for this integration to work in your Hardware.
+and some recent [Pioneer](http://www.pioneerelectronics.com) receivers from Home Assistant.
+Please be aware that you need to enable "Network Standby" for this integration to work in your Hardware.
## Configuration
@@ -37,8 +38,14 @@ name:
required: false
type: string
max_volume:
- description: Maximum volume. Defaults to 80.
+ description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this wil set Home Assistant's 100% volume to be this setting on the amp. i.e. if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of it's maximum volume.
required: false
+ default: 100
+ type: integer
+receiver_max_volume:
+ description: The maximum volume of the receiver. For older Onkyo receivers this was 80, newer Onkyo receivers use 200.
+ required: false
+ default: 80
type: integer
sources:
description: A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified.
@@ -75,6 +82,14 @@ List of source names:
- xm
- sirius
+To find your receivers max volume use the onkyo-eiscp python module set the receiver to its maximum volume
+(don't do this whilst playing something!) and run:
+
+```bash
+onkyo --host 192.168.0.100 volume=query
+unknown-model: master-volume = 191
+```
+
### Service `onkyo_select_hdmi_output`
Changes HDMI output of your receiver
@@ -109,7 +124,6 @@ script:
entity_id: media_player.onkyo
media_content_type: "radio"
media_content_id: "1"
-
```
### Example `onkyo_select_hdmi_output` script
@@ -125,5 +139,4 @@ script:
service_data:
entity_id: media_player.onkyo
hdmi_output: out-sub
-
```
diff --git a/source/_integrations/openalpr_cloud.markdown b/source/_integrations/openalpr_cloud.markdown
index aa0f07d0a9e..9ff8b1d2c5d 100644
--- a/source/_integrations/openalpr_cloud.markdown
+++ b/source/_integrations/openalpr_cloud.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.36
---
-[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you
+[OpenALPR](https://www.openalpr.com/) integration for Home Assistant allows you
to process licences plates from a camera. You can use them to open a garage door
or trigger any other [automation](/integrations/automation/).
diff --git a/source/_integrations/openalpr_local.markdown b/source/_integrations/openalpr_local.markdown
index fa2ec2f62c0..ece346d59ff 100644
--- a/source/_integrations/openalpr_local.markdown
+++ b/source/_integrations/openalpr_local.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.36
---
-[OpenALPR](http://www.openalpr.com/) integration for Home Assistant allows you
+[OpenALPR](https://www.openalpr.com/) integration for Home Assistant allows you
to process licences plates from a camera. You can use them to open a garage door
or trigger any other [automation](/integrations/automation/).
diff --git a/source/_integrations/opencv.markdown b/source/_integrations/opencv.markdown
index d1bdd1deee6..8cff1ca6c88 100644
--- a/source/_integrations/opencv.markdown
+++ b/source/_integrations/opencv.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.47
---
-[OpenCV](http://www.opencv.org) is an open source computer vision image and video processing library.
+[OpenCV](https://www.opencv.org/) is an open source computer vision image and video processing library.
Some pre-defined classifiers can be found [here](https://github.com/opencv/opencv/tree/master/data).
diff --git a/source/_integrations/openhardwaremonitor.markdown b/source/_integrations/openhardwaremonitor.markdown
index e4db4105182..81f0809b6df 100644
--- a/source/_integrations/openhardwaremonitor.markdown
+++ b/source/_integrations/openhardwaremonitor.markdown
@@ -8,7 +8,7 @@ ha_release: 0.48
ha_iot_class: Local Polling
---
-The `openhardwaremonitor` platform uses your [Open Hardware Monitor](http://openhardwaremonitor.org/) installation as a source for sensors that will display system information.
+The `openhardwaremonitor` platform uses your [Open Hardware Monitor](https://openhardwaremonitor.org/) installation as a source for sensors that will display system information.
## Setup
diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown
index e4ba6feb5f3..bb38a6313a8 100644
--- a/source/_integrations/opentherm_gw.markdown
+++ b/source/_integrations/opentherm_gw.markdown
@@ -27,40 +27,41 @@ The OpenTherm protocol is based on polling. The thermostat sends requests to the
# Configuration
-In this example, one gateway is configured with `gateway_id` `living_room`.
-```yaml
-# Example configuration.yaml entry
-opentherm_gw:
- living_room:
- device: /dev/ttyUSB0
-```
-
-Each configured gateway accepts the following configuration options.
+The OpenTherm Gateway can be added to Home Assistant through the `Integrations` panel in the `Configuration` page of the web interface.
+The following configuration options are available:
{% configuration %}
-device:
- description: "Path to OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)."
+name:
+ description: "The friendly name used for the OpenTherm Gateway and its entities."
required: true
type: string
-name:
- description: "The friendly name used for the entities added for the gateway."
+path:
+ description: "Path to the OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)."
+ required: true
+ type: string
+id:
+ description: "The `gateway_id` for this OpenTherm Gateway's entity IDs and services. The entered value will be slugified."
required: false
type: string
- default: "The `gateway_id` of the gateway."
-climate:
- description: "Settings for the `opentherm_gw` climate entity."
- required: false
- type: map
- keys:
- precision:
- description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Supported values are `0.1`, `0.5` and `1.0`."
- required: false
- type: float
- default: "`0.5` for Celsius and `1.0` for Fahrenheit."
- floor_temperature:
- description: "Some thermostats round all temperatures down to the lower value according to their precision. Default behavior for Home Assistant is to round temperatures to the nearest value. Set this to `true` to override this behavior and round to the lower value according to the configured `precision`."
- required: false
- type: boolean
- default: false
+ default: "The slugified `name` of this OpenTherm Gateway."
+{% endconfiguration %}
+
+
+The precision and floor_temperature settings that were supported in configuration.yaml entries have been lost upon import of the configuration.yaml entry into the Integrations panel. You can now configure them as per the following Options paragraph.
+
+
+# Options
+
+The OpenTherm Gateway can be further configured through the integration settings in the web interface
+The following options are available:
+{% configuration %}
+Precision:
+ description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Set to `0` to use the default value for your unit preference."
+ type: float
+ default: "`0.5` for Celsius and `1.0` for Fahrenheit."
+Floor Temperature:
+ description: "Some thermostats round all temperatures down to the lower value according to their precision. Default behavior for Home Assistant is to round temperatures to the nearest value. Enable this setting to override this behavior and round to the lower value according to the configured precision."
+ type: boolean
+ default: Disabled
{% endconfiguration %}
## Services
@@ -71,7 +72,7 @@ Reset the OpenTherm Gateway.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
### Service `opentherm_gw.set_clock`
@@ -79,7 +80,7 @@ Provide the time and day of week to the OpenTherm Gateway. The value provided he
| Service data attribute | Optional | Default | Description |
| ---------------------- | -------- | ------- | ----------- |
-| `gateway_id` | no | N/A | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | N/A | The `gateway_id` as specified during configuration.
| `date` | yes | Today's date | Date from which the day of week will be extracted. Format: `YYYY-MM-DD`.
| `time` | yes | Current time | Time in 24h format.
@@ -95,7 +96,7 @@ In a normal situation, the thermostat will calculate and control the central hea
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The central heating setpoint. Values between `0.0` and `90.0` are accepted, but your boiler may not support the full range. Set to `0` to disable the override.
@@ -114,7 +115,7 @@ that.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `dhw_override` | no | The domestic hot water override state. Value should be 0 or 1 to enable the override in off or on state, or "A" to disable the override.
### Service `opentherm_gw.set_gpio_mode`
@@ -124,7 +125,7 @@ For an explanation of the possible modes, see [GPIO modes](#gpio-modes)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `id` | no | The GPIO ID, `A` or `B`.
| `mode` | no | The GPIO mode to be set.
@@ -135,7 +136,7 @@ For a list of possible modes with explanation, see [LED modes](#led-modes)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `id` | no | The LED ID, accepted values are `A` through `F`.
| `mode` | no | The LED mode to be set.
@@ -151,7 +152,7 @@ In a normal situation, the thermostat will control the maximum modulation level
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `level` | no | The maximum modulation level. Accepted values are `-1` through `100`. Set to `-1` to disable the override.
@@ -167,7 +168,7 @@ If your thermostat is unable to display an outside temperature and does not supp
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The outside temperature to provide to the thermostat. Accepted values are `-40.0` through `64.0`. Any value above `64.0` will clear a previously configured value (suggestion: `99`).
### Service `opentherm_gw.set_setback_temperature`
@@ -177,7 +178,7 @@ The value you provide here will be used with the GPIO `home` (5) and `away` (6)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The setback temperature. Accepted values are `0.0` through `30.0`.
## Sensors
@@ -521,21 +522,3 @@ Possible LED modes and their meaning are listed here:
* X. Transmission error has been detected.
* M. Boiler requires maintenance.
* P. Raised power mode active on thermostat interface.
-
-# Example
-
-A full configuration example with two configured OpenTherm Gateways - one connected via USB, the other over the network - looks like the one below.
-
-```yaml
-# Full example configuration.yaml entry
-opentherm_gw:
- living_room:
- device: /dev/ttyUSB0
- name: "Living"
- holiday_home:
- device: socket://otgw.example.org:2345
- name: "Holiday Home"
- climate:
- precision: 0.5
- floor_temperature: true
-```
diff --git a/source/_integrations/openuv.markdown b/source/_integrations/openuv.markdown
index 5dce0848bb7..b52a39fbce0 100644
--- a/source/_integrations/openuv.markdown
+++ b/source/_integrations/openuv.markdown
@@ -11,7 +11,7 @@ ha_iot_class: Cloud Polling
ha_config_flow: true
---
-The `openuv` integration displays UV and Ozone data from [openuv.io](http://openuv.io).
+The `openuv` integration displays UV and Ozone data from [openuv.io](https://www.openuv.io/).
## Generating an API Key
diff --git a/source/_integrations/openweathermap.markdown b/source/_integrations/openweathermap.markdown
index 0f8e7847bf4..e5e1ced56a2 100644
--- a/source/_integrations/openweathermap.markdown
+++ b/source/_integrations/openweathermap.markdown
@@ -9,14 +9,14 @@ ha_release: 0.32
ha_iot_class: Cloud Polling
---
-The `openweathermap` weather platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location.
+The `openweathermap` weather platform uses [OpenWeatherMap](https://openweathermap.org/) as a source for current meteorological data for your location.
There is currently support for the following device types within Home Assistant:
- [Sensor](#sensor)
- [Weather](#weather)
-You need an API key which is free but requires a [registration](http://home.openweathermap.org/users/sign_up).
+You need an API key which is free but requires a [registration](https://home.openweathermap.org/users/sign_up).
## Weather
@@ -31,7 +31,7 @@ weather:
{% configuration %}
api_key:
- description: Your API key for [OpenWeatherMap](http://openweathermap.org/).
+ description: Your API key for [OpenWeatherMap](https://openweathermap.org/).
required: true
type: string
name:
@@ -64,7 +64,7 @@ This platform is an alternative to the [`openweathermap`](/integrations/openweat
## Sensor
-The `openweathermap` platform uses [OpenWeatherMap](http://openweathermap.org/) as a source for current meteorological data for your location. The `forecast` will show you the condition in 3h.
+The `openweathermap` platform uses [OpenWeatherMap](https://openweathermap.org/) as a source for current meteorological data for your location. The `forecast` will show you the condition in 3h.
To add OpenWeatherMap sensor to your installation, add the following to your `configuration.yaml` file:
@@ -124,4 +124,4 @@ monitored_conditions:
description: The current weather condition code.
{% endconfiguration %}
-Details about the API are available in the [OpenWeatherMap documentation](http://openweathermap.org/api).
+Details about the API are available in the [OpenWeatherMap documentation](https://openweathermap.org/api).
diff --git a/source/_integrations/orangepi_gpio.markdown b/source/_integrations/orangepi_gpio.markdown
index 6e4cb365d80..34ee616cb35 100644
--- a/source/_integrations/orangepi_gpio.markdown
+++ b/source/_integrations/orangepi_gpio.markdown
@@ -30,7 +30,7 @@ binary_sensor:
{% configuration %}
pin_mode:
- description: Type of pin mode to use. This depends on which device you are actually using ([PIN_MODE](/integrations/orangepi_gpio#pin_mode)).
+ description: Type of pin mode to use. This depends on which device you are actually using ([Pin modes](#pin-modes)).
required: true
type: string
ports:
@@ -51,13 +51,25 @@ invert_logic:
Compared to the [Raspberry Pi GPIO](/integrations/rpi_gpio/) component, this integration does not support pull-up resistors or port debouncing. Use external pull-ups and external port-debouncing.
-## Pin_mode
+## Pin modes
As this platform supports different types of GPIO pinouts for difference Orange Pi or Nano Pi devices, we use the `pin_mode` value to specify which one to use. Enabled values are:
| Value | Description |
| ----- | ----------- |
-| `pc` | Supports the Orange Pi Lite, One, PC and Prime |
+| `lite` | Supports the Orange Pi Lite |
+| `lite2` | Supports the Orange Pi Lite 2 |
+| `one` | Supports the Orange Pi One |
+| `oneplus` | Supports the Orange Pi One Plus |
+| `pc` | Supports the Orange Pi PC |
+| `pc2` | Supports the Orange Pi PC 2 |
+| `pcplus` | Supports the Orange Pi PC Plus |
+| `pi3` | Supports the Orange Pi 3 |
+| `plus2e` | Supports the Orange Pi Plus 2E |
+| `prime` | Supports the Orange Pi Prime |
+| `r1` | Supports the Orange Pi R1 |
+| `winplus` | Supports the Orange Pi WinPlus |
+| `zero` | Supports the Orange Pi Zero |
| `zeroplus` | Supports the Orange Pi Zero Plus |
| `zeroplus2` | Supports the Orange Pi Zero Plus 2 |
| `duo` | Supports the NanoPi Duo |
diff --git a/source/_integrations/oru.markdown b/source/_integrations/oru.markdown
new file mode 100644
index 00000000000..a80d95a71bb
--- /dev/null
+++ b/source/_integrations/oru.markdown
@@ -0,0 +1,32 @@
+---
+title: "Orange and Rockland Utility Real-Time Energy Usage Sensor"
+description: "Instructions on how to integrate the Orange and Rockland Utility real-time energy usage sensor within Home Assistant."
+logo: oru.png
+ha_release: 0.101
+ha_category:
+ - Sensor
+ha_iot_class: Cloud Polling
+---
+
+[Orange and Rockland Utility](https://oru.com) is an energy provider in NY and NJ, USA.
+The `oru` sensor platform fetches your current energy usage from your ORU smart meter.
+
+## Configuration
+
+To add the `oru` sensor to your installation, add your `meter_number` to your `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: oru
+ meter_number: YOUR_METER_NUMBER
+```
+
+{% configuration %}
+meter_number:
+ description: The meter number of your smart meter with Orange and Rockland Utility.
+ required: true
+ type: string
+{% endconfiguration %}
+
+`meter_number` is the smart meter number. It can be found on your energy bill, on the top left corner, alongside your account number.
diff --git a/source/_integrations/owntracks.markdown b/source/_integrations/owntracks.markdown
index 0a27208539a..77e265ac160 100644
--- a/source/_integrations/owntracks.markdown
+++ b/source/_integrations/owntracks.markdown
@@ -61,7 +61,7 @@ max_gps_accuracy:
required: false
type: integer
waypoints:
- description: "Owntracks users can define [waypoints](http://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions."
+ description: "Owntracks users can define [waypoints](https://owntracks.org/booklet/features/waypoints/) (a.k.a regions) which are similar in spirit to Home Assistant zones. If this configuration variable is `true`, the Owntracks users who are in `waypoint_whitelist` can export waypoints from the device and Home Assistant will import them as zone definitions."
required: false
default: true
type: boolean
@@ -71,7 +71,7 @@ waypoint_whitelist:
default: All users who are connected to Home Assistant via Owntracks.
type: list
secret:
- description: "[Payload encryption key](http://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present."
+ description: "[Payload encryption key](https://owntracks.org/booklet/features/encrypt/). This is usable when communicating with a third-party untrusted server or a public server (where anybody can subscribe to any topic). By default the payload is assumed to be unencrypted (although the communication between Home Assistant and the server might still be encrypted). This feature requires the `libsodium` library to be present."
required: false
type: string
mqtt_topic:
@@ -109,7 +109,7 @@ owntracks:
## Using Owntracks regions
-Owntracks can track regions, and send region entry and exit information to Home Assistant. You set up a region in the Owntracks app which you should name the same as your Home Assistant Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](http://owntracks.org/booklet/guide/waypoints/).
+Owntracks can track regions, and send region entry and exit information to Home Assistant. You set up a region in the Owntracks app which you should name the same as your Home Assistant Zone, and then make sure to turn on the `share` option for the region in the owntracks app. Please see the [owntracks documentation](https://owntracks.org/booklet/guide/waypoints/).
Home Assistant will use the enter and leave messages to set your zone location. Your location will be set to the center of zone when you enter. Location updates from OwnTracks will be ignored while you are inside a zone.
@@ -123,7 +123,7 @@ Owntracks v2.0.0 removes support for iBeacons on Android.
When run in the usual *significant changes mode* (which is kind to your phone battery), Owntracks sometimes doesn't update your location as quickly as you'd like when you arrive at a zone. This can be annoying if you want to trigger an automation when you get home. You can improve the situation using iBeacons.
-iBeacons are simple Bluetooth devices that send out an "I'm here" message. They are supported by IOS and some Android devices. Owntracks explain more [here](http://owntracks.org/booklet/guide/beacons/).
+iBeacons are simple Bluetooth devices that send out an "I'm here" message. They are supported by IOS and some Android devices. Owntracks explain more [here](https://owntracks.org/booklet/guide/beacons/).
When you enter an iBeacon region, Owntracks will send a `region enter` message to HA as described above. So if you want to have an event triggered when you arrive home, you can put an iBeacon outside your front door. If you set up an OwnTracks iBeacon region called `home` then getting close to the beacon will trigger an update to HA that will set your zone to be `home`.
diff --git a/source/_integrations/person.markdown b/source/_integrations/person.markdown
index 302393871ff..b115523db61 100644
--- a/source/_integrations/person.markdown
+++ b/source/_integrations/person.markdown
@@ -32,7 +32,7 @@ You can manage persons via the UI from the person page inside the configuration
## Configuring the `person` integration via the Home Assistant configuration panel
-If you prefer to use the configuration panel to configure the `person` integration simply add one line to your `configuration.yaml` file and restart Home Assistant.
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
person:
@@ -93,7 +93,7 @@ By following the instructions on the [customizing entities](/docs/configuration/
```yaml
customize:
- person.ada6789:
+ person.ada:
entity_picture: "/local/ada.jpg"
```
diff --git a/source/_integrations/pjlink.markdown b/source/_integrations/pjlink.markdown
index b9332371ea8..2e3cf757324 100644
--- a/source/_integrations/pjlink.markdown
+++ b/source/_integrations/pjlink.markdown
@@ -8,7 +8,7 @@ ha_release: 0.76
ha_iot_class: Local Polling
---
-The `pjlink` platform allows you to control from Home Assistant, projectors with support for the [PJLink protocol](http://pjlink.jbmia.or.jp/english/index.html).
+The `pjlink` platform allows you to control from Home Assistant, projectors with support for the [PJLink protocol](https://pjlink.jbmia.or.jp/english/index.html).
## Configuration
diff --git a/source/_integrations/pvoutput.markdown b/source/_integrations/pvoutput.markdown
index eb6b4bce08e..7aec4695b7b 100644
--- a/source/_integrations/pvoutput.markdown
+++ b/source/_integrations/pvoutput.markdown
@@ -8,7 +8,7 @@ ha_release: 0.33
ha_iot_class: Cloud Polling
---
-The `pvoutput` sensor platform consumes information from [PVOutput](http://pvoutput.org/) which were uploaded by your solar photovoltaic (PV) system.
+The `pvoutput` sensor platform consumes information from [PVOutput](https://pvoutput.org/) which were uploaded by your solar photovoltaic (PV) system.
To add PVOutput details to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/python_script.markdown b/source/_integrations/python_script.markdown
index a7b9a1fa1d0..477c6bb1e67 100644
--- a/source/_integrations/python_script.markdown
+++ b/source/_integrations/python_script.markdown
@@ -19,6 +19,12 @@ This integration allows you to write Python scripts that are exposed as services
[hass-api]: /developers/development_hass_object/
[logger-api]: https://docs.python.org/3.4/library/logging.html#logger-objects
+
+
+It is not possible to use Python imports with this integration. If you want to do more advanced scripts, you can take a look at [AppDaemon](/docs/ecosystem/appdaemon/)
+
+
+
## Writing your first script
- Add to `configuration.yaml`: `python_script:`
@@ -34,10 +40,8 @@ hass.bus.fire(name, { "wow": "from a Python script!" })
- Start Home Assistant
- Call service `python_script.hello_world` with parameters
-```json
-{
- "name": "you"
-}
+```yaml
+name: you
```
## Calling Services
@@ -54,8 +58,9 @@ if entity_id is not None:
```
The above `python_script` can be called using the following JSON as an input.
-```json
-{"entity_id": "light.bedroom", "rgb_color": [255, 0, 0] }
+```yaml
+entity_id: light.bedroom
+rgb_color: [255, 0, 0]
```
## Documenting your Python scripts
diff --git a/source/_integrations/qwikswitch.markdown b/source/_integrations/qwikswitch.markdown
index 7bda4c69d7b..f243a567de0 100644
--- a/source/_integrations/qwikswitch.markdown
+++ b/source/_integrations/qwikswitch.markdown
@@ -11,7 +11,7 @@ ha_category:
ha_release: "0.20"
---
-The `qwikswitch` integration is the main integration to integrate various [QwikSwitch](http://www.qwikswitch.co.za/) devices with Home Assistant. The integration requires the QSUSB Modem device and connects to the QS Mobile application.
+The `qwikswitch` integration is the main integration to integrate various [QwikSwitch](https://www.qwikswitch.co.za/) devices with Home Assistant. The integration requires the QSUSB Modem device and connects to the QS Mobile application.
There is currently support for the following device types within Home Assistant:
@@ -80,7 +80,7 @@ sensors:
default: false
type: string
class:
- description: The [class](components/binary_sensor) or binary_sensor. Only applicable to binary_sensors.
+ description: The [class](/integrations/binary_sensor/#device-class) or binary_sensor. Only applicable to binary_sensors.
required: false
default: door
type: string
@@ -137,6 +137,6 @@ qwikswitch:
### Switch
-The `qwikswitch` platform allows you to control your [QwikSwitch](http://www.qwikswitch.co.za/) relays as switches from within Home Assistant.
+The `qwikswitch` platform allows you to control your [QwikSwitch](https://www.qwikswitch.co.za/) relays as switches from within Home Assistant.
If the device name in the QS Mobile application ends with `Switch` it will be created as a switch, otherwise as a light.
diff --git a/source/_integrations/rachio.markdown b/source/_integrations/rachio.markdown
index fb95a2da6bb..b590233f330 100644
--- a/source/_integrations/rachio.markdown
+++ b/source/_integrations/rachio.markdown
@@ -10,11 +10,11 @@ ha_iot_class: Cloud Push
ha_release: 0.73
---
-The `rachio` platform allows you to control your [Rachio irrigation system](http://rachio.com/).
+The `rachio` platform allows you to control your [Rachio irrigation system](https://rachio.com/).
There is currently support for the following device types within Home Assistant:
-- **Binary Sensor** - Allows you to view the status of your [Rachio irrigation system](http://rachio.com/).
+- **Binary Sensor** - Allows you to view the status of your [Rachio irrigation system](https://rachio.com/).
- [**Switch**](#switch)
They will be automatically added if the Rachio integration integration is loaded.
@@ -73,7 +73,7 @@ panel_iframe:
## Switch
-The `rachio` switch platform allows you to toggle zones connected to your [Rachio irrigation system](http://rachio.com/) on and off.
+The `rachio` switch platform allows you to toggle zones connected to your [Rachio irrigation system](https://rachio.com/) on and off.
Once configured, a switch will be added for every zone that is enabled on every controller in the account provided, as well as a switch to toggle each controller's standby mode.
diff --git a/source/_integrations/radiotherm.markdown b/source/_integrations/radiotherm.markdown
index 408c1b565ae..a699c331423 100644
--- a/source/_integrations/radiotherm.markdown
+++ b/source/_integrations/radiotherm.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.7.6
---
-The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](http://www.radiothermostat.com/) or [3M Filtrete](http://www.radiothermostat.com/filtrete/products/). Your thermostat must have the Wi-Fi module installed and connected to your network.
+The `radiotherm` climate platform let you control a thermostat from [Radio Thermostat](https://www.radiothermostat.com/) or [3M Filtrete](https://www.filtrete.com/). Your thermostat must have the Wi-Fi module installed and connected to your network.
The underlying library supports:
diff --git a/source/_integrations/rainbird.markdown b/source/_integrations/rainbird.markdown
index 07d07ca0966..dd240c9c20d 100644
--- a/source/_integrations/rainbird.markdown
+++ b/source/_integrations/rainbird.markdown
@@ -10,7 +10,7 @@ ha_release: 0.61
ha_iot_class: Local Polling
---
-This `rainbird` integration allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant.
+This `rainbird` integration allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant.
There is currently support for the following device types within Home Assistant:
@@ -95,13 +95,36 @@ Please note that due to the implementation of the API within the LNK Module, the
## Sensor
-This `rainbird` sensor allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant.
+This `rainbird` sensor allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant.
The integration adds `rainsensor` and `raindelay` sensors and their `binary_sensor` alternatives.
## Switch
-This `rainbird` switch platform allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant.
+This `rainbird` switch platform allows interacting with [LNK WiFi](https://www.rainbird.com/products/lnk-wifi-module) module of the Rain Bird Irrigation system in Home Assistant.
Switches are automatically added for all available zones of configured controllers.
+## Services
+
+The Rain Bird switch platform exposes a service to start a single irrigation for a given duration.
+
+| Service | Description |
+| ------- | ----------- |
+| rainbird.start_irrigation | Set a duration state attribute for a switch and turn the irrigation on.|
+
+The service can be used as part of an automation script. For example:
+
+```yaml
+# Example configuration.yaml automation entry
+automation:
+ - alias: Turn irrigation on
+ trigger:
+ platform: time
+ at: '5:30:00'
+ action:
+ service: rainbird.start_irrigation
+ entity_id: switch.sprinkler_1
+ data:
+ duration: 5
+```
\ No newline at end of file
diff --git a/source/_integrations/rainmachine.markdown b/source/_integrations/rainmachine.markdown
index b7316803f7d..c0e4eb1daba 100644
--- a/source/_integrations/rainmachine.markdown
+++ b/source/_integrations/rainmachine.markdown
@@ -11,7 +11,7 @@ ha_release: 0.69
ha_iot_class: Local Polling
---
-The `rainmachine` integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](http://www.rainmachine.com/).
+The `rainmachine` integration is the main integration to integrate all platforms related to [RainMachine smart Wi-Fi sprinkler controllers](https://www.rainmachine.com/).
There is currently support for the following device types within Home Assistant:
@@ -188,7 +188,7 @@ Unpause all watering activities.
## Switch
-The `rainmachine` switch platform allows you to control programs and zones within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
+The `rainmachine` switch platform allows you to control programs and zones within a [RainMachine smart Wi-Fi sprinkler controller](https://www.rainmachine.com/).
### Controlling Your Device
diff --git a/source/_integrations/raspihats.markdown b/source/_integrations/raspihats.markdown
index 66ea6bd0097..df01e666189 100644
--- a/source/_integrations/raspihats.markdown
+++ b/source/_integrations/raspihats.markdown
@@ -14,7 +14,7 @@ The `raspihats` integration is the base for all related Raspihats platforms in H
## Binary Sensor
-The `raspihats` binary sensor platform allows you to read sensor values using the digital inputs of the [raspihats](http://www.raspihats.com/) boards.
+The `raspihats` binary sensor platform allows you to read sensor values using the digital inputs of the [raspihats](https://www.raspihats.com/) boards.
## Configuration
@@ -118,11 +118,11 @@ It will output a table like this:
70: -- -- -- -- -- -- -- 77
```
-For more details about the `raspihats` add-on boards for Raspberry Pi, visit [raspihats.com](http://www.raspihats.com/).
+For more details about the `raspihats` add-on boards for Raspberry Pi, visit [raspihats.com](https://www.raspihats.com/).
## Switch
-The `raspihats` switch platform allows you to control the digital outputs of your [Raspihats](http://www.raspihats.com/) boards.
+The `raspihats` switch platform allows you to control the digital outputs of your [Raspihats](https://www.raspihats.com/) boards.
## Configuration
@@ -226,4 +226,4 @@ It will output a table like this:
70: -- -- -- -- -- -- -- 77
```
-For more details about the Raspihats add-on boards for Raspberry Pi, visit [raspihats.com](http://www.raspihats.com/).
+For more details about the Raspihats add-on boards for Raspberry Pi, visit [raspihats.com](https://www.raspihats.com/).
diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown
index 0bf321064f7..bb0714050b7 100644
--- a/source/_integrations/recorder.markdown
+++ b/source/_integrations/recorder.markdown
@@ -10,7 +10,7 @@ ha_qa_scale: internal
The `recorder` integration is responsible for storing details in a database, which then are handled by the [`history` integration](/integrations/history/).
-Home Assistant uses [SQLAlchemy](http://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/).
+Home Assistant uses [SQLAlchemy](https://www.sqlalchemy.org/), which is an Object Relational Mapper (ORM). This means that you can use **any** SQL backend for the recorder that is supported by SQLAlchemy, like [MySQL](https://www.mysql.com/), [MariaDB](https://mariadb.org/), [PostgreSQL](https://www.postgresql.org/), or [MS SQL Server](https://www.microsoft.com/en-us/sql-server/).
The default database engine is [SQLite](https://www.sqlite.org/) which doesn't require any configuration. The database is stored in your Home Assistant configuration directory (`.homeassistant` or '/config/' in HassIO) and called `home-assistant_v2.db`.
diff --git a/source/_integrations/reddit.markdown b/source/_integrations/reddit.markdown
index 5a51aa13285..0fe263b79e5 100644
--- a/source/_integrations/reddit.markdown
+++ b/source/_integrations/reddit.markdown
@@ -14,6 +14,10 @@ The Reddit sensor integrates data from [Reddit](https://reddit.com/) to monitor
To set up this sensor, you will need to generate a `client_id` and `client_secret` for the user account you will use to connect. Follow the first steps in [this Wiki page](https://github.com/reddit-archive/reddit/wiki/OAuth2-Quick-Start-Example).
+
+This integration does not support Reddit's two-factor authentication. If you use two-factor authentication for your Reddit account, create a separate Reddit account without two-factor authentication for use with Home Assistant.
+
+
## Configuration
To enable this platform, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/rejseplanen.markdown b/source/_integrations/rejseplanen.markdown
index f985da9a4f3..889ce969f05 100644
--- a/source/_integrations/rejseplanen.markdown
+++ b/source/_integrations/rejseplanen.markdown
@@ -23,7 +23,7 @@ If you don't know the name of the stop follow this guide:
- Now insert the coordinates for the location in the url, in this example it will be: [http://xmlopen.rejseplanen.dk/bin/rest.exe/stopsNearby?coordX=56.15756&coordY=10.20674&](http://xmlopen.rejseplanen.dk/bin/rest.exe/stopsNearby?coordX=56.15756&coordY=10.20674&)
- You will now see the 30 stops closest to your location.
-You will se a output like this:
+You will see an output like this:
```text
"StopLocation":[{
@@ -73,7 +73,7 @@ departure_type:
## Direction
If you use the `direction` filter it's important to put correct destination or else the sensor will not work at all.
-The direction has to be the destination(s) for the transport type(s) for the departure stop destination, and NOT the stop where you want to get off. Check [http://rejseplanen.dk](http://rejseplanen.dk), make a search and use the destinations from there in your configuration. Make sure you use the exact name as the destination(s).
+The direction has to be the destination(s) for the transport type(s) for the departure stop destination, and NOT the stop where you want to get off. Check [https://rejseplanen.dk/](https://rejseplanen.dk/), make a search and use the destinations from there in your configuration. Make sure you use the exact name as the destination(s).
A working example on how to use this sensor with direction:
diff --git a/source/_integrations/remote_rpi_gpio.markdown b/source/_integrations/remote_rpi_gpio.markdown
index f3fe6b23129..b4e40e7d975 100644
--- a/source/_integrations/remote_rpi_gpio.markdown
+++ b/source/_integrations/remote_rpi_gpio.markdown
@@ -6,15 +6,15 @@ ha_category:
- DIY
- Binary Sensor
- Switch
-ha_release: 0.94
+ha_release: 0.94
ha_iot_class: Local Push
---
-The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. For the platform configurations, please check their corresponding sections.
+The `rpi_gpio` integration is the base for all related GPIO platforms in Home Assistant. For the platform configurations, please check their corresponding sections.
The remote RPi and the control computer where Home Assistant is running must be prepared to run remote_rpi_gpio, see details [here](https://gpiozero.readthedocs.io/en/stable/remote_gpio.html).
-Note that for virtual environments you may need to set an environment variable when starting the environment to set the pin factory, example:
+Note that for virtual environments you may need to set an environment variable when starting the environment to set the pin factory, example:
`Environment = GPIOZERO_PIN_FACTORY=pigpio PIGPIO_ADDR=YOUR_RPi_IP_ADDRESS`
@@ -122,4 +122,4 @@ switch:
### Troubleshooting
-If you receive an error such as `gpiozero.exc.BadPinFactory: Unable to load any default pin factory!` try changing the pinfactory from `pigpio` to `mock`, this adresses a [known issue](https://www.raspberrypi.org/forums/viewtopic.php?p=1417922).
+If you receive an error such as `gpiozero.exc.BadPinFactory: Unable to load any default pin factory!` try changing the pinfactory from `pigpio` to `mock`, this addresses a [known issue](https://www.raspberrypi.org/forums/viewtopic.php?p=1417922).
diff --git a/source/_integrations/rest.markdown b/source/_integrations/rest.markdown
index 84bd6d59985..1c91c94b0b3 100644
--- a/source/_integrations/rest.markdown
+++ b/source/_integrations/rest.markdown
@@ -30,12 +30,28 @@ sensor:
payload: '{ "device" : "heater" }'
```
+or a template based request:
+
+{% raw %}
+
+```yaml
+# Example configuration.yaml entry
+sensor:
+ - platform: rest
+ resource_template: http://IP_ADDRESS/{{ now().strftime('%Y-%m-%d') }}
+```
+
+{% endraw %}
+
{% configuration %}
resource:
description: The resource or endpoint that contains the value.
required: true
type: string
- default: string
+resource_template:
+ description: The resource or endpoint that contains the value with template support.
+ required: true
+ type: template
method:
description: The method of the request. Either `POST` or `GET`.
required: false
@@ -103,7 +119,13 @@ force_update:
Make sure that the URL exactly matches your endpoint or resource.
-`curl` can help you identify the variable you want to display in your Home Assistant frontend. The example below shows the JSON response of a device that is running with [aREST](http://arest.io/).
+
+
+Use either `resource` or `resource_template`.
+
+
+
+`curl` can help you identify the variable you want to display in your Home Assistant frontend. The example below shows the JSON response of a device that is running with [aREST](https://arest.io/).
```bash
$ curl -X GET http://192.168.1.31/temperature/
@@ -116,7 +138,7 @@ In this section you find some real-life examples of how to use this sensor.
### External IP address
-You can find your external IP address using the service [JSON Test](http://www.jsontest.com) at their [http://ip.jsontest.com/](http://ip.jsontest.com/) URL.
+You can find your external IP address using the service [JSON Test](https://www.jsontest.com/) at their [http://ip.jsontest.com/](http://ip.jsontest.com/) URL.
```yaml
sensor:
@@ -217,7 +239,7 @@ sensor:
### Fetch multiple JSON values and present them as attributes
-[JSON Test](http://www.jsontest.com) returns the current time, date and milliseconds since epoch from [http://date.jsontest.com/](http://date.jsontest.com/).
+[JSON Test](https://www.jsontest.com/) returns the current time, date and milliseconds since epoch from [http://date.jsontest.com/](http://date.jsontest.com/).
{% raw %}
```yaml
@@ -240,7 +262,7 @@ sensor:
```
{% endraw %}
-This sample fetches a weather report from [OpenWeatherMap](http://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/integrations/template) sensors that monitor the attributes and present the values in a usable form.
+This sample fetches a weather report from [OpenWeatherMap](https://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/integrations/template) sensors that monitor the attributes and present the values in a usable form.
{% raw %}
```yaml
@@ -251,12 +273,12 @@ sensor:
- main
- weather
value_template: '{{ value_json["weather"][0]["description"].title() }}'
- resource: http://api.openweathermap.org/data/2.5/weather?zip=80302,us&APPID=VERYSECRETAPIKEY
+ resource: https://api.openweathermap.org/data/2.5/weather?zip=80302,us&APPID=VERYSECRETAPIKEY
- platform: template
sensors:
owm_weather:
value_template: '{{ state_attr('sensor.owm_report', 'weather')[0]["description"].title() }}'
- entity_picture_template: '{{ "http://openweathermap.org/img/w/"+state_attr('sensor.owm_report', 'weather')[0]["icon"].lower()+".png" }}'
+ entity_picture_template: '{{ "https://openweathermap.org/img/w/"+state_attr('sensor.owm_report', 'weather')[0]["icon"].lower()+".png" }}'
entity_id: sensor.owm_report
owm_temp:
friendly_name: 'Outside temp'
diff --git a/source/_integrations/rest_command.markdown b/source/_integrations/rest_command.markdown
index 4653c06b139..5893f5c41fb 100644
--- a/source/_integrations/rest_command.markdown
+++ b/source/_integrations/rest_command.markdown
@@ -33,7 +33,7 @@ service_name:
required: true
type: [string, template]
method:
- description: HTTP method to use (get, post, put, or delete).
+ description: HTTP method to use (get, patch, post, put, or delete).
required: false
default: get
type: string
@@ -57,7 +57,7 @@ service_name:
description: Timeout for requests in seconds.
required: false
type: string
- defaut: 10
+ default: 10
content_type:
description: Content type for the request.
required: false
diff --git a/source/_integrations/roku.markdown b/source/_integrations/roku.markdown
index 9babb4a3f58..578e5054dda 100644
--- a/source/_integrations/roku.markdown
+++ b/source/_integrations/roku.markdown
@@ -10,7 +10,7 @@ ha_iot_class: Local Polling
ha_release: 0.86
---
-The [Roku](http://www.roku.com/) integration allows integration of Roku, which will be automatically discovered if you enable the [discovery component](/integrations/discovery/).
+The [Roku](https://www.roku.com/) integration allows integration of Roku, which will be automatically discovered if you enable the [discovery component](/integrations/discovery/).
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/roomba.markdown b/source/_integrations/roomba.markdown
index 2c7ddccef68..c205470f74e 100644
--- a/source/_integrations/roomba.markdown
+++ b/source/_integrations/roomba.markdown
@@ -7,10 +7,14 @@ ha_category:
ha_release: 0.51
---
-The `roomba` integration allows you to control your [iRobot Roomba](http://www.irobot.com/For-the-Home/Vacuuming/Roomba.aspx) vacuum.
+The `roomba` integration allows you to control your [iRobot Roomba](https://www.irobot.com/For-the-Home/Vacuuming/Roomba.aspx) vacuum.
+
+
+
+
-This platform has only been tested with an iRobot Roomba 980 but should work fine with any Wi-Fi enabled Roomba like the 690, 890 or the 960.
+This platform has been tested and is confirmed to be working with the iRobot Roomba 980 and 890 models, but should also work fine with any Wi-Fi enabled Roomba like the 690 or the 960.
## Configuration
diff --git a/source/_integrations/route53.markdown b/source/_integrations/route53.markdown
index b682f582fa1..d0274ee8717 100644
--- a/source/_integrations/route53.markdown
+++ b/source/_integrations/route53.markdown
@@ -101,3 +101,9 @@ ttl:
type: integer
default: 300
{% endconfiguration %}
+
+## Services
+
+### Service `route53.update_records`
+
+Use this service to manually trigger an update of the DNS records.
diff --git a/source/_integrations/rpi_gpio_pwm.markdown b/source/_integrations/rpi_gpio_pwm.markdown
index 1e194632067..3fcb775584e 100644
--- a/source/_integrations/rpi_gpio_pwm.markdown
+++ b/source/_integrations/rpi_gpio_pwm.markdown
@@ -67,7 +67,7 @@ In this section you find some real-life examples of how to use this sensor.
### RGB LED connected to PCA9685 controller
-This example uses a [PCA9685 controller](http://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to control a RGB LED.
+This example uses a [PCA9685 controller](https://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to control a RGB LED.
```yaml
# Example configuration.yaml entry
@@ -82,7 +82,7 @@ light:
### RGBW LED connected to PCA9685 controller
-This example uses a [PCA9685 controller](http://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to interact with a RGBW LED.
+This example uses a [PCA9685 controller](https://www.nxp.com/products/interfaces/ic-bus-portfolio/ic-led-display-control/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685) to interact with a RGBW LED.
```yaml
# Example configuration.yaml entry
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 68f6385a70d..42a4a548e20 100644
--- a/source/_integrations/samsungtv.markdown
+++ b/source/_integrations/samsungtv.markdown
@@ -8,7 +8,7 @@ ha_release: 0.13
ha_iot_class: Local Polling
---
-The `samsungtv` platform allows you to control a [Samsung Smart TV](http://www.samsung.com/uk/consumer/tv-audio-video/televisions/).
+The `samsungtv` platform allows you to control a [Samsung Smart TV](https://www.samsung.com/uk/tvs/all-tvs/).
### Setup
@@ -54,6 +54,7 @@ Currently known supported models:
- C7700
- D5500
+- D6100
- D6300SF
- D6500
- D6505
@@ -111,12 +112,14 @@ 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)
+- Q60 – turning on works, turning off does not work, State is always "off".
+- 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.
If your model is not on the list then give it a test, if everything works correctly then add it to the list on
-[GitHub](https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_integrations/samsungtv.markdown).
+[GitHub](https://github.com/home-assistant/home-assistant.io/tree/current/source/_integrations/samsungtv.markdown).
The first letter (U, P, L, H & K) represent the screen type, e.g., LED or Plasma. The second letter represents the region, E is Europe, N is North America and A is Asia & Australia. The two numbers following that represent the screen size.
If you add your model remember to remove these first 4 characters before adding to the list.
diff --git a/source/_integrations/scene.knx.markdown b/source/_integrations/scene.knx.markdown
index f0c00eb4c94..741c4e6039b 100644
--- a/source/_integrations/scene.knx.markdown
+++ b/source/_integrations/scene.knx.markdown
@@ -13,7 +13,7 @@ The `knx` integration must be configured correctly to use this integration, see
-The `knx` scenes platform allows you to trigger [KNX](http://www.knx.org) scenes.
+The `knx` scenes platform allows you to trigger [KNX](https://www.knx.org/) scenes.
## Configuration
diff --git a/source/_integrations/scene.markdown b/source/_integrations/scene.markdown
index 466b815b248..2745e4825ef 100644
--- a/source/_integrations/scene.markdown
+++ b/source/_integrations/scene.markdown
@@ -50,14 +50,41 @@ Scenes can be activated using the service `scene.turn_on` (there is no 'scene.tu
```yaml
# Example automation
-...
automation:
trigger:
platform: state
entity_id: device_tracker.sweetheart
- from: 'not_home'
- to: 'home'
+ from: "not_home"
+ to: "home"
action:
service: scene.turn_on
entity_id: scene.romantic
```
+
+## Applying a scene without defining it
+
+With the `scene.apply` service you are able to apply a scene without first defining it via configuration. Instead, you pass the states as part of the service data. The format of the data is the same as the `entities` field in a configuration.
+
+```yaml
+# Example automation
+automation:
+ trigger:
+ platform: state
+ entity_id: device_tracker.sweetheart
+ from: "not_home"
+ to: "home"
+ action:
+ service: scene.apply
+ data:
+ entities:
+ light.tv_back_light:
+ state: on
+ brightness: 100
+ light.ceiling: off
+ media_player.sony_bravia_tv:
+ source: HDMI 1
+```
+
+## Reloading scenes
+
+Whenever you make a change to your scene configuration, you can call the `scene.reload` service to reload the scenes.
diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown
index 4b68c7a22dd..892ba3712ca 100644
--- a/source/_integrations/scrape.markdown
+++ b/source/_integrations/scrape.markdown
@@ -123,13 +123,13 @@ sensor:
### IFTTT status
-If you make heavy use of the [IFTTT](/integrations/ifttt/) web service for your automations and are curious about the [status of IFTTT](http://status.ifttt.com/) then you can display the current state of IFTTT in your frontend.
+If you make heavy use of the [IFTTT](/integrations/ifttt/) web service for your automations and are curious about the [status of IFTTT](https://status.ifttt.com/) then you can display the current state of IFTTT in your frontend.
```yaml
# Example configuration.yaml entry
sensor:
- platform: scrape
- resource: http://status.ifttt.com/
+ resource: https://status.ifttt.com/
name: IFTTT status
select: '.component-status'
```
diff --git a/source/_integrations/script.markdown b/source/_integrations/script.markdown
index 09ba6536dcd..846f5e8e54b 100644
--- a/source/_integrations/script.markdown
+++ b/source/_integrations/script.markdown
@@ -8,7 +8,7 @@ ha_qa_scale: internal
ha_release: 0.7
---
-The `script` integration allows users to specify a sequence of actions to be executed by Home Assistant when turned on. The script integration will create an entity for each script and allow them to be controlled via services.
+The `script` integration allows users to specify a sequence of actions to be executed by Home Assistant. These are run when you turn the script on. The script integration will create an entity for each script and allow them to be controlled via services.
## Configuration
diff --git a/source/_integrations/scsgate.markdown b/source/_integrations/scsgate.markdown
index 8d4a70eee34..34c3242c842 100644
--- a/source/_integrations/scsgate.markdown
+++ b/source/_integrations/scsgate.markdown
@@ -40,7 +40,7 @@ The SCSGate integration relies on the [scsgate](https://github.com/flavio/scsgat
This module provides also a command line tool called `scs-monitor`. This program can be used to find the IDs of your lights, switches and roller shutters and produce the YAML snippet to insert into your `configuration.yaml` file.
-For more information checkout [this](http://scsgate.readthedocs.org/en/latest/?badge=latest#creation-of-a-home-assistant-configuration-file) section of `scsgate`'s documentation.
+For more information checkout [this](https://scsgate.readthedocs.org/en/latest/?badge=latest#creation-of-a-home-assistant-configuration-file) section of `scsgate`'s documentation.
### Cover
diff --git a/source/_integrations/sensor.buienradar.markdown b/source/_integrations/sensor.buienradar.markdown
index 4ba6cd9df0a..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).
@@ -45,7 +45,7 @@ timeframe:
default: 60
type: integer
monitored_conditions:
- description: One or more conditions to display in the frontend.
+ description: One or more conditions to display in the frontend. See [the Buienradar.nl website](https://www.buienradar.nl/overbuienradar/legenda) for a detailed explanation of each one.
required: true
type: list
keys:
diff --git a/source/_integrations/sensor.command_line.markdown b/source/_integrations/sensor.command_line.markdown
index 77c98904a2f..670f5f2fb50 100644
--- a/source/_integrations/sensor.command_line.markdown
+++ b/source/_integrations/sensor.command_line.markdown
@@ -75,7 +75,7 @@ sensor:
- platform: command_line
name: HD Temperature
command: "hddtemp -n /dev/sda"
- # If errors occur, remove degree symbol below
+ # If errors occur, make sure configuration file is encoded as UTF-8
unit_of_measurement: "°C"
```
@@ -90,7 +90,7 @@ sensor:
- platform: command_line
name: CPU Temperature
command: "cat /sys/class/thermal/thermal_zone0/temp"
- # If errors occur, remove degree symbol below
+ # If errors occur, make sure configuration file is encoded as UTF-8
unit_of_measurement: "°C"
value_template: '{{ value | multiply(0.001) | round(1) }}'
```
diff --git a/source/_integrations/sensor.knx.markdown b/source/_integrations/sensor.knx.markdown
index ff460640e7e..c68015799d5 100644
--- a/source/_integrations/sensor.knx.markdown
+++ b/source/_integrations/sensor.knx.markdown
@@ -14,7 +14,7 @@ The `knx` integration must be configured correctly to use this integration, see
-The `knx` sensor platform allows you to monitor [KNX](http://www.knx.org) sensors.
+The `knx` sensor platform allows you to monitor [KNX](https://www.knx.org/) sensors.
Sensors are read-only. To write to the knx-bus configure an exposure [KNX Integration - Expose](/integrations/knx/#exposing-sensor-values-or-time-to-knx-bus).
diff --git a/source/_integrations/sensor.mqtt.markdown b/source/_integrations/sensor.mqtt.markdown
index 303315d655d..f2629506fc8 100644
--- a/source/_integrations/sensor.mqtt.markdown
+++ b/source/_integrations/sensor.mqtt.markdown
@@ -89,7 +89,7 @@ unique_id:
required: false
type: string
device_class:
- description: The type/class of the sensor to set the icon in the frontend.
+ description: The [type/class](/integrations/sensor/#device-class) of the sensor to set the icon in the frontend.
required: false
type: device_class
default: None
diff --git a/source/_integrations/sensor.mysensors.markdown b/source/_integrations/sensor.mysensors.markdown
index 24405bcfefd..6b84c8422da 100644
--- a/source/_integrations/sensor.mysensors.markdown
+++ b/source/_integrations/sensor.mysensors.markdown
@@ -72,10 +72,10 @@ For more information, visit the [serial api] of MySensors.
```cpp
/**
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
- * http://www.mysensors.org/build/light
+ * https://www.mysensors.org/build/light
*/
#include
@@ -120,10 +120,10 @@ void loop()
```cpp
/**
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
- * http://www.mysensors.org/build/light
+ * https://www.mysensors.org/build/light
*/
#define MY_DEBUG
@@ -181,4 +181,4 @@ void receive(const MyMessage &message) {
```
[main component]: /integrations/mysensors/
-[serial api]: http://www.mysensors.org/download
+[serial api]: https://www.mysensors.org/download
diff --git a/source/_integrations/sensor.xiaomi_aqara.markdown b/source/_integrations/sensor.xiaomi_aqara.markdown
index 3ba1686b9b2..d877edb9eaf 100644
--- a/source/_integrations/sensor.xiaomi_aqara.markdown
+++ b/source/_integrations/sensor.xiaomi_aqara.markdown
@@ -8,6 +8,6 @@ ha_release: "0.50"
ha_iot_class: Local Push
---
-The `xiaomi aqara` sensor platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) sensors.
+The `xiaomi aqara` sensor platform allows you to get data from your [Xiaomi](https://www.mi.com/en/) sensors.
The requirement is that you have setup [Xiaomi aqara](/integrations/xiaomi_aqara/).
diff --git a/source/_integrations/sinch.markdown b/source/_integrations/sinch.markdown
new file mode 100644
index 00000000000..e2ed441979f
--- /dev/null
+++ b/source/_integrations/sinch.markdown
@@ -0,0 +1,65 @@
+---
+title: "Sinch SMS"
+description: "Instructions on how to add Sinch notifications to Home Assistant."
+logo: sinch.png
+ha_category:
+ - Notifications
+ha_release: 0.101
+---
+
+The `sinch` platform uses [Sinch](https://www.sinch.com/products/messaging/sms/) to deliver notifications from Home Assistant.
+
+## Prerequisites
+
+Go to your [Sinch Dashboard](https://dashboard.sinch.com/sms/api/rest) and click "Add new REST API". You should now be able to obtain your `service_plan_id` and `api_key`.
+
+## Configuration
+
+To add Sinch to your installation, add the following to your Home Assistant `configuration.yaml` file:
+
+```yaml
+# Example configuration.yaml entry
+notify:
+ - platform: sinch
+ service_plan_id: SINCH_SERVICE_PLAN_ID
+ api_key: SINCH_API_KEY
+```
+
+{% configuration %}
+name:
+ description: "Setting the optional parameter name allows multiple notifiers to be created. The default value is `Sinch`. The notifier will bind to the service `notify.NOTIFIER_NAME`."
+ required: false
+ type: string
+service_plan_id:
+ description: Your Sinch Service Plan ID.
+ required: true
+ type: string
+api_key:
+ description: Your API Token.
+ required: true
+ type: string
+default_recipient:
+ description: "A single or multiple phone numbers. This is where you want to send your SMS notification messages by default (when not specifying `target` in the service call), e.g., `09171234567` or `[09171234567, 09177654321]`."
+ required: false
+ type: [string, list]
+sender:
+ description: The name or number of the sender.
+ required: false
+ type: string
+ default: 'Home Assistant'
+{% endconfiguration %}
+
+To use notifications, please see the [getting started with automation page](/getting-started/automation/).
+
+### Full configuration example
+
+```yaml
+# Example configuration.yaml entry
+notify:
+ - platform: sinch
+ name: Sinch
+ service_plan_id: SINCH_SERVICE_PLAN_ID
+ api_key: SINCH_API_KEY
+ default_recipient: [PHONE_NO1, PHONE_NO2]
+ sender: Home assistant
+```
diff --git a/source/_integrations/sky_hub.markdown b/source/_integrations/sky_hub.markdown
index b0937a64c19..dbd43e9fe8e 100644
--- a/source/_integrations/sky_hub.markdown
+++ b/source/_integrations/sky_hub.markdown
@@ -8,7 +8,7 @@ ha_release: 0.37
---
-The `sky_hub` platform offers presence detection by looking at connected devices to a [Sky Hub router](http://www.sky.com/shop/broadband-talk/sky-hub/) based router.
+The `sky_hub` platform offers presence detection by looking at connected devices to a [Sky Hub router](https://www.sky.com/shop/broadband-talk/sky-hub/) based router.
To use your Sky Hub device in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/skybeacon.markdown b/source/_integrations/skybeacon.markdown
index c115a0b58eb..bb0563f93ef 100644
--- a/source/_integrations/skybeacon.markdown
+++ b/source/_integrations/skybeacon.markdown
@@ -7,7 +7,7 @@ ha_release: 0.37
ha_iot_class: Local Polling
---
-The `skybeacon` sensor platform supports [CR2477](http://cnsky9.en.alibaba.com)-powered [iBeacon](https://en.wikipedia.org/wiki/IBeacon)/eddystone sensors that come with temperature/sensor module.
+The `skybeacon` sensor platform supports [CR2477](https://cnsky9.en.alibaba.com/)-powered [iBeacon](https://en.wikipedia.org/wiki/IBeacon)/eddystone sensors that come with temperature/sensor module.
## Configuration
diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown
index c873f3da9d7..7f68b1cc36e 100644
--- a/source/_integrations/slack.markdown
+++ b/source/_integrations/slack.markdown
@@ -59,7 +59,7 @@ username:
type: string
default: The user account or botname that you generated the API key as.
icon:
- description: Use one of the Slack emojis as an Icon for the supplied username. Slack uses the standard emoji sets used [here](http://www.webpagefx.com/tools/emoji-cheat-sheet/).
+ description: Use one of the Slack emojis as an Icon for the supplied username. Slack uses the standard emoji sets used [here](https://www.webpagefx.com/tools/emoji-cheat-sheet/).
required: false
type: string
{% endconfiguration %}
@@ -121,7 +121,7 @@ Example for posting formatted attachment:
"attachments": [
{
"title": "WHAT A HORRIBLE NIGHT TO HAVE A CURSE.",
- "image_url": "http://i.imgur.com/JEExnsI.gif"
+ "image_url": "https://i.imgur.com/JEExnsI.gif"
}
]
}
diff --git a/source/_integrations/sleepiq.markdown b/source/_integrations/sleepiq.markdown
index 5bf4236dec6..ce55c4c9da4 100644
--- a/source/_integrations/sleepiq.markdown
+++ b/source/_integrations/sleepiq.markdown
@@ -10,7 +10,7 @@ ha_release: 0.29
ha_iot_class: Local Polling
---
-The SleepIQ implementation lets you view sensor data from [SleepIQ by SleepNumber](http://www.sleepnumber.com/sn/en/sleepiq-sleep-tracker). In particular, it lets you see the occupancy and current SleepNumber (ie current firmness) of each side of a SleepNumber bed.
+The SleepIQ implementation lets you view sensor data from [SleepIQ by SleepNumber](https://www.sleepnumber.com/sleepiq-sleep-tracker). In particular, it lets you see the occupancy and current SleepNumber (ie current firmness) of each side of a SleepNumber bed.
## Setup
diff --git a/source/_integrations/sma.markdown b/source/_integrations/sma.markdown
index 62cadd02f05..faccfba81d2 100644
--- a/source/_integrations/sma.markdown
+++ b/source/_integrations/sma.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.36
---
-The `sma` sensor will poll a [SMA](http://www.sma-solar.com/) [(US)](http://www.sma-america.com/) solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant.
+The `sma` sensor will poll a [SMA](http://www.sma-solar.com/) [(US)](https://www.sma-america.com/) solar inverter and present the values as sensors (or attributes of sensors) in Home Assistant.
This sensor uses the web interface and to use it, you have to be able to connect to the solar inverter from your favorite web browser.
diff --git a/source/_integrations/smarthab.markdown b/source/_integrations/smarthab.markdown
index 60e8eb98dff..e97965e6b3e 100644
--- a/source/_integrations/smarthab.markdown
+++ b/source/_integrations/smarthab.markdown
@@ -10,7 +10,7 @@ ha_category:
ha_iot_class: Cloud Polling
---
-If your home is fitted with [SmartHab](http://www.smarthab.fr/en/home/)'s
+If your home is fitted with [SmartHab](https://www.smarthab.fr/en/home/)'s
devices and you have access to their app-based services, you will be able
to control your lights and shutters with the SmartHab integration for Home
Assistant.
diff --git a/source/_integrations/smhi.markdown b/source/_integrations/smhi.markdown
index 207ea471ebd..a2642b3f06c 100644
--- a/source/_integrations/smhi.markdown
+++ b/source/_integrations/smhi.markdown
@@ -29,7 +29,7 @@ You can only add locations through the integrations page, not in configuration f
-Only location close to Sweden can be added. See [SMHI.se area](http://opendata.smhi.se/apidocs/metfcst/geographic_area.html) for more details what locations are supported.
+Only location close to Sweden can be added. See [SMHI.se area](https://opendata.smhi.se/apidocs/metfcst/geographic_area.html) for more details what locations are supported.
@@ -51,4 +51,4 @@ name:
default: Home
{% endconfiguration %}
-Details about the API are available in the [SMHI API documentation](http://opendata.smhi.se/apidocs/metfcst/index.html).
+Details about the API are available in the [SMHI API documentation](https://opendata.smhi.se/apidocs/metfcst/index.html).
diff --git a/source/_integrations/snips.markdown b/source/_integrations/snips.markdown
index 2abfa970b4c..1937ef70490 100644
--- a/source/_integrations/snips.markdown
+++ b/source/_integrations/snips.markdown
@@ -81,11 +81,11 @@ sudo systemctl start "snips-*"
Snips is now ready to take voice commands from the microphone. To trigger the listening, simply say
-> Hey Snips
+_Hey Snips_
followed by a command, e.g.
-> Set the lights to green in the living room
+_Set the lights to green in the living room_
As the Snips Platform parses this query into an intent, it will be published on MQTT, on the `hermes/intent/` topic. The Snips Home Assistant integration subscribes to this topic, and handles the intent according to the rules defined in `configuration.yaml` file, as explained below.
@@ -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/solaredge_local.markdown b/source/_integrations/solaredge_local.markdown
index 90606d16067..d536dc76e91 100644
--- a/source/_integrations/solaredge_local.markdown
+++ b/source/_integrations/solaredge_local.markdown
@@ -11,14 +11,17 @@ ha_iot_class: Local Polling
The `solaredge_local` platform uses the local API available on some SolarEdge Inverters to allow you to get details from your SolarEdge solar power setup and integrate these into your Home Assistant installation.
-Only specific models support the local API. The local API is available on the SExxxxH-US models with SetApp as well as European three-phase inverters SEXXK-XXXTXBXX4 models with SetApp like SE3K-E10K, SE12.5K-SE27.6K and SE33.3K. Please check the datasheets carefully if in the section "Additional Features", sub-section "Inverter Commissioning" is present the following line "With the SetApp mobile application using built-in Wi-Fi access point for local connection".
+Only specific models support the local API. The local API is available on inverters that do not have an LCD character screen. You can also check the datasheets if in the section "Additional Features", sub-section "Inverter Commissioning" is present the following line "With the SetApp mobile application using built-in Wi-Fi access point for local connection". These inverters also have a part number that ends with a 4. For example: SEXXK-XXXXXBXX4 or SEXXXXH-XXXXXBXX4
-You can check by finding the IP address of your inverter and visiting it in a browser. If it supports the local API, you'll see the SolarEdge logo and a "Commissioning" menu.
+You can check if the local API works by finding the IP address of your inverter and visiting it in a browser. If it supports the local API, you'll see a HTML page with the SolarEdge logo and a "Commissioning" menu.
-If your inveter does not support the local API, you can use the [cloud based version](/integrations/solaredge/) instead.
+
+If your inverter does not support the local API, you can use the [cloud based version](/integrations/solaredge/)
+
+
## Configuration
To use the SolarEdge sensors in your installation, add the following to your configuration.yaml file:
@@ -26,8 +29,8 @@ To use the SolarEdge sensors in your installation, add the following to your con
```yaml
# Example configuration.yaml entry
sensor:
- platform: solaredge_local
- ip_address: IP_ADDRESS
+ - platform: solaredge_local
+ ip_address: IP_ADDRES
```
{% configuration %}
@@ -64,5 +67,7 @@ sensor:
sensors:
solaredge_energy_this_year_template:
value_template: "{{ (states('sensor.solaredge_energy_this_year') | float / 1000) | round(2) }}"
+ unit_of_measurement: 'KWh'
+ icon_template: "mdi:solar-power"
```
{% endraw %}
diff --git a/source/_integrations/songpal.markdown b/source/_integrations/songpal.markdown
index a9815b595b1..ac3977f1a71 100644
--- a/source/_integrations/songpal.markdown
+++ b/source/_integrations/songpal.markdown
@@ -10,7 +10,7 @@ ha_release: 0.65
The `songpal` platform allows you to control Sony's Songpal ("[Audio Control API](https://developer.sony.com/develop/audio-control-api/)") compatible devices such as soundbars, AV receivers and wireless speakers from Home Assistant.
-Even when the API officially supports only a few devices (HT-ST5000, HT-MT500, HT-CT800, SRS-ZR5 and STR-DN1080), it has also been confirmed to work on others. [The list of supported devices](http://vssupport.sony.net/en_ww/device.html) from Sony's Songpal website lists devices which are likely to be compatible with this platform.
+Even when the API officially supports only a few devices (HT-ST5000, HT-MT500, HT-CT800, SRS-ZR5 and STR-DN1080), it has also been confirmed to work on others. [The list of supported devices](https://vssupport.sony.net/en_ww/device.html) from Sony's Songpal website lists devices which are likely to be compatible with this platform.
If the platform works with your non-listed device, or you encounter bugs, please feel free to [report them upstream](https://github.com/rytilahti/python-songpal).
diff --git a/source/_integrations/sony_projector.markdown b/source/_integrations/sony_projector.markdown
index 6659b297235..632cd71fa74 100644
--- a/source/_integrations/sony_projector.markdown
+++ b/source/_integrations/sony_projector.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.89
---
-The `sony_projector` switch platform allows you to control the state of SDCP compatible network-connected projectors from [Sony](http://www.sony.com).
+The `sony_projector` switch platform allows you to control the state of SDCP compatible network-connected projectors from [Sony](https://www.sony.com/).
## Configuration
diff --git a/source/_integrations/spaceapi.markdown b/source/_integrations/spaceapi.markdown
index 808e63bc6f4..719919b3952 100644
--- a/source/_integrations/spaceapi.markdown
+++ b/source/_integrations/spaceapi.markdown
@@ -276,7 +276,7 @@ In this section you find some real-life examples of how to use this component.
### Eastermundigen
-A possible configuration entry for [Eastermundigen](http://www.eastermundigen.ch/), a Hackerspace in Switzerland, could look like this.
+A possible configuration entry for [Eastermundigen](https://www.eastermundigen.ch/), a Hackerspace in Switzerland, could look like this.
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/spc.markdown b/source/_integrations/spc.markdown
index ad6599ec8e7..f1caea63da4 100644
--- a/source/_integrations/spc.markdown
+++ b/source/_integrations/spc.markdown
@@ -12,7 +12,7 @@ ha_iot_class: Local Push
Home Assistant has support to integrate your [Vanderbilt SPC](https://www.spcsupportinfo.com/SPCConnectPro/) alarm panel and any connected motion, door and smoke sensors.
-Integration with SPC is done through a third-party API gateway called [SPC Web Gateway](http://www.lundix.se/smarta-losningar/) which must be installed and configured somewhere on your network.
+Integration with SPC is done through a third-party API gateway called [SPC Web Gateway](https://www.lundix.se/smarta-losningar/) which must be installed and configured somewhere on your network.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/speedtestdotnet.markdown b/source/_integrations/speedtestdotnet.markdown
index b6f09865304..5b93f1e17b1 100644
--- a/source/_integrations/speedtestdotnet.markdown
+++ b/source/_integrations/speedtestdotnet.markdown
@@ -11,13 +11,15 @@ ha_iot_class: Cloud Polling
The `speedtestdotnet` integration uses the [Speedtest.net](https://speedtest.net/) web service to measure network bandwidth performance.
-Enabling this integration will automatically create the Speedtest.net Sensors for the monitored conditions (below).
+Enabling this integration will automatically create Speedtest.net sensors for the monitored conditions (below).
By default, a speed test will be run every hour. The user can change the update frequency in the configuration by defining the `scan_interval` for a speed test to run.
+Most Speedtest.net servers require TCP port 8080 outbound to function. Without this port open you may experience significant delays or no results at all. See note on their [help page](https://www.speedtest.net/help).
+
## Configuration
-For the `server_id` check the list of [available servers](https://www.speedtest.net/speedtest-servers.php).
+For the `server_id` check the list of [available servers](http://www.speedtestserver.com).
To add Speedtest.net sensors to your installation, add the following to your `configuration.yaml` file:
@@ -81,11 +83,11 @@ action:
This integration uses [speedtest-cli](https://github.com/sivel/speedtest-cli) to gather network performance data from Speedtest.net.
Please be aware of the potential [inconsistencies](https://github.com/sivel/speedtest-cli#inconsistency) that this integration may display.
-When Home Assistant first starts up, the values of the speed test will show as `Unknown`. You can use the service `speedtestdotnet.speedtest` to run a manual speed test and populate the data or just wait for the next regularly scheduled test. You can turn on manual mode to disable the scheduled speed tests.
+When Home Assistant first starts up, the values of the speed test sensors will show as `Unknown`. You can use the service `speedtestdotnet.speedtest` to run a manual speed test and populate the data or just wait for the next regularly scheduled test. You can turn on manual mode to disable the scheduled speed tests.
## Examples
-In this section, you find some real-life examples of how to use this component.
+In this section you will find some real-life examples of how to use this component.
### Run periodically
@@ -126,8 +128,8 @@ automation:
## Notes
-- When running on Raspberry Pi, just note that the maximum speed is limited by its 100 Mbit/s LAN adapter. The Raspberry Pi 3+ models comes with a Gigabit LAN adapter which supports a [maximum throughput](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/) of 300 Mbit/s.
+- When running on Raspberry Pi the maximum speed is limited by the LAN adapter. The Raspberry Pi 3+ models come with a Gigabit LAN adapter which supports a [maximum throughput](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/) of 300 Mbit/s.
- Running this integration can have negative effects on the system's performance as it requires a fair amount of memory.
-- Entries under `monitored_conditions` only control what entities are available in Home Assistant, it does not disable the condition from running.
-- If ran frequently, this integration has the ability to use a considerable amount of data. Frequent updates should be avoided on bandwidth-capped connections.
-- While running, your network capacity is fully utilized. This may have a negative effect on other devices in use the network such as gaming consoles or streaming boxes.
+- Entries under `monitored_conditions` only control which entities are available in Home Assistant, they do not disable conditions from running.
+- If run frequently, this integration has the ability to use a considerable amount of data. Frequent updates should be avoided on bandwidth-capped connections.
+- While the speedtest is running your network capacity is fully utilized. This may have a negative effect on other devices using the network such as gaming consoles or streaming boxes.
diff --git a/source/_integrations/splunk.markdown b/source/_integrations/splunk.markdown
index 9aa909d2f16..d0718987d72 100644
--- a/source/_integrations/splunk.markdown
+++ b/source/_integrations/splunk.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.13
---
-The `splunk` integration makes it possible to log all state changes to an external [Splunk](http://splunk.com/) database using Splunk's HTTP Event Collector (HEC) feature. You can either use this alone, or with the Home Assistant for Splunk [app](https://github.com/miniconfig/splunk-homeassistant). Since the HEC feature is new to Splunk, you will need to use at least version 6.3.
+The `splunk` integration makes it possible to log all state changes to an external [Splunk](https://splunk.com/) database using Splunk's HTTP Event Collector (HEC) feature. You can either use this alone, or with the Home Assistant for Splunk [app](https://github.com/miniconfig/splunk-homeassistant). Since the HEC feature is new to Splunk, you will need to use at least version 6.3.
## Configuration
diff --git a/source/_integrations/spotcrime.markdown b/source/_integrations/spotcrime.markdown
index dab9f838d3d..0da27a6431d 100644
--- a/source/_integrations/spotcrime.markdown
+++ b/source/_integrations/spotcrime.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Cloud Polling
SpotCrime is no longer handing out API keys to integrate their services.
-The `spotcrime` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Spot Crime](http://spotcrime.com). Your regional emergency services may or may not report data. The sensor defaults to counting incidents within one day, but can be customized via configuration.yaml.
+The `spotcrime` sensor allows one to track reported incidents occurring in a given area. Incidents include anything reported to [Spot Crime](https://www.spotcrime.info). Your regional emergency services may or may not report data. The sensor defaults to counting incidents within one day, but can be customized via configuration.yaml.
## Configuration
diff --git a/source/_integrations/squeezebox.markdown b/source/_integrations/squeezebox.markdown
index 0fc30a12769..c9e81bf4074 100644
--- a/source/_integrations/squeezebox.markdown
+++ b/source/_integrations/squeezebox.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Polling
---
-The `squeezebox` platform allows you to control a [Logitech Squeezebox](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29) music player from Home Assistant. This lets you control Squeezebox hardware like the Classic, Transporter, Duet, Boom, Radio and Touch and of software players like [SoftSqueeze](http://softsqueeze.sourceforge.net/), [SqueezePlayer](https://play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer) and [SqueezeSlave](http://forums.slimdevices.com/showthread.php?93607-ANNOUNCE-Squeezeslave-1-2-released).
+The `squeezebox` platform allows you to control a [Logitech Squeezebox](https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29) music player from Home Assistant. This lets you control Squeezebox hardware like the Classic, Transporter, Duet, Boom, Radio and Touch and of software players like [SoftSqueeze](http://softsqueeze.sourceforge.net/), [SqueezePlayer](https://play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer) and [SqueezeSlave](https://forums.slimdevices.com/showthread.php?93607-ANNOUNCE-Squeezeslave-1-2-released).
To add your Squeezebox player to your installation, add the following to your `configuration.yaml` file:
@@ -63,7 +63,7 @@ transporter_toslink:
Call a custom Squeezebox JSONRPC API.
-See documentation for this interface on http://HOST:PORT/html/docs/cli-api.html?player= where HOST and PORT are the host name and port for your Logitech Media Server.
+See documentation for this interface on `http://HOST:PORT/html/docs/cli-api.html?player=` where HOST and PORT are the host name and port for your Logitech Media Server.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
diff --git a/source/_integrations/ssdp.markdown b/source/_integrations/ssdp.markdown
index 40120087c64..32704541803 100644
--- a/source/_integrations/ssdp.markdown
+++ b/source/_integrations/ssdp.markdown
@@ -12,7 +12,7 @@ Integrations can opt-in to be found by adding [an SSDP section](https://develope
## Configuration
-To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/stride.markdown b/source/_integrations/stride.markdown
deleted file mode 100644
index ef8a6e48397..00000000000
--- a/source/_integrations/stride.markdown
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: "Stride"
-description: "Instructions how to add Stride notifications to Home Assistant."
-logo: stride.png
-ha_category:
- - Notifications
-ha_release: 0.66
----
-
-
-
-Slack has taken over Hipchat and Stride and will, therefore, discontinue these platforms. Stride will be discontinued after February 15th, 2019. For more information [read the announcement](https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership).
-
-
-
-The `stride` platform allows you to send notifications from Home Assistant to [Stride](https://stride.com/).
-
-You need to obtain a [Stride API token](https://developer.atlassian.com/cloud/stride/security/authentication/#using-room-tokens) to be able to send notifications. When creating the token, you'll see a section labeled "Use this conversation URL to post messages" - it will look something like "https://api.atlassian.com/site/55872e9f-047e-a619-b32c-19d37fbc6038/conversation/26c98c26-0ffd-a11e-3a55-1b397cb71fe0/message". The first set of numbers and letters (`55872e9f-047e-a619-b32c-19d37fbc6038`) is the Cloud ID, and the second set (`26c98c26-0ffd-a11e-3a55-1b397cb71fe0`) is the Room ID.
-
-To enable the Stride notification in your installation, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-notify:
- - platform: stride
- cloudid: CLOUD-ID
- token: TOKEN
- room: ROOM-ID
-```
-
-{% configuration %}
-name:
- description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- required: false
- default: notify
- type: string
-cloudid:
- description: The Stride Cloud ID to use for sending Stride notification.
- required: true
- type: string
-token:
- description: The Stride API token to use for sending Stride notifications.
- required: true
- type: string
-room:
- description: The default room to post to if no room is explicitly specified when sending the notification.
- required: true
- type: string
-panel:
- description: Setting panel will override the default panel type (`None`) for the notification. By default not setting this will post to Stride without using a panel type. Valid options are 'None', 'info', 'note', 'tip', 'warning'.
- required: false
- type: string
-{% endconfiguration %}
-
-### Stride service data
-
-The following attributes can be placed `data` for extended functionality.
-
-| Service data attribute | Optional | Description |
-| ---------------------- | -------- | ----------- |
-| `room` | yes | (int) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
-| `panel` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
-
-To use notifications, please see the [getting started with automation page](/getting-started/automation/).
diff --git a/source/_integrations/sun.markdown b/source/_integrations/sun.markdown
index 58011a72b26..2c38f4fe31e 100644
--- a/source/_integrations/sun.markdown
+++ b/source/_integrations/sun.markdown
@@ -17,6 +17,8 @@ below the horizon. The sun can be used within automation as
## Configuration
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
+
```yaml
# Example configuration.yaml entry
sun:
diff --git a/source/_integrations/supla.markdown b/source/_integrations/supla.markdown
index 4cd882893b7..cc2b3c4c330 100644
--- a/source/_integrations/supla.markdown
+++ b/source/_integrations/supla.markdown
@@ -9,7 +9,7 @@ ha_category:
ha_iot_class: Cloud Polling
---
-The [Supla](http://supla.org) is an Open Source home automation system for ESP8266 based devices. It has its own set of protocols, it's own firmware and commercially available devices (produced for example by [Zamel](https://supla.zamel.pl/))
+The [Supla](https://supla.org/) is an Open Source home automation system for ESP8266 based devices. It has its own set of protocols, it's own firmware and commercially available devices (produced for example by [Zamel](https://supla.zamel.pl/))
Currently only covers (shutters in Supla's lingo) and switches are supported, but, thanks to comprehensive and universal REST API, it's pretty easy to add more.
diff --git a/source/_integrations/swiss_hydrological_data.markdown b/source/_integrations/swiss_hydrological_data.markdown
index 799f6aa1db7..801dbaf3d34 100644
--- a/source/_integrations/swiss_hydrological_data.markdown
+++ b/source/_integrations/swiss_hydrological_data.markdown
@@ -57,4 +57,4 @@ Sensors are exposing additional values through their attributes for all availabl
The sensors don't show the latest measurement, but those from the last hour due to the source of data. Some stations also don't provide data for certain measurements.
-The hydrological measurements are coming from the [Swiss Federal Office for the Environment (Bundesamt für Umwelt - Abt. Hydrologie)](http://www.hydrodaten.admin.ch) and are updated every 10 minutes.
+The hydrological measurements are coming from the [Swiss Federal Office for the Environment (Bundesamt für Umwelt - Abt. Hydrologie)](https://www.hydrodaten.admin.ch/) and are updated every 10 minutes.
diff --git a/source/_integrations/swiss_public_transport.markdown b/source/_integrations/swiss_public_transport.markdown
index 4d3f73be3c5..7c07936f410 100644
--- a/source/_integrations/swiss_public_transport.markdown
+++ b/source/_integrations/swiss_public_transport.markdown
@@ -10,9 +10,9 @@ ha_release: pre 0.7
The `swiss_public_transport` sensor will give you the next three departure times from a given location to another one in Switzerland.
-The [Swiss public transport API](http://transport.opendata.ch/) only allows 1000 requests per 24 hours.
+The [Swiss public transport API](https://transport.opendata.ch/) only allows 1000 requests per 24 hours.
-The [Stationboard](http://transport.opendata.ch/examples/stationboard.html) website can help to determine the exact name of the start and the end station.
+The [Stationboard](https://transport.opendata.ch/examples/stationboard.html) website can help to determine the exact name of the start and the end station.
Then add the data to your `configuration.yaml` file as shown in the example:
@@ -40,4 +40,4 @@ name:
default: Next Departure
{% endconfiguration %}
-The public timetables are coming from [Swiss public transport](http://transport.opendata.ch).
+The public timetables are coming from [Swiss public transport](https://transport.opendata.ch/).
diff --git a/source/_integrations/switch.command_line.markdown b/source/_integrations/switch.command_line.markdown
index b01ae34e087..b7b9c2524e5 100644
--- a/source/_integrations/switch.command_line.markdown
+++ b/source/_integrations/switch.command_line.markdown
@@ -80,7 +80,7 @@ In this section you find some real-life examples of how to use this switch.
The example below is doing the same as the
[aREST switch](/integrations/arest#switch).
-The command line tool [`curl`](http://curl.haxx.se/) is used to toggle a pin
+The command line tool [`curl`](https://curl.haxx.se/) is used to toggle a pin
which is controllable through REST.
```yaml
diff --git a/source/_integrations/switch.markdown b/source/_integrations/switch.markdown
index 5e5ace9ec26..bfddce7d1d4 100644
--- a/source/_integrations/switch.markdown
+++ b/source/_integrations/switch.markdown
@@ -1,5 +1,5 @@
---
-title: "Switches"
+title: "Switch"
description: "Instructions on how to set up your switches with Home Assistant."
logo: home-assistant.png
ha_category:
@@ -23,4 +23,4 @@ In the frontend open the sidebar. At the bottom, under **Developer Tools**, clic
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
-| `entity_id` | yes | Only act on a specific switch. Otherwise, it targets all switches.
+| `entity_id` | no | The entity ID of the switch to control. To target all switches, set the entity ID to `all`|
diff --git a/source/_integrations/switch.mysensors.markdown b/source/_integrations/switch.mysensors.markdown
index 7f212f5d937..03acee61f65 100644
--- a/source/_integrations/switch.mysensors.markdown
+++ b/source/_integrations/switch.mysensors.markdown
@@ -88,10 +88,10 @@ automation:
```cpp
/*
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
- * http://www.mysensors.org/build/relay
+ * https://www.mysensors.org/build/relay
*/
#include
@@ -134,10 +134,10 @@ void incomingMessage(const MyMessage &message)
```cpp
/*
- * Documentation: http://www.mysensors.org
- * Support Forum: http://forum.mysensors.org
+ * Documentation: https://www.mysensors.org
+ * Support Forum: https://forum.mysensors.org
*
- * http://www.mysensors.org/build/ir
+ * https://www.mysensors.org/build/ir
*/
#include
@@ -203,4 +203,4 @@ void incomingMessage(const MyMessage &message) {
```
[main component]: /integrations/mysensors/
-[serial api]: http://www.mysensors.org/download
+[serial api]: https://www.mysensors.org/download
diff --git a/source/_integrations/switch.template.markdown b/source/_integrations/switch.template.markdown
index d98e57f85eb..050b3f2b16a 100644
--- a/source/_integrations/switch.template.markdown
+++ b/source/_integrations/switch.template.markdown
@@ -20,6 +20,7 @@ This can simplify the GUI and make it easier to write automations. You can mark
To enable Template Switches in your installation, add the following to your `configuration.yaml` file:
{% raw %}
+
```yaml
# Example configuration.yaml entry
switch:
@@ -36,6 +37,7 @@ switch:
data:
entity_id: switch.skylight_close
```
+
{% endraw %}
{% configuration %}
@@ -56,6 +58,11 @@ switch:
description: Defines a template to set the state of the switch.
required: true
type: template
+ availability_template:
+ description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
+ required: false
+ type: template
+ default: true
turn_on:
description: Defines an action to run when the switch is turned on.
required: true
@@ -87,6 +94,7 @@ In this section you find some real-life examples of how to use this switch.
This example shows a switch that copies another switch.
{% raw %}
+
```yaml
switch:
- platform: template
@@ -102,6 +110,7 @@ switch:
data:
entity_id: switch.source
```
+
{% endraw %}
### Toggle Switch
@@ -109,6 +118,7 @@ switch:
This example shows a switch that takes its state from a sensor and toggles a switch.
{% raw %}
+
```yaml
switch:
- platform: template
@@ -125,6 +135,7 @@ switch:
data:
entity_id: switch.blind_toggle
```
+
{% endraw %}
### Sensor and Two Switches
@@ -133,6 +144,7 @@ This example shows a switch that takes its state from a sensor, and uses two
momentary switches to control a device.
{% raw %}
+
```yaml
switch:
- platform: template
@@ -149,6 +161,7 @@ switch:
data:
entity_id: switch.skylight_close
```
+
{% endraw %}
### Change The Icon
@@ -156,6 +169,7 @@ switch:
This example shows how to change the icon based on the day/night cycle.
{% raw %}
+
```yaml
switch:
- platform: template
@@ -177,6 +191,7 @@ switch:
mdi:garage
{% endif %}
```
+
{% endraw %}
### Change The Entity Picture
@@ -184,6 +199,7 @@ switch:
This example shows how to change the entity picture based on the day/night cycle.
{% raw %}
+
```yaml
switch:
- platform: template
@@ -205,4 +221,5 @@ switch:
/local/garage-closed.png
{% endif %}
```
+
{% endraw %}
diff --git a/source/_integrations/switch.xiaomi_aqara.markdown b/source/_integrations/switch.xiaomi_aqara.markdown
index 98e9602334d..f6016df9043 100644
--- a/source/_integrations/switch.xiaomi_aqara.markdown
+++ b/source/_integrations/switch.xiaomi_aqara.markdown
@@ -8,6 +8,6 @@ ha_release: "0.50"
ha_iot_class: Local Push
---
-The `xiaomi_aqara` switch platform allows you to get data from your [Xiaomi aqara](http://www.mi.com/en/) switches.
+The `xiaomi_aqara` switch platform allows you to get data from your [Xiaomi aqara](https://www.mi.com/en/) switches.
The requirement is that you have set up [Xiaomi aqara](/integrations/xiaomi_aqara/).
diff --git a/source/_integrations/switch.xiaomi_miio.markdown b/source/_integrations/switch.xiaomi_miio.markdown
index 89bea373127..17049dc3faf 100644
--- a/source/_integrations/switch.xiaomi_miio.markdown
+++ b/source/_integrations/switch.xiaomi_miio.markdown
@@ -94,7 +94,7 @@ Turn the wifi led on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miio switch entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. |
### Service `switch.xiaomi_miio_set_wifi_led_off` (Power Strip only)
@@ -102,7 +102,7 @@ Turn the wifi led off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miio switch entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. |
### Service `switch.xiaomi_miio_set_power_price` (Power Strip)
@@ -110,7 +110,7 @@ Set the power price.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miio switch entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. |
| `price` | no | Power price, between 0 and 999. |
### Service `switch.xiaomi_miio_set_power_mode` (Power Strip V1 only)
@@ -119,5 +119,5 @@ Set the power mode.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific Xiaomi miio switch entity. Else targets all. |
+| `entity_id` | no | Only act on a specific Xiaomi miIO switch entity. |
| `mode` | no | Power mode, valid values are 'normal' and 'green' |
diff --git a/source/_integrations/syslog.markdown b/source/_integrations/syslog.markdown
index ae22bfe656d..e61b3a9dc60 100644
--- a/source/_integrations/syslog.markdown
+++ b/source/_integrations/syslog.markdown
@@ -25,7 +25,7 @@ name:
default: notify
type: string
facility:
- description: Facility according to RFC 3164 (http://tools.ietf.org/html/rfc3164). Check the table below for entries.
+ description: Facility according to RFC 3164 (https://tools.ietf.org/html/rfc3164). Check the table below for entries.
required: false
default: syslog
type: string
@@ -64,6 +64,6 @@ The table contains values to use in your `configuration.yaml` file.
| local6 | | |
| local7 | | |
-For details about facility, option, and priority please consult the [wikipedia article](http://en.wikipedia.org/wiki/Syslog) and [RFC 3164](http://tools.ietf.org/html/rfc3164).
+For details about facility, option, and priority please consult the [wikipedia article](https://en.wikipedia.org/wiki/Syslog) and [RFC 3164](https://tools.ietf.org/html/rfc3164).
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
diff --git a/source/_integrations/system_health.markdown b/source/_integrations/system_health.markdown
index 6535adc1a57..08944ce9c45 100644
--- a/source/_integrations/system_health.markdown
+++ b/source/_integrations/system_health.markdown
@@ -10,9 +10,10 @@ ha_release: 0.87
The System Health integration provides an API to offer information on the system and its components. It also allows to run diagnostic tools to diagnose problems.
-System health is included as part of the [default config](https://www.home-assistant.io/integrations/default_config/) starting with Home Assistant 0.88. If you do not wish to use the default config, you can add the following to your configuration.yaml file.
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
+# Example configuration.yaml entry
system_health:
```
diff --git a/source/_integrations/system_log.markdown b/source/_integrations/system_log.markdown
index b1a14f1d906..3f8fa87f588 100644
--- a/source/_integrations/system_log.markdown
+++ b/source/_integrations/system_log.markdown
@@ -53,7 +53,7 @@ Write a log entry
Errors and warnings are posted as the event `system_log_event`, so it is possible to write automations that trigger whenever a warning or error occurs. The following information is included in each event:
| Field | Description |
-|-------------------------------------------------------------------------------------------|
+|-------------|-----------------------------------------------------------------------------|
| `level` | Either `WARNING` or `ERROR` depending on severity. |
| `source` | File that triggered the error, e.g., `core.py` or `media_player/yamaha.py`. |
| `exception` | Full stack trace if available, an empty string otherwise. |
diff --git a/source/_integrations/tapsaff.markdown b/source/_integrations/tapsaff.markdown
index 2f3cc74b4f6..83034e963bc 100644
--- a/source/_integrations/tapsaff.markdown
+++ b/source/_integrations/tapsaff.markdown
@@ -8,7 +8,7 @@ ha_release: 0.47
ha_iot_class: Local Polling
---
-The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](http://www.taps-aff.co.uk).
+The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](https://www.taps-aff.co.uk/).
## Configuration
diff --git a/source/_integrations/ted5000.markdown b/source/_integrations/ted5000.markdown
index c700a1504ee..7376fd08b85 100644
--- a/source/_integrations/ted5000.markdown
+++ b/source/_integrations/ted5000.markdown
@@ -8,7 +8,7 @@ ha_release: "0.30"
ha_iot_class: Local Polling
---
-The `ted 5000` monitors electricity consumption/production by connecting to the [TED](http://www.theenergydetective.com/home) gateway, itself connected to one or several Measuring Transmitting Units (MTU). The platform creates up to two sensors per MTU, one for Wattage the other for Voltage.
+The `ted 5000` monitors electricity consumption/production by connecting to the [TED](https://www.theenergydetective.com/home) gateway, itself connected to one or several Measuring Transmitting Units (MTU). The platform creates up to two sensors per MTU, one for Wattage the other for Voltage.
If you want to enable the ted5000 sensor, add the following lines to your `configuration.yaml`:
diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown
index 7fd7ec795df..d1e32de06e8 100644
--- a/source/_integrations/telegram.markdown
+++ b/source/_integrations/telegram.markdown
@@ -15,10 +15,10 @@ The `telegram` platform uses [Telegram](https://web.telegram.org) to deliver not
The requirements are:
- You need a [Telegram bot](https://core.telegram.org/bots). Please follow those [instructions](https://core.telegram.org/bots#6-botfather) to create one and get the token for your bot. Keep in mind that bots are not allowed to contact users. You need to make the first contact with your user. Meaning that you need to send a message to the bot from your user.
-- You need to configure a [Telegram bot in Home Assistant](/integrations/telegram_bot) and define there your API key and the allowed chat ids to interact with.
+- You need to configure a [Telegram bot in Home Assistant](/integrations/telegram_chatbot) and define there your API key and the allowed chat ids to interact with.
- The `chat_id` of an allowed user.
-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` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token.
+The quickest way to retrieve your `chat_id` is visiting `https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates` **after** you have sent the bot a message. Replace `YOUR_API_TOKEN` with your actual token.
The result set will include your chat ID as `id` in the `chat` section:
diff --git a/source/_integrations/broadcast.markdown b/source/_integrations/telegram_broadcast.markdown
similarity index 100%
rename from source/_integrations/broadcast.markdown
rename to source/_integrations/telegram_broadcast.markdown
diff --git a/source/_integrations/telegram_bot.markdown b/source/_integrations/telegram_chatbot.markdown
similarity index 99%
rename from source/_integrations/telegram_bot.markdown
rename to source/_integrations/telegram_chatbot.markdown
index acd69e31b5b..eb91c44efeb 100644
--- a/source/_integrations/telegram_bot.markdown
+++ b/source/_integrations/telegram_chatbot.markdown
@@ -10,9 +10,9 @@ ha_iot_class: Cloud Push
Use Telegram on your mobile or desktop device to send and receive messages or commands to/from your Home Assistant.
-This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/integrations/polling) method or with the [webhooks](/integrations/webhooks) one, and trigger events when receiving messages.
+This integration creates notification services to send, or edit previously sent, messages from a [Telegram Bot account](https://core.telegram.org/bots) configured either with the [polling](/integrations/telegram_polling) method or with the [webhooks](/integrations/telegram_webhooks) one, and trigger events when receiving messages.
-If you don't need to receive messages, you can use the [broadcast](/integrations/broadcast) platform instead.
+If you don't need to receive messages, you can use the [broadcast](/integrations/telegram_broadcast) platform instead.
## Notification services
diff --git a/source/_integrations/polling.markdown b/source/_integrations/telegram_polling.markdown
similarity index 100%
rename from source/_integrations/polling.markdown
rename to source/_integrations/telegram_polling.markdown
diff --git a/source/_integrations/webhooks.markdown b/source/_integrations/telegram_webhooks.markdown
similarity index 100%
rename from source/_integrations/webhooks.markdown
rename to source/_integrations/telegram_webhooks.markdown
diff --git a/source/_integrations/thinkingcleaner.markdown b/source/_integrations/thinkingcleaner.markdown
index 52bb0ec4dec..41a850b5697 100644
--- a/source/_integrations/thinkingcleaner.markdown
+++ b/source/_integrations/thinkingcleaner.markdown
@@ -16,7 +16,7 @@ There is currently support for the following device types within Home Assistant:
## Sensor
-The `thinkingcleaner` sensor platform simple displays information about your [Thinking Cleaner](http://www.thinkingcleaner.com) add-on.
+The `thinkingcleaner` sensor platform simple displays information about your [Thinking Cleaner](https://www.thinkingcleaner.com/) add-on.
To enable this sensor in your installation, add the following to your `configuration.yaml` file:
@@ -30,7 +30,7 @@ This will automatically add sensors for each Thinking Cleaner in your network.
## switch
-The `thinkingcleaner` switch platform allows you to control your [Thinking Cleaner](http://www.thinkingcleaner.com) add-on.
+The `thinkingcleaner` switch platform allows you to control your [Thinking Cleaner](https://www.thinkingcleaner.com/) add-on.
To enable this switch in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/thomson.markdown b/source/_integrations/thomson.markdown
index 2de9bbbaea3..9f809e8e5fb 100644
--- a/source/_integrations/thomson.markdown
+++ b/source/_integrations/thomson.markdown
@@ -10,7 +10,7 @@ ha_release: 0.7
Thomson produced networking equipment (under the brand name SpeedTouch) till 2010 and was then renamed to Technicolor.
-This platform allows you to detect presence by looking at connected devices to a [Thomson](http://www.technicolor.com) device.
+This platform allows you to detect presence by looking at connected devices to a [Thomson](https://www.technicolor.com/) device.
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/tikteck.markdown b/source/_integrations/tikteck.markdown
index 5249dc15171..b92b1927bb9 100644
--- a/source/_integrations/tikteck.markdown
+++ b/source/_integrations/tikteck.markdown
@@ -8,7 +8,7 @@ logo: tikteck.png
ha_release: 0.36
---
-Support for the Bluetooth smart bulb from [Tikteck](http://www.tikteck.com). To enable these lights, add the following lines to your `configuration.yaml` file:
+Support for the Bluetooth smart bulb from [Tikteck](https://www.tikteck.com/). To enable these lights, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/time_date.markdown b/source/_integrations/time_date.markdown
index c8d24539e9c..31563206955 100644
--- a/source/_integrations/time_date.markdown
+++ b/source/_integrations/time_date.markdown
@@ -27,7 +27,7 @@ sensor:
- 'beat'
```
-- **display_options** array (*Required*): The option to display. The types *date_time*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](http://www.swatch.com/en_us/internet-time).
+- **display_options** array (*Required*): The option to display. The types *date_time*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](https://www.swatch.com/en_us/internet-time).
diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown
index c0f8229784c..7c82331fc4d 100644
--- a/source/_integrations/todoist.markdown
+++ b/source/_integrations/todoist.markdown
@@ -89,7 +89,7 @@ As you can see, there are 4 custom projects here:
You can mix-and-match these attributes to create all sorts of custom projects. You can even use [IFTTT](https://ifttt.com/todoist) to create a task with a certain label, then have Home Assistant do some kind of automation when a task with that label comes due.
-Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/integrations/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below).
+Home Assistant does its best to [determine what task in each project is "most" important](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/todoist/calendar.py), and it's that task which has its state reported. You can access the other tasks you have due soon via the `all_tasks` array (see below).
### Sensor attributes
@@ -156,7 +156,7 @@ Here are two example JSON payloads resulting in the same task:
- **due_date_string** (*Optional*): When the task should be due, in [natural language](https://support.todoist.com/hc/en-us/articles/205325931-Dates-and-Times). Mutually exclusive with `due_date`
-- **due_date_lang** (*Optional*): When `due_date_string` is set, it is posisble to set the language.
+- **due_date_lang** (*Optional*): When `due_date_string` is set, it is possible to set the language.
Valid languages are: `en`, `da`, `pl`, `zh`, `ko`, `de`, `pt`, `ja`, `it`, `fr`, `sv`, `ru`, `es`, `nl`
- **due_date** (*Optional*): When the task should be due, in either YYYY-MM-DD format or YYYY-MM-DD HH:MM format. Mutually exclusive with `due_date_string`.
diff --git a/source/_integrations/tomato.markdown b/source/_integrations/tomato.markdown
index 06f62d6c4d2..8bea2170380 100644
--- a/source/_integrations/tomato.markdown
+++ b/source/_integrations/tomato.markdown
@@ -66,7 +66,7 @@ See the [device tracker integration page](/integrations/device_tracker/) for
instructions how to configure the people to be tracked.
A description of the API s available in this
-[Tomato API](http://paulusschoutsen.nl/blog/2013/10/tomato-api-documentation/)
+[Tomato API](https://paulusschoutsen.nl/blog/2013/10/tomato-api-documentation/)
blog post.
SSL Certificate:
diff --git a/source/_integrations/torque.markdown b/source/_integrations/torque.markdown
index d803e2c6283..b4403d7f0e9 100644
--- a/source/_integrations/torque.markdown
+++ b/source/_integrations/torque.markdown
@@ -8,7 +8,7 @@ ha_release: "0.10"
ha_iot_class: Cloud Polling
---
-The `torque` platform will allow you to monitor [Torque](http://torque-bhp.com/) data relayed from a Bluetooth OBD2 stick via the Torque mobile application.
+The `torque` platform will allow you to monitor [Torque](https://torque-bhp.com/) data relayed from a Bluetooth OBD2 stick via the Torque mobile application.
## Setup
diff --git a/source/_integrations/touchline.markdown b/source/_integrations/touchline.markdown
index 2a074b9b795..714f000c78a 100644
--- a/source/_integrations/touchline.markdown
+++ b/source/_integrations/touchline.markdown
@@ -21,7 +21,7 @@ climate:
{% configuration %}
host:
- description: The IP address of your controller, e.g., http://192.168.1.1.
+ description: The IP address of your controller, e.g., `http://192.168.1.1`.
required: false
type: string
{% endconfiguration %}
diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown
index 1348c36adf8..3332b859ee2 100644
--- a/source/_integrations/tplink.markdown
+++ b/source/_integrations/tplink.markdown
@@ -6,7 +6,6 @@ ha_category:
- Hub
- Switch
- Light
- - Presence Detection
ha_release: 0.89
ha_iot_class: Local Polling
---
@@ -17,7 +16,6 @@ There is currently support for the following device types within Home Assistant:
- **Light**
- **Switch**
-- [Presence Detection](#presence-detection)
In order to activate the support, you will have to enable the integration inside the config panel.
The supported devices in your network are automatically discovered, but if you want to control devices residing in other networks you will need to configure them manually as shown below.
@@ -34,6 +32,12 @@ The following devices are known to work with this component.
- HS105
- HS110
+### Multi-Plug Strips
+
+- HS107 (indoor 2-outlet)
+- HS300 (powerstrip 6-outlet)
+- KP400 (outdoot 2-outlet)
+
### Wall Switches
- HS200
@@ -73,6 +77,15 @@ light:
description: Hostname or IP address of the device.
required: true
type: string
+strip:
+ description: List of multi-outlet on/off switch devices.
+ required: false
+ type: list
+ keys:
+ host:
+ description: Hostname or IP address of the device.
+ required: true
+ type: string
switch:
description: List of on/off switch devices.
required: false
@@ -108,6 +121,9 @@ tplink:
dimmer:
- host: 192.168.200.5
- host: 192.168.200.6
+ strip:
+ - host: 192.168.200.7
+ - host: 192.168.200.8
```
## Extracting Energy Sensor data
@@ -142,59 +158,3 @@ sensor:
unit_of_measurement: 'kWh'
```
{% endraw %}
-
-## Presence detection
-
-The `tplink` platform allows you to detect presence by looking at connected devices to a [TP-Link](https://www.tp-link.com) router.
-
-Currently supported devices includes the following:
-
-- Archer C7 firmware version 150427
-- Archer C9 firmware version 150811
-- EAP-225 AP with latest firmware version
-- Archer D9 firmware version 0.9.1 0.1 v0041.0 Build 160224 Rel.59129n
-
-
-TP-Link devices typically only allow one login at a time to the admin console. This integration will count towards your one allowed login. Depending on how aggressively you configure device_tracker you may not be able to access the admin console of your TP-Link device without first stopping Home Assistant. Home Assistant takes a few seconds to login, collect data, and log out. If you log into the admin console manually, remember to log out so that Home Assistant can log in again.
-
-
-### Configuration
-
-To enable this device tracker, add the following lines to your `configuration.yaml`:
-
-```yaml
-# Example configuration.yaml entry
-device_tracker:
- - platform: tplink
- host: YOUR_ROUTER_IP
- username: YOUR_ADMIN_USERNAME
- password: YOUR_ADMIN_PASSWORD
-```
-
-{% configuration %}
-host:
- description: The IP address of your router, e.g., 192.168.1.1.
- required: true
- type: string
-username:
- description: The username of an user with administrative privileges, usually *admin*. The Archer D9 last firmware does not require a username.
- required: true
- type: string
-password:
- description: The password for your given admin account.
- required: true
- type: string
-{% endconfiguration %}
-
-For Archer C9 models running firmware version 150811 or later please use the encrypted password you can retrieve like this:
-
-1. Go to the login page of your router. (default: 192.168.0.1)
-2. Type in the password you use to login into the password field.
-3. Click somewhere else on the page so that the password field is not selected anymore.
-4. Open the JavaScript console of your browser (usually by pressing F12 and then clicking on "Console").
-5. Type `document.getElementById("login-password").value;` or `document.getElementById("pcPassword").value;`, depending on your firmware version.
-6. Copy the returned value to your Home Assistant configuration as password.
-
-See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
-
-For Archer D9 model the default ip is 192.168.1.1, the username is not necessary and you can leave that field blank.
\ No newline at end of file
diff --git a/source/_integrations/tradfri.markdown b/source/_integrations/tradfri.markdown
index d3f682afe69..4a43f7baa50 100644
--- a/source/_integrations/tradfri.markdown
+++ b/source/_integrations/tradfri.markdown
@@ -1,6 +1,6 @@
---
title: "IKEA Trådfri (Tradfri)"
-description: "Access and control your IKEA Trådfri Gateway (a.k.a. IKEA Tradfri hub/bridge) and via it its connected Zigbee-based devices."
+description: "Access and control your IKEA Trådfri Gateway and its connected Zigbee-based devices."
featured: true
logo: ikea.svg
ha_iot_class: Local Polling
@@ -13,12 +13,12 @@ ha_category:
- Switch
---
-The `tradfri` integration support the IKEA Trådfri Gateway (a.k.a. IKEA Tradfri hub/bridge). The gateway can control compatible Zigbee-based lights (certified ZigBee Light Link products) connected to it and Home Assistant will automatically discover the gateways presence on your local network, if `discovery:` is present in your `configuration.yaml` file.
+The `tradfri` integration allows you to connect your IKEA Trådfri Gateway to Home Assistant. The gateway can control compatible Zigbee-based lights (certified ZigBee Light Link products) connected to it. Home Assistant will automatically discover the gateway's presence on your local network if `discovery:` is present in your `configuration.yaml` file.
-You will be prompted to configure the gateway through the Home Assistant interface. The configuration process is very simple, when prompted, enter the security key printed on the physical sticker that is on the bottom of the IKEA Trådfri Gateway, then click configure.
+You will be prompted to configure the gateway through the Home Assistant interface. The configuration process is very simple: when prompted, enter the security key printed on the sticker on the bottom of the IKEA Trådfri Gateway, then click *configure*.
-If you see an "Unable to connect" message, restart the gateway and try again. Don't forget to assign a permanent IP address to your IKEA Trådfri Gateway in your router / DHCP-server.
+If you see an "Unable to connect" message, restart the gateway and try again. Don't forget to assign a permanent IP address to your IKEA Trådfri Gateway on your router or DHCP server.
## Configuration
@@ -47,11 +47,11 @@ allow_tradfri_groups:
### Firmware updates
-After updating the firmware of your IKEA Trådfri Gateway it might be necessary to repeat the configuration process. Possible errors: `Fatal DTLS error: code 115`. If you encounter problems:
-- when configured using the integration: remove the integration through Settings > Integrations > Tradfri > delete using trash can icon;
-- with manual configuration: delete the `.tradfri_psk.conf` file in your `.homeassistant` directory;
+After updating your IKEA Trådfri Gateway firmware it might be necessary to repeat the configuration process. One error you might experience after a firmware update is `Fatal DTLS error: code 115`. If you encounter problems:
+- when configured using the integration: remove the integration through Settings > Integrations > Tradfri > delete (trash can icon)
+- with manual configuration: delete the `.tradfri_psk.conf` file in your `/.homeassistant` directory (`/config` directory if using Hass.io or Docker)
-Then restart Home Assistant, when prompted enter the security key and click configure, just like during initial setup.
+Then restart Home Assistant. When prompted, enter the security key and click *configure*, just like during initial setup.
### Compilation issues
@@ -59,7 +59,7 @@ Then restart Home Assistant, when prompted enter the security key and click conf
This does not apply to Hass.io or Docker.
-Please make sure you have `autoconf` installed (`$ sudo apt-get install autoconf`) if you want to use this component. Also, installing some dependencies might take considerable time (>1 h) on slow devices.
+Please make sure you have `autoconf` installed (`$ sudo apt-get install autoconf`) if you want to use this component. Also, installing some dependencies might take considerable time (more than one hour) on slow devices.
### Setting the `api_key`
diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown
index 067bfafb791..c4e1f554849 100644
--- a/source/_integrations/transmission.markdown
+++ b/source/_integrations/transmission.markdown
@@ -10,7 +10,7 @@ ha_release: 0.87
ha_iot_class: Local Polling
---
-The `transmission` integration allows you to monitor your downloads with [Transmission](http://www.transmissionbt.com/) from within Home Assistant and setup automation based on the information.
+The `transmission` integration allows you to monitor your downloads with [Transmission](https://www.transmissionbt.com/) from within Home Assistant and setup automation based on the information.
## Setup
@@ -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/_integrations/twilio_sms.markdown b/source/_integrations/twilio_sms.markdown
index 04b774b4c40..94b4b59edd8 100644
--- a/source/_integrations/twilio_sms.markdown
+++ b/source/_integrations/twilio_sms.markdown
@@ -23,7 +23,7 @@ notify:
{% configuration %}
from_number:
- description: An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. Alternatively, a sender ID can be used instead of a phone number. The sender ID must be formatted according to Twilio's guidelines. See [Twilio's guide to sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Getting-started-with-Alphanumeric-Sender-ID) for more information.
+ description: An [E.164](https://en.wikipedia.org/wiki/E.164) formatted phone number, like +14151234567. See [Twilio's guide to formatting phone numbers](https://www.twilio.com/help/faq/phone-numbers/how-do-i-format-phone-numbers-to-work-internationally) for more information. Alternatively, a sender ID can be used instead of a phone number. The sender ID must be formatted according to Twilio's guidelines. See [Twilio's guide to sender ID](https://support.twilio.com/hc/en-us/articles/223181348-Getting-started-with-Alphanumeric-Sender-ID) for more information. Do keep in mind that not all countries support sender ID. See [Twilio's page of supported countries](https://support.twilio.com/hc/en-us/articles/223133767-International-support-for-Alphanumeric-Sender-ID) for more information.
required: true
type: string
name:
@@ -35,7 +35,7 @@ name:
### Usage
-Twilio is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers.
+Twilio is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers. It's also possible to use `whatsapp:+123456789` for sending notifications to a Whatsapp user.
Media can be included with messages by setting the optional `media_url` variable. Only `.gif`, `.png`, or `.jpeg` content are supported, according to the Twilio documentation and this feature is [only supported in the US and Canada.][mms]
diff --git a/source/_integrations/twitch.markdown b/source/_integrations/twitch.markdown
index 2663cb79f81..af97ab66266 100644
--- a/source/_integrations/twitch.markdown
+++ b/source/_integrations/twitch.markdown
@@ -8,7 +8,7 @@ ha_release: "0.10"
ha_iot_class: Cloud Polling
---
-The `twitch` platform will allow you to monitor [Twitch](http://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information.
+The `twitch` platform will allow you to monitor [Twitch](https://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information.
## Setup
diff --git a/source/_integrations/ubee.markdown b/source/_integrations/ubee.markdown
index 18bcc86353c..fa0ad03bd25 100644
--- a/source/_integrations/ubee.markdown
+++ b/source/_integrations/ubee.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.89
---
-This platform offers presence detection by looking at connected devices to a [Ubee Router](http://www.ubeeinteractive.com/).
+This platform offers presence detection by looking at connected devices to a [Ubee Router](https://www.ubeeinteractive.com/).
To use a Ubee router in your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/ubus.markdown b/source/_integrations/ubus.markdown
index 320ba0e6850..e2ced94e075 100644
--- a/source/_integrations/ubus.markdown
+++ b/source/_integrations/ubus.markdown
@@ -9,7 +9,7 @@ ha_release: 0.7.6
_This is one of multiple ways we support OpenWRT. For an overview, see [openwrt](/integrations/openwrt)._
-This is a presence detection scanner for [OpenWRT](https://openwrt.org/) using [ubus](http://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router.
+This is a presence detection scanner for [OpenWRT](https://openwrt.org/) using [ubus](https://wiki.openwrt.org/doc/techref/ubus). It scans for changes in `hostapd.*`, which will detect and report changes in devices connected to the access point on the router.
Before this scanner can be used you have to install the ubus RPC package on OpenWRT:
diff --git a/source/_integrations/uk_transport.markdown b/source/_integrations/uk_transport.markdown
index efa202ce89f..3c2d68650ec 100644
--- a/source/_integrations/uk_transport.markdown
+++ b/source/_integrations/uk_transport.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Cloud Polling
ha_release: "0.50"
---
-The `uk_transport` sensor will display the time in minutes until the next departure in a specified direction from of a configured train station or bus stop. The sensor uses [transportAPI](http://www.transportapi.com/) to query live departure data and requires a developer application ID and key which can be obtained [here](https://developer.transportapi.com/). The [free tier](http://www.transportapi.com/plans/) allows 1000 requests daily, which is sufficient for a single sensor refreshing every 87 seconds.
+The `uk_transport` sensor will display the time in minutes until the next departure in a specified direction from of a configured train station or bus stop. The sensor uses [transportAPI](https://www.transportapi.com/) to query live departure data and requires a developer application ID and key which can be obtained [here](https://developer.transportapi.com/). The [free tier](https://www.transportapi.com/plans/) allows 1000 requests daily, which is sufficient for a single sensor refreshing every 87 seconds.
@@ -18,7 +18,7 @@ Additional sensors can be added but at the expense of a reduced refresh rate. 2
Queries are entered as a list, with the two transport modes available being `bus` and `train`.
-Train departure sensors require three character long `origin` and `destination` station codes which are searchable on the [National Rail enquiries](http://www.nationalrail.co.uk/times_fares/ldb.aspx) website (e.g., `WAT` is London Waterloo). The validity of a route can be checked by performing a GET request to `/uk/train/station/{station_code}/live.json` in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml##request_uk_train_station_station_code_live_json).
+Train departure sensors require three character long `origin` and `destination` station codes which are searchable on the [National Rail enquiries](https://www.nationalrail.co.uk/times_fares/ldb.aspx) website (e.g., `WAT` is London Waterloo). The validity of a route can be checked by performing a GET request to `/uk/train/station/{station_code}/live.json` in the [API reference webpage](https://developer.transportapi.com/docs?raml=https://transportapi.com/v3/raml/transportapi.raml#request_uk_train_station_station_code_live_json).
To add a single train departure sensor add the following to your `configuration.yaml` file:
@@ -102,7 +102,7 @@ Attributes can be accessed using the [template sensor](/integrations/template) a
Bus sensors require as their `origin` a bus stop ATCO code which can be found by browsing OpenStreetMap data as
follows:
-1. On [OpenStreetMap.org](http://www.openstreetmap.org/) zoom right in on a bus stop you're interested in.
+1. On [OpenStreetMap.org](https://www.openstreetmap.org/) zoom right in on a bus stop you're interested in.
2. Click the layers picker button on the right hand side.
3. Tick the 'map data' layer, and wait for clickable objects to load.
4. Click the bus stop node to reveal its tags on the left.
@@ -148,4 +148,4 @@ And the template sensor for viewing the next bus attributes.
If you wish to manage the rate of API requests (e.g., to disable requests when you aren't interested in travel, so that you can request updates more frequently when you do travel) set a really long `scan_interval` in the config options, and use the service `homeassistant.update_entity` to request the update of an entity, rather than waiting for the next scheduled update.
-Powered by [transportAPI](http://www.transportapi.com/)
+Powered by [transportAPI](https://www.transportapi.com/)
diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown
index 7082fbce7d4..78126ea1664 100644
--- a/source/_integrations/unifi.markdown
+++ b/source/_integrations/unifi.markdown
@@ -94,7 +94,7 @@ It is recommended that you run the Unifi controller in a dedicated virtual machi
## Presence detection
-This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](http://ubnt.com/) [UniFi](https://www.ubnt.com/enterprise/#unifi) controller.
+This platform allows you to detect presence by looking at devices connected to a [Ubiquiti](https://ubnt.com/) [UniFi](https://www.ubnt.com/enterprise/#unifi) controller.
### Troubleshooting and Time Synchronization
diff --git a/source/_integrations/updater.markdown b/source/_integrations/updater.markdown
index 96204e76d93..550422bab05 100644
--- a/source/_integrations/updater.markdown
+++ b/source/_integrations/updater.markdown
@@ -10,11 +10,17 @@ ha_release: 0.8
The `updater` binary sensor will check daily for new releases. The state will be "on" when an update is available. Otherwise, the state will be "off". The newer version, as well as the link to the release notes, are attributes of the updater. As [Hass.io](/hassio/) has its own schedule for release it doesn't make sense to use this binary sensor on Hass.io.
-The updater integration will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/integrations/updater).
+The updater integration will also collect basic information about the running Home Assistant instance and its environment. The information includes the current Home Assistant version, the time zone, Python version and operating system information. No identifiable information (i.e., IP address, GPS coordinates, etc.) will ever be collected. If you are concerned about your privacy, you are welcome to scrutinize the Python [source code](https://github.com/home-assistant/home-assistant/tree/dev/homeassistant/components/updater).
+
+
+
+The `updater` binary sensor will wait one hour after startup until it performs the first update. For this period it will be in the state `unavailable`. After that it will check once a day for new releases.
+
+
## Configuration
-To integrate this into Home Assistant, add the following section to your `configuration.yaml` file:
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, the following example shows you how to enable this integration manually:
```yaml
updater:
diff --git a/source/_integrations/vacuum.xiaomi_miio.markdown b/source/_integrations/vacuum.xiaomi_miio.markdown
index cf31fab2000..61eb90f249b 100644
--- a/source/_integrations/vacuum.xiaomi_miio.markdown
+++ b/source/_integrations/vacuum.xiaomi_miio.markdown
@@ -68,7 +68,7 @@ Start the remote control mode of the robot. You can then move it with `remote_co
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------|
-| `entity_id` | yes | Only act on a specific robot; default targets all |
+| `entity_id` | no | Only act on a specific robot |
### Service `vacuum.xiaomi_remote_control_stop`
@@ -76,7 +76,7 @@ Exit the remote control mode of the robot.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------|
-| `entity_id` | yes | Only act on a specific robot; default targets all |
+| `entity_id` | no | Only act on a specific robot |
### Service `vacuum.xiaomi_remote_control_move`
@@ -84,7 +84,7 @@ Remote control the robot. Please ensure you first set it in remote control mode
| Service data attribute | Optional | Description |
|---------------------------|----------|-----------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific robot; default targets all |
+| `entity_id` | no | Only act on a specific robot |
| `velocity` | no | Speed: between -0.29 and 0.29 |
| `rotation` | no | Rotation: between -179 degrees and 179 degrees |
| `duration` | no | The number of milliseconds that the robot should move for |
@@ -95,7 +95,7 @@ Enter remote control mode, make one move, stop, and exit remote control mode.
| Service data attribute | Optional | Description |
|---------------------------|----------|-----------------------------------------------------------|
-| `entity_id` | yes | Only act on a specific robot; default targets all |
+| `entity_id` | no | Only act on a specific robot |
| `velocity` | no | Speed: between -0.29 and 0.29 |
| `rotation` | no | Rotation: between -179 degrees and 179 degrees |
| `duration` | no | The number of milliseconds that the robot should move for |
@@ -106,9 +106,9 @@ Start the cleaning operation in the areas selected for the number of repeats ind
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
-| `entity_id` | yes | Only act on specific robot; default targets all |
+| `entity_id` | no | Only act on a specific robot |
| `zone` | no | List of zones. Each zone is an array of 4 integer value. Example: [[23510,25311,25110,26361]] |
-| `repeats` | no | Number of cleaning repeats for each zone between 1 and 3. |
+| `repeats` | no | Number of cleaning repeats for each zone between 1 and 3. |
Example of `vacuum.xiaomi_clean_zone` use:
@@ -355,6 +355,11 @@ To fetch the token follow these instructions depending on your mobile phone plat
2. Install [BlueStacks](https://www.bluestacks.com).
3. Set up [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) in BlueStacks and login to synchronize devices.
4. Use [BlueStacks Tweaker](https://forum.xda-developers.com/general/general/bluestacks-tweaker-2-tool-modifing-t3622681) to access the filesystem and retrieve the token.
+5. Copy `/data/data/com.xiaomi.smarthome/databases/miio2.db` file to your computer using the Bluestacks Tweakers filesystem tool.
+6. Install [DB Browser for SQLite](https://sqlitebrowser.org/).
+7. Open the DB Browser and load the `miio2.db` from your computer.
+8. Select `Browse Data` tab from the DB Browser and switch to table called `devicerecord`
+9. This will display all the connected devices information with the token.
### Selecting token manually (Windows and Android)
diff --git a/source/_integrations/velux.markdown b/source/_integrations/velux.markdown
index f2bac21439a..be1a433f9ea 100644
--- a/source/_integrations/velux.markdown
+++ b/source/_integrations/velux.markdown
@@ -9,7 +9,7 @@ ha_release: 0.49
ha_iot_class: Local Polling
---
-[Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200.
+[Velux](https://www.velux.com/) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200.
At least firmware version > 2.0.0.0 is required on the KLF 200 device. The firmware images may be obtained [here](https://www.velux.com/api/klf200) and may be imported via the webinterface of your KLF 200.
diff --git a/source/_integrations/venstar.markdown b/source/_integrations/venstar.markdown
index c589a30d121..701df65acc5 100644
--- a/source/_integrations/venstar.markdown
+++ b/source/_integrations/venstar.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Polling
---
-The `venstar` climate platform allows you to control [Venstar](http://www.venstar.com) thermostats from Home Assistant.
+The `venstar` climate platform allows you to control [Venstar](https://www.venstar.com/) thermostats from Home Assistant.
Venstar thermostats feature a local API that allows for automation without the need for a cloud service.
Currently supported and tested thermostats:
diff --git a/source/_integrations/vera.markdown b/source/_integrations/vera.markdown
index efd4870adb3..a2611442c4f 100644
--- a/source/_integrations/vera.markdown
+++ b/source/_integrations/vera.markdown
@@ -15,7 +15,7 @@ ha_category:
ha_release: pre 0.7
---
-The [Vera](http://getvera.com) hub is a controller mainly connecting to Z-Wave devices.
+The [Vera](https://getvera.com/) hub is a controller mainly connecting to Z-Wave devices.
There is currently support for the following device types within Home Assistant:
@@ -75,7 +75,7 @@ If you want to use a Z-Wave device from the Vera controller in Home Assistant au
### Sensor
-The `vera` platform allows you to get data from your [Vera](http://getvera.com/) sensors from within Home Assistant.
+The `vera` platform allows you to get data from your [Vera](https://getvera.com/) sensors from within Home Assistant.
Please note that some vera sensors (such as _motion_ and _flood_ sensors) are _armable_ which means that vera will send alerts (email messages to txts) when they are _armed_ and change state.
diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown
index 07f855340b6..1d1fbccc8dd 100644
--- a/source/_integrations/vizio.markdown
+++ b/source/_integrations/vizio.markdown
@@ -1,6 +1,6 @@
---
title: "Vizio SmartCast Device"
-description: "Instructions on how to integrate Vizio SmartCast TVs and Sound Bars into Home Assistant."
+description: "Instructions on how to integrate Vizio SmartCast TVs and sound bars into Home Assistant."
logo: vizio-smartcast.png
ha_category:
- Media Player
@@ -8,11 +8,11 @@ ha_release: 0.49
ha_iot_class: Local Polling
---
-The `vizio` integration will allow you to control [SmartCast](https://www.vizio.com/smartcast-app) compatible TVs and Sound Bars (2016+ models).
+The `vizio` integration allows you to control [SmartCast](https://www.vizio.com/smartcast-app)-compatible TVs and sound bars (2016+ models).
## Find your device
-Install the command-line tool using `pip` (or you can choose to download it manually):
+Install the command line tool using `pip` (or download it manually):
```bash
$ pip3 install pyvizio
@@ -35,11 +35,11 @@ Find your device using the following command:
pyvizio --ip=0 discover
```
-and note it's IP address. If using your IP address by itself does not lead to success, you may need to append `:9000` or `:7345` to it when using it as a parameter in future commands.
+and note its IP address. If using the IP address by itself does not work, you may need to append `:9000` or `:7345` to it when using it as a parameter in future commands.
## Pairing
-Before adding your device to Home Assistant you may need to pair it manually. For a Sound Bar, it is unclear how the device would notify you of a valid auth token, so it's best to first skip the pairing process entirely, specify a `device_class` of `soundbar` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to get the auth token during this process.
+Before adding your device to Home Assistant, you may need to pair it manually. In particular, it is unclear how a sound bar would notify you of a valid auth token. In this case, it might be best to first skip the pairing process entirely, specify a `device_class` of `soundbar` in your configuration, and try interacting with the entity to see if you have any success. If the media player controls aren't working, and if specifying different ports as mentioned above doesn't work, you will need to find a way to obtain the auth token during this process.
To obtain an auth token, follow these steps:
@@ -63,7 +63,7 @@ Initiation will show you two different values:
| Challenge type | Usually it should be `"1"`. If not, use the additional parameter `--ch_type=your_type` in the next step |
| Challenge token | Token required to finalize pairing in the next step |
-Finally, at this point a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
+At this point, a PIN code should be displayed at the top of your TV. With all these values, you can now finish pairing:
```bash
$ pyvizio --ip={ip} --device_type={device_type} pair-finish --token={challenge_token} --pin={pin}
@@ -93,7 +93,7 @@ access_token:
required: false
type: string
device_class:
- description: The class of your device. Your choices are `tv` or `soundbar`
+ description: The class of your device. Valid options are `tv` or `soundbar`
required: false
type: string
default: tv
@@ -108,12 +108,12 @@ suppress_warning:
### Turning device on
-If the `Power Mode` of your device is set to `Eco Mode`, turning the device ON won't work.
+If the `Power Mode` of your device is set to `Eco Mode`, turning the device on won't work.
### Changing tracks
-Changing tracks works like channels switching. If you have source other than regular TV it might end do nothing.
+Changing tracks works like switching channels. If the current input is anything other than regular TV, this command might not do anything.
### Sources
-Source list shows all external devices connected to the device through HDMI plus list of internal devices (TV mode, Chrome Cast, etc.).
+The source list shows all external devices connected to the Vizio device through HDMI, plus a list of internal devices (TV mode, Chromecast, etc.)
diff --git a/source/_integrations/vlc.markdown b/source/_integrations/vlc.markdown
index 6569acaa279..bd1b7dd0add 100644
--- a/source/_integrations/vlc.markdown
+++ b/source/_integrations/vlc.markdown
@@ -8,7 +8,7 @@ ha_release: 0.35
ha_iot_class: Local Polling
---
-The `vlc` platform allows you to control [VLC media player](http://www.videolan.org/vlc/index.html).
+The `vlc` platform allows you to control [VLC media player](https://www.videolan.org/vlc/index.html).
To add a VLC media player to your installation, add the following to your `configuration.yaml` file:
@@ -63,4 +63,4 @@ sudo usermod -a -G audio homeassistant
##### VLC currently not supported with Hass.io
-According to the forum topic ["How to add VLC into my Hassio"](http://community.home-assistant.io/t/how-to-add-vlc-into-my-hassio/23000/5), it is not possible to install packages like VLC on Hass.io.
+According to the forum topic ["How to add VLC into my Hassio"](https://community.home-assistant.io/t/how-to-add-vlc-into-my-hassio/23000/5), it is not possible to install packages like VLC on Hass.io.
diff --git a/source/_integrations/vlc_telnet.markdown b/source/_integrations/vlc_telnet.markdown
index 7bef2182ebd..be761f1c8f4 100644
--- a/source/_integrations/vlc_telnet.markdown
+++ b/source/_integrations/vlc_telnet.markdown
@@ -8,7 +8,7 @@ ha_release: 0.95
ha_iot_class: Local Polling
---
-The `vlc_telnet` platform allows you to control a [VLC media player](http://www.videolan.org/vlc/index.html) using the built in telnet interface.
+The `vlc_telnet` platform allows you to control a [VLC media player](https://www.videolan.org/vlc/index.html) using the built in telnet interface.
To add a VLC media player to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/volumio.markdown b/source/_integrations/volumio.markdown
index 237e329b1ab..7c8ffc360d9 100644
--- a/source/_integrations/volumio.markdown
+++ b/source/_integrations/volumio.markdown
@@ -7,7 +7,7 @@ ha_category:
ha_release: 0.41
---
-The `Volumio` platform allows you to control a [Volumio](http://volumio.org) media player from Home Assistant.
+The `Volumio` platform allows you to control a [Volumio](https://volumio.org/) media player from Home Assistant.
The preferred way to set up the Volumio platform is by enabling the [discovery component](/integrations/discovery/).
diff --git a/source/_integrations/volvooncall.markdown b/source/_integrations/volvooncall.markdown
index c524d44812d..ce169746f6b 100644
--- a/source/_integrations/volvooncall.markdown
+++ b/source/_integrations/volvooncall.markdown
@@ -8,7 +8,7 @@ ha_release: 0.39
ha_iot_class: Cloud Polling
---
-The `volvooncall` integration offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level.
+The `volvooncall` integration offers integration with the [Volvo On Call](https://www.volvocars.com/intl/why-volvo/human-innovation/future-of-driving/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level.
## Configuration
diff --git a/source/_integrations/waqi.markdown b/source/_integrations/waqi.markdown
index f687ecc7ca6..14cefc5cd39 100644
--- a/source/_integrations/waqi.markdown
+++ b/source/_integrations/waqi.markdown
@@ -8,9 +8,9 @@ ha_release: 0.34
ha_iot_class: Cloud Polling
---
-The `waqi` sensor platform will query [World Air Quality Index](http://aqicn.org) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
+The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.org/city/beijing/) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
-This sensor requires an API token. Please obtain one at [AQICN API token](http://aqicn.org/data-platform/token/#/).
+This sensor requires an API token. Please obtain one at [AQICN API token](https://aqicn.org/data-platform/token/#/).
To enable this sensor, add the following lines to your `configuration.yaml` file:
diff --git a/source/_integrations/watson_iot.markdown b/source/_integrations/watson_iot.markdown
index 87db524ea15..f01c6696e46 100644
--- a/source/_integrations/watson_iot.markdown
+++ b/source/_integrations/watson_iot.markdown
@@ -14,7 +14,7 @@ with an [IBM Watson IoT Platform instance](https://www.ibm.com/us-en/marketplace
To use this component, you first need to register a gateway device type and then
a gateway device in your IoT platform instance. For instructions on how to do
-this check the [official documentation](https://console.bluemix.net/docs/services/IoT/gateways/dashboard.html#IoT_connectGateway)
+this check the [official documentation](https://cloud.ibm.com/docs/services/IoT?topic=iot-platform-getting-started#IoT_connectGateway)
which provides the details on doing this. After you register the gateway device
for your home-assistant you'll need 4 pieces of information:
diff --git a/source/_integrations/waze_travel_time.markdown b/source/_integrations/waze_travel_time.markdown
index 44f423786cb..2f65bb76550 100644
--- a/source/_integrations/waze_travel_time.markdown
+++ b/source/_integrations/waze_travel_time.markdown
@@ -10,7 +10,7 @@ ha_release: 0.67
The `waze_travel_time` sensor provides travel time from the [Waze](https://www.waze.com/).
-Unit system is set to metric system.
+Unit system is by default set to the metric system.
## Configuration
@@ -27,11 +27,11 @@ sensor:
{% configuration %}
origin:
- description: Enter the starting address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter an entity id which provides this information in its state, a entity id with latitude and longitude attributes, or zone friendly name.
+ description: Enter the starting address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter an entity id which provides this information in its state, an entity id with latitude and longitude attributes, or zone friendly name.
required: true
type: string
destination:
- description: Enter the destination address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter an entity id which provides this information in its state, a entity id with latitude and longitude attributes, or zone friendly name.
+ description: Enter the destination address or the GPS coordinates of the location (GPS coordinates has to be separated by a comma). You can also enter an entity id which provides this information in its state, an entity id with latitude and longitude attributes, or zone friendly name.
required: true
type: string
region:
@@ -57,7 +57,7 @@ realtime:
type: boolean
default: true
units:
- description: "Set the unit for the sensor in metric or imperial, otherwise the default unit the same as the unit set in `unit_system:`."
+ description: "Set the unit of measurement for the sensor in metric or imperial, otherwise the default unit of measurement is the same as the unit set in `unit_system:`."
required: false
type: string
vehicle_type:
@@ -70,7 +70,7 @@ vehicle_type:
Using the flexible option to set a sensor value to the `destination`, you can setup a single Waze integration that will calculate travel time to multiple optional locations on demand.
-In the following example, the `Input Select` is converted into an address which is used to modify the destination for Waze route calculation from `device_tracker.myphone` location (It takes a few minutes for the value to update due to the interval set to fetch Waze data).
+In the following example, the `Input Select` is converted into an address which is used to modify the destination for Waze route calculation from `device_tracker.myphone` location (It takes a few minutes for the value to update due to the interval of Waze data fetching).
{% raw %}
```yaml
@@ -117,11 +117,11 @@ sensor:
destination: "725 5th Ave, New York, NY 10022, USA"
region: 'US'
units: imperial # 'metric' for Metric, 'imperial' for Imperial
- vehicle_type: motorcycle # vehicle type used for route
+ vehicle_type: motorcycle # vehicle type used for routing
```
{% endraw %}
-## Using the live map in a iFrame
+## Using the live map in an iFrame
If you plan to use [Waze's live map](https://developers.google.com/waze/iframe/)
in Lovelace [iframe](/lovelace/iframe/) then use
diff --git a/source/_integrations/weather.markdown b/source/_integrations/weather.markdown
index 55683718b6a..36f03d1c081 100644
--- a/source/_integrations/weather.markdown
+++ b/source/_integrations/weather.markdown
@@ -8,9 +8,9 @@ ha_qa_scale: internal
ha_release: 0.32
---
-The `weather` platforms are gathering meteorological information from web services and display the conditions and other details about the weather at the given location. Read the integration documentation for your particular weather provider to learn how to set it up.
+The `weather` platforms gather meteorological information from web services and display the conditions and other details about the weather at the given location. Read the integration documentation for your particular weather provider to learn how to set it up.
-Home Assistant currently supports free web services and such which require a registration.
+Home Assistant currently supports free web services some of which require registration.
## Condition mapping
@@ -30,4 +30,4 @@ The `weather` platform only knows the below listed conditions. The reason for th
- 'sunny'
- 'windy'
- 'windy-variant'
-- 'exceptional':
+- 'exceptional'
diff --git a/source/_integrations/webostv.markdown b/source/_integrations/webostv.markdown
index 3b91080b689..9dde34ff73a 100644
--- a/source/_integrations/webostv.markdown
+++ b/source/_integrations/webostv.markdown
@@ -9,7 +9,7 @@ ha_iot_class: Local Polling
ha_release: 0.18
---
-The `webostv` platform allows you to control a [LG](http://www.lg.com/) webOS Smart TV.
+The `webostv` platform allows you to control a [LG](https://www.lg.com/) webOS Smart TV.
There is currently support for the following device types within Home Assistant:
@@ -18,7 +18,7 @@ There is currently support for the following device types within Home Assistant:
## Media Player
-To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](http://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others).
+To begin with enable *LG Connect Apps* feature in *Network* settings of the TV [instructions](https://www.lg.com/uk/support/product-help/CT00008334-1437131798537-others).
Once basic configuration is added to your `configuration.yaml` file. A notification should be visible in the frontend's **Notification** section. Follow the instructions and accept the pairing request on your TV.
@@ -99,7 +99,7 @@ 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) (*may vary by version).
+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](https://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-).
diff --git a/source/_integrations/wemo.markdown b/source/_integrations/wemo.markdown
index 3b934d18df5..b1227ef4863 100644
--- a/source/_integrations/wemo.markdown
+++ b/source/_integrations/wemo.markdown
@@ -12,14 +12,14 @@ featured: true
ha_release: pre 0.7
---
-The `wemo` integration is the main integration to integrate various [Belkin WeMo](http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) devices with Home Assistant.
+The `wemo` integration is the main integration to integrate various [Belkin WeMo](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) devices with Home Assistant.
There is currently support for the following device types within Home Assistant:
- Binary Sensor
- Fan (Belkin WeMo (Holmes) Smart Humidifier)
-- Light (Belkin WeMo LED lights and [Smart Dimmer Switch](http://www.belkin.com/us/F7C059-Belkin/p/P-F7C059/))
-- Switch ([Belkin WeMo Switches](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) and includes support for Wemo enabled [Mr. Coffee](http://www.mrcoffee.com/wemo-landing-page.html) smart coffee makers.)
+- Light (Belkin WeMo LED lights and [Smart Dimmer Switch](https://www.belkin.com/us/F7C059-Belkin/p/P-F7C059/))
+- Switch ([Belkin WeMo Switches](https://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/) and includes support for Wemo enabled [Mr. Coffee](https://www.mrcoffee.com/wemo-landing-page.html) smart coffee makers.)
## Configuration
@@ -30,7 +30,7 @@ There is currently support for the following device types within Home Assistant:
type: boolean
default: true
static:
- description: One or more static IP adresses for WeMo to use
+ description: One or more static IP addresses for WeMo to use
required: false
type: list
{% endconfiguration %}
@@ -103,4 +103,4 @@ There are several services which can be used for automations and control of the
| `turn_off` | Calling this service will turn the humidifier off (entity_id is required).
| `turn_on` | Calling this service will turn the humidifier on and set the speed to the last used speed (defaults to medium, entity_id is required).
| `wemo_set_humidity` | Calling this service will set the desired relative humidity setting on the device (entity_id is a required list of 1 or more entities to set humidity on, and target_humidity is a required float value between 0 and 100 (this value will be rounded down and mapped to one of the valid desired humidity settings of 45, 50, 55, 60, or 100 that are supported by the WeMo humidifier)).
-| `wemo_reset_filter_life` | Calling this service will reset the humdifier's filter life back to 100% (entity_id is a required list of 1 or more entities to reset the filter life on). Call this service when you change the filter on your humidifier.
\ No newline at end of file
+| `wemo_reset_filter_life` | Calling this service will reset the humdifier's filter life back to 100% (entity_id is a required list of 1 or more entities to reset the filter life on). Call this service when you change the filter on your humidifier.
diff --git a/source/_integrations/wink.markdown b/source/_integrations/wink.markdown
index e0f2978030a..156359cb467 100644
--- a/source/_integrations/wink.markdown
+++ b/source/_integrations/wink.markdown
@@ -20,7 +20,7 @@ ha_iot_class: Cloud Polling
ha_release: pre 0.7
---
-[Wink](http://www.wink.com/) is a home automation hub that can control a whole wide range of devices on the market. Or, as they say in their own words:
+[Wink](https://www.wink.com/) is a home automation hub that can control a whole wide range of devices on the market. Or, as they say in their own words:
Wink offers one, quick and simple way to connect people with the products they rely on every day in their home.
@@ -373,7 +373,7 @@ script:
## Alarm Control Panel
-The Wink alarm platform allows you to control your [Wink](http://www.wink.com/) Canary all-in-one security camera.
+The Wink alarm platform allows you to control your [Wink](https://www.wink.com/) Canary all-in-one security camera.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
@@ -387,7 +387,7 @@ The above devices are confirmed to work, but others may work as well.
## Binary Sensor
-The Wink binary sensor platform allows you to get data from your [Wink](http://www.wink.com/) binary sensors.
+The Wink binary sensor platform allows you to get data from your [Wink](https://www.wink.com/) binary sensors.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
@@ -411,7 +411,7 @@ The above devices are confirmed to work, but others may work as well.
## Climate
-The Wink climate platform allows you to get data from your [Wink](http://www.wink.com/) thermostats and air conditioners.
+The Wink climate platform allows you to get data from your [Wink](https://www.wink.com/) thermostats and air conditioners.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
@@ -451,7 +451,7 @@ The above devices are confirmed to work, but others may work as well.
## Fan
-The Wink fan platform allows you to control your [Wink](http://www.wink.com/) fans.
+The Wink fan platform allows you to control your [Wink](https://www.wink.com/) fans.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
@@ -466,7 +466,7 @@ The above devices are confirmed to work, but others may work as well.
## Light
-The `wink` light platform allows you to use your [Wink](http://www.wink.com/) lights.
+The `wink` light platform allows you to use your [Wink](https://www.wink.com/) lights.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
@@ -484,7 +484,7 @@ The above devices are confirmed to work, but others may work as well.
## Lock
-The Wink lock platform allows you to control your [Wink](http://www.wink.com/) locks.
+The Wink lock platform allows you to control your [Wink](https://www.wink.com/) locks.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
@@ -619,7 +619,7 @@ If supported by your lock, a binary sensor will be created for each user key cod
## Sensor
-The Wink sensor platform allows you to get data from your [Wink](http://www.wink.com/) sensors.
+The Wink sensor platform allows you to get data from your [Wink](https://www.wink.com/) sensors.
The requirement is that you have setup [Wink](/integrations/wink/) from above.
@@ -639,7 +639,7 @@ The above devices are confirmed to work, but others may work as well.
## Switch
-The Wink switch platform allows you to control your [Wink](http://www.wink.com/) switches.
+The Wink switch platform allows you to control your [Wink](https://www.wink.com/) switches.
The requirement is that you have set up [Wink](/integrations/wink/) from above.
@@ -654,7 +654,7 @@ The requirement is that you have set up [Wink](/integrations/wink/) from above.
## Water heater
-The Wink water heater platform allows you to get data from your [Wink](http://www.wink.com/) Water Heaters.
+The Wink water heater platform allows you to get data from your [Wink](https://www.wink.com/) Water Heaters.
The requirement is that you have set up [Wink](/integrations/wink/) from above.
diff --git a/source/_integrations/wirelesstag.markdown b/source/_integrations/wirelesstag.markdown
index d2b908cf76b..df591737665 100644
--- a/source/_integrations/wirelesstag.markdown
+++ b/source/_integrations/wirelesstag.markdown
@@ -11,7 +11,7 @@ ha_iot_class: Cloud Polling and Local Push
ha_release: 0.68
---
-The `wirelesstag` implementation allows you to integrate your [wirelesstag.net](http://wirelesstag.net) sensors tags in Home Assistant.
+The `wirelesstag` implementation allows you to integrate your [wirelesstag.net](https://wirelesstag.net/) sensors tags in Home Assistant.
There is currently support for the following device types within Home Assistant:
@@ -21,7 +21,7 @@ There is currently support for the following device types within Home Assistant:
## Configuration
-To enable tags set up with your [wirelesstag.net](http://wirelesstag.net) account, add the following to your `configuration.yaml` file:
+To enable tags set up with your [wirelesstag.net](https://wirelesstag.net/) account, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@@ -59,7 +59,7 @@ Tags Manager supports local push notifications for `http` schema only. So if you
## Binary Sensor
-To enable the binary sensor platform for your tags, set up with your [wirelesstag.net](http://wirelesstag.net) account. Add the following to your `configuration.yaml` file:
+To enable the binary sensor platform for your tags, set up with your [wirelesstag.net](https://wirelesstag.net/) account. Add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@@ -101,7 +101,7 @@ monitored_conditions:
## Sensor
-To enable the sensor platform for your tags, set up with your [wirelesstag.net](http://wirelesstag.net) account. Add the following to your `configuration.yaml` file:
+To enable the sensor platform for your tags, set up with your [wirelesstag.net](https://wirelesstag.net/) account. Add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@@ -130,7 +130,7 @@ monitored_conditions:
## Switch
-To enable the switch platform for your tags, set up with your [wirelesstag.net](http://wirelesstag.net) account. Add the following to your `configuration.yaml` file:
+To enable the switch platform for your tags, set up with your [wirelesstag.net](https://wirelesstag.net/) account. Add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/withings.markdown b/source/_integrations/withings.markdown
index 8833a78a5a4..ae66ac8846a 100644
--- a/source/_integrations/withings.markdown
+++ b/source/_integrations/withings.markdown
@@ -2,7 +2,7 @@
title: "Withings"
description: "Instructions on how to integrate Withings health products within Home Assistant."
logo: withings.png
-ha_category:
+ha_category:
- Health
- Sensor
ha_release: 0.99
@@ -15,7 +15,7 @@ The `withings` sensor platform consumes data from various health products produc
### Step 1 - Create a Withings Account
-You must have a developer account to distribute the data. [Create a free development account](https://account.withings.com/partner/add_oauth2).
+You must have a developer account to distribute the data. [Create a free development account](https://account.withings.com/partner/add_oauth2).
Values for your account:
@@ -42,7 +42,7 @@ Withings supports multiple profiles per account. Each profile has a person's nam
### Step 3 - Authorize Home Assistant
-- Confirm your YAML configuration is valid by using the `Check Config` tool.
+- Confirm your YAML configuration is valid by using the `Check Config` tool (see note).
- Restart Home Assistant.
- Go to the integrations page.
- Add a Withings integration.
@@ -50,12 +50,14 @@ Withings supports multiple profiles per account. Each profile has a person's nam
- On the Withings site, choose the profile you selected in the previous step (if prompted).
- Note: It's important you select the same profile from the previous step. Choosing a different one will result in Home Assistant displaying data for profile 2, but it will be labeled as profile 1.
- Authorize the application. Your browser will redirect you to your Home Assistant URL.
- - Note: If you get a browser error saying the site is inaccessible, you can modify the
+ - Note: If you get a browser error saying the site is inaccessible, you can modify the
`http://domain` portion of the URL to something you know is accessible, locally or publically. For example, `http://localhost:8123`.
This occurs when the base URL provided by Home Assistant to Withings is not accessible to the outside world.
Changing the domain will not affect how data is synchronized.
- Data will synchronize immediately and update every 5 minutes.
+Note: In order for "Check Config" to be visible, you must enable "Advanced Mode" on your user profile. The "Check Config" tool can be found by clicking "Configuration" from the sidebar (cog icon) and then clicking "Server Control".
+
## Configuration
```yaml
diff --git a/source/_integrations/worxlandroid.markdown b/source/_integrations/worxlandroid.markdown
index acd2aaf1805..43443c9d00b 100644
--- a/source/_integrations/worxlandroid.markdown
+++ b/source/_integrations/worxlandroid.markdown
@@ -22,7 +22,7 @@ sensor:
{% configuration %}
host:
- description: The ip address or host name of the mower.
+ description: The IP address or host name of the mower.
required: true
type: string
pin:
diff --git a/source/_integrations/wsdot.markdown b/source/_integrations/wsdot.markdown
index 555c6bf00f9..b463e0685ff 100644
--- a/source/_integrations/wsdot.markdown
+++ b/source/_integrations/wsdot.markdown
@@ -8,11 +8,11 @@ ha_iot_class: Cloud Polling
ha_release: 0.37
---
-The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](http://wsdot.com/).
+The `wsdot` sensor will give you travel time information from the [Washington State Department of Transportation (WSDOT)](https://wsdot.com/).
## Setup
-First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](http://wsdot.com/traffic/api/). Just enter your email address to instantly get the key.
+First, you need to get a free Traveler Information `api_key` from the [WSDOT API webpage](https://wsdot.com/traffic/api/). Just enter your email address to instantly get the key.
## Configuration
@@ -49,7 +49,7 @@ travel_time:
type: string
{% endconfiguration %}
-Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `http://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need.
+Figuring out which Travel Time ID (`id`) is associated with your routes is a bit of a challenge. If you visit `https://wsdot.com/Traffic/api/TravelTimes/TravelTimesREST.svc/GetTravelTimesAsJson?AccessCode=[your_api_key_here]` substituting your `api_key`, you will get a list of all available routes. Search through it and then find the key `TravelTimeID`. That tells you the number you need.
Some common examples include:
diff --git a/source/_integrations/wunderground.markdown b/source/_integrations/wunderground.markdown
index 0dbe5d5d2ea..abc4df68b4f 100644
--- a/source/_integrations/wunderground.markdown
+++ b/source/_integrations/wunderground.markdown
@@ -8,7 +8,7 @@ ha_release: 0.27
ha_iot_class: Cloud Polling
---
-The `wunderground` platform uses [Weather Underground](http://www.wunderground.com) as a source for current weather information.
+The `wunderground` platform uses [Weather Underground](https://www.wunderground.com/) as a source for current weather information.
diff --git a/source/_integrations/wwlln.markdown b/source/_integrations/wwlln.markdown
index 90c022d43a6..e9ef0048341 100644
--- a/source/_integrations/wwlln.markdown
+++ b/source/_integrations/wwlln.markdown
@@ -9,7 +9,7 @@ ha_config_flow: true
---
The `wwlln` integration displays lightning strike information from the
-[World Wide Lightning Location Network (WWLLN)](http://wwlln.net).
+[World Wide Lightning Location Network (WWLLN)](https://wwlln.net/).
Entities are generated, updated and removed automatically with each update
from the feed. Each entity defines latitude and longitude and will be shown
diff --git a/source/_integrations/x10.markdown b/source/_integrations/x10.markdown
index d045d4025e6..8127de694b4 100644
--- a/source/_integrations/x10.markdown
+++ b/source/_integrations/x10.markdown
@@ -10,7 +10,7 @@ ha_release: 0.25
The `x10` light platform allows you to control your X10 based lights with Home Assistant.
-Requires [Heyu x10](http://www.heyu.org) and a CM11A or a CM17A "FireCracker" interface.
+Requires [Heyu x10](https://www.heyu.org/) and a CM11A or a CM17A "FireCracker" interface.
To enable those lights, add the following lines to your `configuration.yaml` file:
diff --git a/source/_integrations/xbox_live.markdown b/source/_integrations/xbox_live.markdown
index d81a71cf320..da9419bcd2a 100644
--- a/source/_integrations/xbox_live.markdown
+++ b/source/_integrations/xbox_live.markdown
@@ -8,14 +8,14 @@ ha_iot_class: Cloud Polling
ha_release: 0.28
---
-The Xbox Live integration is able to track [Xbox](http://xbox.com/) profiles.
+The Xbox Live integration is able to track [Xbox](https://xbox.com/) profiles.
To use this sensor you need a free API key from
-[XboxAPI.com](http://xboxapi.com).
+[XboxAPI.com](https://xboxapi.com/).
Please also make sure to connect your Xbox account on that site.
The configuration requires you to specify XUIDs which are the unique identifiers
-for profiles. These can be determined on [XboxAPI.com](http://xboxapi.com) by
+for profiles. These can be determined on [XboxAPI.com](https://xboxapi.com/) by
either looking at your own profile page or using their interactive documentation
to search for gamertags.
@@ -34,7 +34,7 @@ sensor:
{% configuration %}
api_key:
- description: Your API key from [XboxAPI.com](http://xboxapi.com).
+ description: Your API key from [XboxAPI.com](https://xboxapi.com/).
required: true
type: string
xuid:
diff --git a/source/_integrations/xeoma.markdown b/source/_integrations/xeoma.markdown
index 8b3d3caa646..4017f37c8fb 100644
--- a/source/_integrations/xeoma.markdown
+++ b/source/_integrations/xeoma.markdown
@@ -8,7 +8,7 @@ ha_iot_class: Local Polling
ha_release: 0.62
---
-The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server.
+The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](https://felenasoft.com/xeoma) video surveillance server.
## Configuration
diff --git a/source/_integrations/xiaomi.markdown b/source/_integrations/xiaomi.markdown
index 0ff19263a7c..b1440866c1d 100644
--- a/source/_integrations/xiaomi.markdown
+++ b/source/_integrations/xiaomi.markdown
@@ -112,7 +112,7 @@ camera:
```
## Hostname template
-The hostname/ip address can be provided either a value or from the existing entity attributes.
+The hostname/IP address can be provided either a value or from the existing entity attributes.
```yaml
camera:
diff --git a/source/_integrations/xiaomi_aqara.markdown b/source/_integrations/xiaomi_aqara.markdown
index 4206740b97c..6714f6e0fae 100644
--- a/source/_integrations/xiaomi_aqara.markdown
+++ b/source/_integrations/xiaomi_aqara.markdown
@@ -8,7 +8,7 @@ ha_release: 0.57
ha_iot_class: Local Push
---
-The `xiaomi_aqara` integration allows you to integrate [Xiaomi](http://www.mi.com/en/) Aqara-compatible devices into Home Assistant.
+The `xiaomi_aqara` integration allows you to integrate [Xiaomi](https://www.mi.com/en/) Aqara-compatible devices into Home Assistant.
Please note, there are two versions of the hub: v1 and v2. v1 can be used with Home Assistant without any problems, however, v2 might be less straight forward when it comes to enabling the local API, and might even require you to open up your device in order to do so. Xiaomi has suggested this is in the pipeline.
@@ -276,7 +276,7 @@ That means that Home Assistant is not getting any response from your Xiaomi gate
- If your gateway's MAC address starts with `04:CF:8C`, there is a good chance that the required port `9898` is closed on your gateway (you can check it with the Nmap utility, using the command `sudo nmap - sU {gateway_ip} -p 9898`). To fix that issue, you need to do these steps:
- Find a specific screw bit (like a fork) to open the gateway case.
- Find a USB-UART cable/module and connect it to your computer.
- - Solder 3 wires - RX, TX and GND like [here](http://cs5-3.4pda.to/14176168/IMG_20181020_201150.jpg).
+ - Solder 3 wires - RX, TX and GND like [here](https://cs5-3.4pda.to/14176168/IMG_20181020_201150.jpg).
- Turn on the gateway (220V).
- Open a serial terminal application (e.g. PuTTY) and connect to the serial port assigned to the USB-UART module (baudrate: 115200).
- Wait until the gateway is booted up, connect the RX, TX and GND wires to the UART module (don't connect the Vcc (power) wire!).
diff --git a/source/_integrations/xiaomi_tv.markdown b/source/_integrations/xiaomi_tv.markdown
index 7ebb093a53f..083113d7f6e 100644
--- a/source/_integrations/xiaomi_tv.markdown
+++ b/source/_integrations/xiaomi_tv.markdown
@@ -8,7 +8,7 @@ ha_release: 0.64
ha_iot_class: Assumed State
---
-The `xiaomi_tv` platform allows you to control a [Xiaomi TV](http://www.mi.com/en/mitv3s/65flat/).
+The `xiaomi_tv` platform allows you to control a [Xiaomi TV](https://www.mi.com/en/mitv3s/65flat/).
You need to make sure the TV is connected to the internet, and that your Home Assistant instance is on the same network.
diff --git a/source/_integrations/xmpp.markdown b/source/_integrations/xmpp.markdown
index bdb62d62312..9c0083da870 100644
--- a/source/_integrations/xmpp.markdown
+++ b/source/_integrations/xmpp.markdown
@@ -8,7 +8,7 @@ ha_release: pre 0.7
---
-The `xmpp` notification platform allows you to deliver notifications from Home Assistant to a [Jabber (XMPP)](http://xmpp.org) account.
+The `xmpp` notification platform allows you to deliver notifications from Home Assistant to a [Jabber (XMPP)](https://xmpp.org/) account.
## Configuration
diff --git a/source/_integrations/yamaha.markdown b/source/_integrations/yamaha.markdown
index d995a428ffe..400f94a220b 100644
--- a/source/_integrations/yamaha.markdown
+++ b/source/_integrations/yamaha.markdown
@@ -7,15 +7,15 @@ ha_category:
ha_release: 0.16
---
-The `yamaha` platform allows you to control [Yamaha Network Receivers](http://usa.yamaha.com/products/audio-visual/av-receivers-amps/rx) from Home Assistant.
+The `yamaha` platform allows you to control [Yamaha Network Receivers](https://usa.yamaha.com/products/audio-visual/av-receivers-amps/rx) from Home Assistant.
Supported devices:
-- HTR-4065
-- RX-V473
-- RX-V573
-- RX-V673
-- RX-V773
+- [HTR-4065](https://www.yamaha.com/cchtr4065/)
+- [RX-V473](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v473/specs.html)
+- [RX-V573](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v573/specs.html)
+- [RX-V673](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v673/specs.html)
+- [RX-V773](https://ca.yamaha.com/en/products/audio_visual/av_receivers_amps/rx-v773/specs.html)
- And more
To add a Yamaha Network Receiver to your installation, add the following to your `configuration.yaml` file:
diff --git a/source/_integrations/yandex_transport.markdown b/source/_integrations/yandex_transport.markdown
index f3e5c207196..bbb22373c3b 100644
--- a/source/_integrations/yandex_transport.markdown
+++ b/source/_integrations/yandex_transport.markdown
@@ -25,7 +25,7 @@ To activate Yandex Transport, add the following lines to your `configuration.yam
```yaml
# Example configuration.yaml entry
sensor:
- - platform: yandex_tranport
+ - platform: yandex_transport
stop_id: YOUR_STOP_ID
```
diff --git a/source/_integrations/yeelight.markdown b/source/_integrations/yeelight.markdown
index 71fa14e6a00..11ff99f2eda 100644
--- a/source/_integrations/yeelight.markdown
+++ b/source/_integrations/yeelight.markdown
@@ -113,9 +113,9 @@ Per default the bulb limits the amount of requests per minute to 60, a limitatio
Before trying to control your light through Home Assistant, you have to setup your bulb using Yeelight app. ( [Android](https://play.google.com/store/apps/details?id=com.yeelight.cherry&hl=fr), [IOS](https://itunes.apple.com/us/app/yeelight/id977125608?mt=8) ).
-In the bulb property, you have to enable "LAN Mode" (previously called "Developer mode"). LAN mode may only be available with the latest firmware installed on your bulb. Firmware can be updated in the application after connecting the bulb.
+In the bulb property, you have to enable "LAN Control" (previously called "Developer mode"). LAN Control may only be available with the latest firmware installed on your bulb. Firmware can be updated in the application after connecting the bulb.
Determine your bulb IP (using router, software, ping...).
-Information on how to enable "LAN Mode" can be found [here](https://getyeti.co/posts/how-to-control-yeelight-and-your-smarthome-with-yeti).
+Information on how to enable "LAN Control" can be found [here](https://www.yeelight.com/faqs/lan_control).
diff --git a/source/_integrations/yessssms.markdown b/source/_integrations/yessssms.markdown
index 06b79c0be0c..322cde2d07f 100644
--- a/source/_integrations/yessssms.markdown
+++ b/source/_integrations/yessssms.markdown
@@ -9,7 +9,7 @@ ha_release: 0.57
The `yessssms` platform is using the Austrian mobile operator [Yesss.at](https://yesss.at) and others to send SMS via their web-site.
-Currenty some MVNOs (mobile virtual network operators), in the A1 network, that use the kontomanager.at interface work. These are currently (as of version 0.4.0 of [YesssSMS](https://pypi.org/project/YesssSMS/)):
+Currently some MVNOs (mobile virtual network operators), in the A1 network, that use the kontomanager.at interface work. These are currently (as of version 0.4.0 of [YesssSMS](https://pypi.org/project/YesssSMS/)):
* YESSS
* billitel
* EDUCOM
diff --git a/source/_integrations/yr.markdown b/source/_integrations/yr.markdown
index 7fc3e187610..f266364f81c 100644
--- a/source/_integrations/yr.markdown
+++ b/source/_integrations/yr.markdown
@@ -8,7 +8,7 @@ ha_release: 0.11
ha_iot_class: Cloud Polling
---
-The `yr` platform uses [YR.no](http://www.yr.no/) as a source for current
+The `yr` platform uses [YR.no](https://www.yr.no/) as a source for current
meteorological data for your location. The weather forecast is delivered by the
Norwegian Meteorological Institute and the NRK.
diff --git a/source/_integrations/zabbix.markdown b/source/_integrations/zabbix.markdown
index 3797b7a65b4..a7cbae866ce 100644
--- a/source/_integrations/zabbix.markdown
+++ b/source/_integrations/zabbix.markdown
@@ -9,7 +9,7 @@ ha_release: 0.37
ha_iot_class: Local Polling
---
-The `zabbix` integration is the main integration to connect to a [Zabbix](http://www.zabbix.com/) monitoring instance via the Zabbix API.
+The `zabbix` integration is the main integration to connect to a [Zabbix](https://www.zabbix.com/) monitoring instance via the Zabbix API.
There is currently support for the following device types within Home Assistant:
@@ -64,7 +64,7 @@ zabbix:
## Sensor
-The `zabbix` sensor platform let you monitor the current count of active triggers for your [Zabbix](http://www.zabbix.com/) monitoring instance.
+The `zabbix` sensor platform let you monitor the current count of active triggers for your [Zabbix](https://www.zabbix.com/) monitoring instance.
You must have the Zabbix component configured to use those sensors.
diff --git a/source/_integrations/zamg.markdown b/source/_integrations/zamg.markdown
index 9141f2ae5df..3fda67db4b5 100644
--- a/source/_integrations/zamg.markdown
+++ b/source/_integrations/zamg.markdown
@@ -11,7 +11,7 @@ ha_iot_class: Cloud Polling
The `zamg` platform uses meteorological details published by the Austrian weather service [Zentralanstalt für Meteorologie und Geodynamik (ZAMG)](https://www.zamg.ac.at).
-Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](http://www.zamg.ac.at/ogd).
+Only observations for capital cities are publicly available. You can check the list of stations in [CSV format](https://www.zamg.ac.at/ogd).
There is currently support for the following device types within Home Assistant:
diff --git a/source/_integrations/zeroconf.markdown b/source/_integrations/zeroconf.markdown
index b7119951f2f..7cb0c209973 100644
--- a/source/_integrations/zeroconf.markdown
+++ b/source/_integrations/zeroconf.markdown
@@ -13,7 +13,7 @@ Integrations can opt-in to be found by adding either [a Zeroconf section](https:
## Configuration
-To have Home Assistant scan for integrations using zeroconf and HomeKit, add the following section to your `configuration.yaml` file:
+This integration is by default enabled, unless you've disabled or removed the [`default_config:`](https://www.home-assistant.io/integrations/default_config/) line from your configuration. If that is the case, and you wish to have Home Assistant scan for integrations using zeroconf and HomeKit, the following example shows you how to enable this integration manually:
```yaml
# Example configuration.yaml entry
diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown
index 3eb095f574d..768978d3992 100644
--- a/source/_integrations/zha.markdown
+++ b/source/_integrations/zha.markdown
@@ -15,7 +15,7 @@ ha_iot_class: Local Polling
featured: true
---
-[Zigbee Home Automation](http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/)
+[Zigbee Home Automation](https://zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/)
integration for Home Assistant allows you to connect many off-the-shelf Zigbee based devices to Home Assistant, using one of the available Zigbee radio modules compatible with [zigpy](https://github.com/zigpy/zigpy) (an open source Python library implementing a Zigbee stack, which in turn relies on separate libraries which can each interface a with Zigbee radio module a different manufacturer).
There is currently support for the following device types within Home Assistant:
@@ -50,8 +50,11 @@ The custom quirks implementations for zigpy implemented as ZHA Device Handlers f
- [ConBee II (a.k.a. ConBee 2) USB adapter from Dresden-Elektronik](https://shop.dresden-elektronik.de/conbee-2.html)
- [ConBee USB adapter from Dresden-Elektronik](https://www.dresden-elektronik.de/conbee/)
- [RaspBee Raspberry Pi Shield from Dresden-Elektronik](https://www.dresden-elektronik.de/raspbee/)
-- ZiGate based radios (via the [zigpy-zigate](https://github.com/doudz/zigpy-zigate) library for zigpy)
- - ZiGate USB modules (require firmware 3.1a or later)
+- ZiGate based radios (via the [zigpy-zigate](https://github.com/doudz/zigpy-zigate) library for zigpy and require firmware 3.1a or later)
+ - [ZiGate USB-TTL](https://zigate.fr/produit/zigate-ttl/)
+ - [ZiGate USB-DIN](https://zigate.fr/produit/zigate-usb-din/)
+ - [PiZiGate](https://zigate.fr/produit/pizigate-v1-0/)
+ - [Wifi ZiGate](https://zigate.fr/produit/zigate-pack-wifi-v1-3/) (work in progress)
## Configuration
@@ -66,6 +69,11 @@ zha:
database_path: /home/homeassistant/.homeassistant/zigbee.db
```
+If you are use ZiGate, you have to use some special usb_path configuration:
+ - ZiGate USB TTL or DIN: `/dev/ttyUSB0` or `auto` to auto discover the zigate
+ - PiZigate : `pizigate:/dev/serial0`
+ - Wifi Zigate : `socket://[IP]:[PORT]` for example `socket://192.168.1.10:9999`
+
{% configuration %}
radio_type:
description: One of `ezsp`, `xbee`, `deconz` or `zigate`.
@@ -94,10 +102,25 @@ enable_quirks:
To add new devices to the network, call the `permit` service on the `zha` domain. Do this by clicking the Service icon in Developer tools and typing `zha.permit` in the **Service** dropdown box. Next, follow the device instructions for adding, scanning or factory reset.
-In case you want to add Philips Hue bulbs that have previously been added to another bridge, have a look at: [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/)
-
## Troubleshooting
+### Add Philips Hue bulbs that have previously been added to another bridge
+
+Philips Hue bulbs that have previously been added to another bridge won't show up during search. You have to restore your bulbs back to factory settings first. To achieve this, you basically have the following options.
+
+#### Philips Hue Dimmer Switch
+
+Using a Philips Hue Dimmer Switch is probably the easiest way to factory-reset your bulbs. For this to work, the remote doesn't have to be paired with your previous bridge.
+
+1. Turn on your Hue bulb you want to reset
+2. Hold the Dimmer Switch near your bulb (< 10 cm)
+3. Press and hold the (I)/(ON) and (O)/(OFF) buttons of the Dimmer Switch for about 10 seconds until your bulb starts to blink
+4. Your bulb should stop blinking and eventually turning on again. At the same time, a green light on the top left of your remote indicates that your bulb has been successfully reset to factory settings.
+
+#### hue-thief
+
+Follow the instructions on [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/) (EZSP-based Zigbee USB stick required)
+
### ZHA Start up issue with Home-Assistant Docker/Hass.io installs on linux hosts
On Linux hosts ZHA can fail to start during HA startup or restarts because the zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system.
diff --git a/source/_integrations/zigbee.markdown b/source/_integrations/zigbee.markdown
index 62c4d6603a7..9424890bad2 100644
--- a/source/_integrations/zigbee.markdown
+++ b/source/_integrations/zigbee.markdown
@@ -11,7 +11,7 @@ ha_release: 0.12
ha_iot_class: Local Polling
---
-[Zigbee](http://www.zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](http://www.digi.com/lp/xbee) as wireless General Purpose Input/Output (GPIO) devices. The integration requires a local Zigbee device to be connected to a serial port. Through this, it will send and receive commands to and from other devices on the Zigbee mesh network.
+[Zigbee](https://zigbee.org/what-is-zigbee/) integration for Home Assistant allows you to utilize modules such as the [XBee](https://www.digi.com/xbee) as wireless General Purpose Input/Output (GPIO) devices. The integration requires a local Zigbee device to be connected to a serial port. Through this, it will send and receive commands to and from other devices on the Zigbee mesh network.
There is currently support for the following device types within Home Assistant:
@@ -65,7 +65,7 @@ zigbee:
## Binary Sensor
-A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [Zigbee](http://www.zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the Zigbee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`.
+A `zigbee` binary sensor in this context is a device connected to one of the digital input pins on a [Zigbee](https://zigbee.org/) module. The states reported by such a device are limited to `on` or `off`. By default, a binary sensor is considered `on` when the Zigbee device's digital input pin is held 'high' and considered `off` when it is held `low`. This behavior can be inverted by setting the `on_state` configuration variable to `low`.
### Configuration
@@ -134,7 +134,7 @@ on_state:
## Sensor
-There are two types of [Zigbee](http://www.zigbee.org/) sensor available to Home Assistant:
+There are two types of [Zigbee](https://zigbee.org/) sensor available to Home Assistant:
- [Analog input pin](#analog-input-pin)
- [Temperature sensor](#temperature-sensor) (XBee Pro)
diff --git a/source/_integrations/zwave.markdown b/source/_integrations/zwave.markdown
index 2a377119179..03b7fce9a06 100644
--- a/source/_integrations/zwave.markdown
+++ b/source/_integrations/zwave.markdown
@@ -17,7 +17,7 @@ ha_iot_class: Local Push
ha_release: 0.7
---
-The [Z-Wave](http://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Please see the [Z-Wave getting started section](/docs/z-wave/) for in-depth documentation on how to use and setup the Z-Wave component.
+The [Z-Wave](https://www.z-wave.com/) integration for Home Assistant allows you to observe and control connected Z-Wave devices. Please see the [Z-Wave getting started section](/docs/z-wave/) for in-depth documentation on how to use and setup the Z-Wave component.
There is currently support for the following device types within Home Assistant:
diff --git a/source/_lovelace/alarm-panel.markdown b/source/_lovelace/alarm-panel.markdown
index 0155f19dcb6..09e25d85f7d 100644
--- a/source/_lovelace/alarm-panel.markdown
+++ b/source/_lovelace/alarm-panel.markdown
@@ -44,6 +44,10 @@ states:
description: Arm Night
arm_custom_bypass:
description: Arm Custom Bypass
+theme:
+ required: false
+ description: "Set to any theme within `themes.yaml`"
+ type: string
{% endconfiguration %}
## Examples
diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown
index 33db375cb3d..9f352854c81 100644
--- a/source/_lovelace/entities.markdown
+++ b/source/_lovelace/entities.markdown
@@ -19,6 +19,10 @@ title:
required: false
description: The card title.
type: string
+icon:
+ required: false
+ description: An icon to display to the left of the title
+ type: string
show_header_toggle:
required: false
description: Button to turn on/off all entities.
@@ -63,6 +67,96 @@ format:
required: false
description: "How the state should be formatted. Currently only used for timestamp sensors. Valid values are: `relative`, `total`, `date`, `time` and `datetime`."
type: string
+tap_action:
+ required: false
+ description: Action to take on tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`toggle`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+hold_action:
+ required: false
+ description: Action to take on tap-and-hold
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
{% endconfiguration %}
## Special Row Elements
diff --git a/source/_lovelace/entity-button.markdown b/source/_lovelace/entity-button.markdown
index ee3ed4a6b4e..812c77eb185 100644
--- a/source/_lovelace/entity-button.markdown
+++ b/source/_lovelace/entity-button.markdown
@@ -80,6 +80,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -110,12 +115,75 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
{% endconfiguration %}
+## Options For Confirmation
+
+If you define confirmation as an object instead of boolean, you can add more customization and configurations:
+{% configuration %}
+text:
+ required: false
+ description: Text to present in the confirmation dialog.
+ type: string
+exemptions:
+ required: false
+ description: "List of `exemption` objects. See below"
+ type: list
+{% endconfiguration %}
+
+## Options For Exemptions
+
+{% configuration badges %}
+user:
+ required: true
+ description: User id that can see the view tab.
+ type: string
+{% endconfiguration %}
+
## Examples
Title and Script Service Example:
diff --git a/source/_lovelace/entity-filter.markdown b/source/_lovelace/entity-filter.markdown
index 488c32f59a2..089930c171f 100644
--- a/source/_lovelace/entity-filter.markdown
+++ b/source/_lovelace/entity-filter.markdown
@@ -23,7 +23,7 @@ entities:
description: A list of entity IDs or `entity` objects, see below.
type: list
state_filter:
- required: false
+ required: true
description: List of strings representing states or `filter` objects, see below.
type: list
card:
@@ -84,7 +84,7 @@ value:
type: string
operator:
required: false
- description: Operator to use in the comparison.
+ description: Operator to use in the comparison. Can be `==`, `<=`, `<`, `>=`, `>`, `!=` or `regex`.
type: string
attribute:
required: false
diff --git a/source/_lovelace/glance.markdown b/source/_lovelace/glance.markdown
index c69af02b1e1..fb9b54191ac 100644
--- a/source/_lovelace/glance.markdown
+++ b/source/_lovelace/glance.markdown
@@ -75,6 +75,11 @@ show_last_changed:
description: Overwrites the state display with the relative time since last changed.
type: boolean
default: false
+show_state:
+ required: false
+ description: Show entity state-text.
+ type: boolean
+ default: true
tap_action:
required: false
description: Action to take on tap
@@ -105,6 +110,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -135,6 +145,69 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+{% endconfiguration %}
+
+## Options For Confirmation
+
+If you define confirmation as an object instead of boolean, you can add more customization and configurations:
+{% configuration %}
+text:
+ required: false
+ description: Text to present in the confirmation dialog.
+ type: string
+exemptions:
+ required: false
+ description: "List of `exemption` objects. See below"
+ type: list
+{% endconfiguration %}
+
+## Options For Exemptions
+
+{% configuration badges %}
+user:
+ required: true
+ description: User id that can see the view tab.
+ type: string
{% endconfiguration %}
## Examples
diff --git a/source/_lovelace/horizontal-stack.markdown b/source/_lovelace/horizontal-stack.markdown
index 9a5ab1d0308..0c3c05a4581 100644
--- a/source/_lovelace/horizontal-stack.markdown
+++ b/source/_lovelace/horizontal-stack.markdown
@@ -11,6 +11,10 @@ type:
required: true
description: horizontal-stack
type: string
+title:
+ required: false
+ description: Title of Stack
+ type: string
cards:
required: true
description: List of cards.
@@ -21,6 +25,7 @@ cards:
```yaml
type: horizontal-stack
+title: Lights
cards:
- type: picture-entity
image: /local/bed_1.png
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/markdown.markdown b/source/_lovelace/markdown.markdown
index 3f3c15dd81f..87a6e06d5a7 100644
--- a/source/_lovelace/markdown.markdown
+++ b/source/_lovelace/markdown.markdown
@@ -4,7 +4,10 @@ sidebar_label: Markdown
description: "Markdown card is used to render markdown"
---
-Markdown card is used to render [markdown](http://commonmark.org/help/).
+Markdown card is used to render [Markdown](https://commonmark.org/help/).
+
+The renderer uses [Marked.js](https://marked.js.org), which supports [several specifications of Markdown](https://marked.js.org/#/README.md#specifications), including CommonMark, GitHub Flavored Markdown (GFM) and `markdown.pl`.
+
@@ -18,7 +21,7 @@ type:
type: string
content:
required: true
- description: "Content to render as [markdown](http://commonmark.org/help/). May contain [templates](/docs/configuration/templating/)."
+ description: "Content to render as [Markdown](https://commonmark.org/help/). May contain [templates](/docs/configuration/templating/)."
type: string
title:
required: false
@@ -35,6 +38,10 @@ entity_id:
type: [string, list]
default: none
description: "A list of entity IDs so a template in `content:` only reacts to the state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities."
+theme:
+ required: false
+ description: "Set to any theme within `themes.yaml`"
+ type: string
{% endconfiguration %}
## Example
@@ -59,6 +66,8 @@ entities:
- light.bed_light
- light.ceiling_lights
- light.kitchen_lights
+state_filter:
+ - 'on'
card:
type: markdown
content: |
diff --git a/source/_lovelace/picture-elements.markdown b/source/_lovelace/picture-elements.markdown
index f5112d3619b..59920f2a60a 100644
--- a/source/_lovelace/picture-elements.markdown
+++ b/source/_lovelace/picture-elements.markdown
@@ -34,6 +34,10 @@ state_filter:
required: false
description: '[State-based CSS filters](#how-to-use-state_filter)'
type: map
+theme:
+ required: false
+ description: "Set to any theme within `themes.yaml`"
+ type: string
{% endconfiguration %}
## Elements
@@ -58,6 +62,111 @@ title:
required: false
description: State badge tooltip. Set to null to hide.
type: string
+tap_action:
+ required: false
+ description: Action to take on tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`toggle`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+hold_action:
+ required: false
+ description: Action to take on tap-and-hold
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
{% endconfiguration %}
### Icon representing an entity state
@@ -109,6 +218,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -139,6 +253,46 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
style:
required: true
description: Position and style the element using CSS.
@@ -199,6 +353,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -229,6 +388,46 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
style:
required: true
description: Position and style the element using CSS.
@@ -311,6 +510,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -341,6 +545,46 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
style:
required: true
description: Position and style the element using CSS.
@@ -393,6 +637,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -423,6 +672,46 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
image:
required: false
description: The image to display.
@@ -492,6 +781,29 @@ elements:
type: list
{% endconfiguration %}
+## Options For Confirmation
+
+If you define confirmation as an object instead of boolean, you can add more customization and configurations:
+{% configuration %}
+text:
+ required: false
+ description: Text to present in the confirmation dialog.
+ type: string
+exemptions:
+ required: false
+ description: "List of `exemption` objects. See below"
+ type: list
+{% endconfiguration %}
+
+## Options For Exemptions
+
+{% configuration badges %}
+user:
+ required: true
+ description: User id that can see the view tab.
+ type: string
+{% endconfiguration %}
+
### Custom Elements
{% configuration %}
diff --git a/source/_lovelace/picture-entity.markdown b/source/_lovelace/picture-entity.markdown
index 925449dde05..4c5fac80557 100644
--- a/source/_lovelace/picture-entity.markdown
+++ b/source/_lovelace/picture-entity.markdown
@@ -59,6 +59,10 @@ show_state:
description: Shows state in footer.
type: boolean
default: true
+theme:
+ required: false
+ description: "Set to any theme within `themes.yaml`"
+ type: string
tap_action:
required: false
description: Action to take on tap
@@ -89,6 +93,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -119,6 +128,69 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+{% endconfiguration %}
+
+## Options For Confirmation
+
+If you define confirmation as an object instead of boolean, you can add more customization and configurations:
+{% configuration %}
+text:
+ required: false
+ description: Text to present in the confirmation dialog.
+ type: string
+exemptions:
+ required: false
+ description: "List of `exemption` objects. See below"
+ type: list
+{% endconfiguration %}
+
+## Options For Exemptions
+
+{% configuration badges %}
+user:
+ required: true
+ description: User id that can see the view tab.
+ type: string
{% endconfiguration %}
## How to use state_filter
diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown
index 494d5d78fa3..c26ce3d3c23 100644
--- a/source/_lovelace/picture-glance.markdown
+++ b/source/_lovelace/picture-glance.markdown
@@ -58,6 +58,15 @@ entity:
required: false
description: Entity to use for `state_image`.
type: string
+show_state:
+ required: false
+ description: Show entity state-text.
+ type: boolean
+ default: true
+theme:
+ required: false
+ description: "Set to any theme within `themes.yaml`"
+ type: string
tap_action:
required: false
description: Action to take on tap
@@ -88,6 +97,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -118,6 +132,46 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
{% endconfiguration %}
## Options For Entities
@@ -133,6 +187,11 @@ icon:
required: false
description: Overwrites default icon.
type: string
+show_state:
+ required: false
+ description: Show entity state-text.
+ type: boolean
+ default: true
tap_action:
required: false
description: Action to take on tap
@@ -140,7 +199,7 @@ tap_action:
keys:
action:
required: true
- description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@@ -158,6 +217,11 @@ tap_action:
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -165,7 +229,7 @@ hold_action:
keys:
action:
required: true
- description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@@ -183,6 +247,69 @@ hold_action:
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+{% endconfiguration %}
+
+## Options For Confirmation
+
+If you define confirmation as an object instead of boolean, you can add more customization and configurations:
+{% configuration %}
+text:
+ required: false
+ description: Text to present in the confirmation dialog.
+ type: string
+exemptions:
+ required: false
+ description: "List of `exemption` objects. See below"
+ type: list
+{% endconfiguration %}
+
+## Options For Exemptions
+
+{% configuration badges %}
+user:
+ required: true
+ description: User id that can see the view tab.
+ type: string
{% endconfiguration %}
## How to use state_filter
diff --git a/source/_lovelace/picture.markdown b/source/_lovelace/picture.markdown
index 6170f9fe43a..6a97fb0e5e4 100644
--- a/source/_lovelace/picture.markdown
+++ b/source/_lovelace/picture.markdown
@@ -20,6 +20,10 @@ image:
required: true
description: The URL of an image.
type: string
+theme:
+ required: false
+ description: "Set to any theme within `themes.yaml`"
+ type: string
tap_action:
required: false
description: Action to take on tap
@@ -50,6 +54,11 @@ tap_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
hold_action:
required: false
description: Action to take on tap-and-hold
@@ -80,6 +89,69 @@ hold_action:
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+double_tap_action:
+ required: false
+ description: Action to take on double tap
+ type: map
+ keys:
+ action:
+ required: true
+ description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
+ type: string
+ default: "`more-info`"
+ navigation_path:
+ required: false
+ description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
+ type: string
+ default: none
+ url_path:
+ required: false
+ description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
+ type: string
+ default: none
+ service:
+ required: false
+ description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ service_data:
+ required: false
+ description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
+ type: string
+ default: none
+ confirmation:
+ required: false
+ description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
+ type: [boolean, map]
+ default: "false"
+{% endconfiguration %}
+
+## Options For Confirmation
+
+If you define confirmation as an object instead of boolean, you can add more customization and configurations:
+{% configuration %}
+text:
+ required: false
+ description: Text to present in the confirmation dialog.
+ type: string
+exemptions:
+ required: false
+ description: "List of `exemption` objects. See below"
+ type: list
+{% endconfiguration %}
+
+## Options For Exemptions
+
+{% configuration badges %}
+user:
+ required: true
+ description: User id that can see the view tab.
+ type: string
{% endconfiguration %}
## Examples
diff --git a/source/_lovelace/plant-status.markdown b/source/_lovelace/plant-status.markdown
index 9b357cfe09d..4a51516674a 100644
--- a/source/_lovelace/plant-status.markdown
+++ b/source/_lovelace/plant-status.markdown
@@ -25,6 +25,10 @@ name:
description: Overwrites Friendly Name
type: string
default: Entity Name
+theme:
+ required: false
+ description: "Set to any theme within `themes.yaml`"
+ type: string
{% endconfiguration %}
## Example
diff --git a/source/_lovelace/shopping-list.markdown b/source/_lovelace/shopping-list.markdown
index f1caa13819b..ac066ceb7a6 100644
--- a/source/_lovelace/shopping-list.markdown
+++ b/source/_lovelace/shopping-list.markdown
@@ -26,6 +26,10 @@ title:
required: false
description: Title of Shopping List
type: string
+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/_lovelace/vertical-stack.markdown b/source/_lovelace/vertical-stack.markdown
index 146f009220d..c918c3cc4ef 100644
--- a/source/_lovelace/vertical-stack.markdown
+++ b/source/_lovelace/vertical-stack.markdown
@@ -11,6 +11,10 @@ type:
required: true
description: vertical-stack
type: string
+title:
+ required: false
+ description: Title of Stack
+ type: string
cards:
required: true
description: List of cards.
@@ -23,6 +27,7 @@ Basic example:
```yaml
type: vertical-stack
+title: Backyard
cards:
- type: picture-entity
entity: camera.demo_camera
diff --git a/source/_lovelace/weather-forecast.markdown b/source/_lovelace/weather-forecast.markdown
index 651b25d81c4..64354728c2e 100644
--- a/source/_lovelace/weather-forecast.markdown
+++ b/source/_lovelace/weather-forecast.markdown
@@ -25,6 +25,10 @@ name:
description: Overwrites the friendly name.
type: string
default: Entity Name
+theme:
+ required: false
+ description: "Set to any theme within `themes.yaml`"
+ type: string
{% endconfiguration %}
Example
diff --git a/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown b/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown
index ce5ebc0b797..005e4aff134 100644
--- a/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown
+++ b/source/_posts/2015-02-28-home-assistant-migrating-to-yaml.markdown
@@ -11,6 +11,6 @@ Home Assistant is now using [YAML](http://yaml.org/) for it's configuration file
The new file is named configuration.yaml and if it can't be found in your config directory, Home Assistant will instead try to find the old configuration file, home-assistant.conf.
-The home-assistant.conf.example has been replaced with an updated [configuration.yaml.example](https://github.com/home-assistant/home-assistant/blob/dev/config/configuration.yaml.example).
+The home-assistant.conf.example has been replaced with an updated configuration.yaml.example.
Users of Home Assistant should migrate as the old configuration format is deprecated.
diff --git a/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown b/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown
index 215e6b59991..aefaddf13c2 100644
--- a/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown
+++ b/source/_posts/2015-09-13-home-assistant-meets-ifttt.markdown
@@ -36,7 +36,7 @@ Maker channel setup:
| Field | Value |
| ----- | ----- |
-| URL | http://xxx.xxx.xxx.xxx:8123/api/services/switch/turn_off?api_password=xxxxxxxx
+| URL | `http://xxx.xxx.xxx.xxx:8123/api/services/switch/turn_off?api_password=xxxxxxxx`
| METHOD | POST
| CONTENT TYPE | application/json
| BODY | { "entity_id": "switch.irrigation" }
@@ -73,7 +73,7 @@ Maker channel setup:
| Field | Value |
| ----- | ----- |
-| URL | http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx
+| URL | `http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx`
| METHOD | POST
| CONTENT TYPE | application/json
| BODY | { "entity_id": "light.kitchen" }
@@ -88,7 +88,7 @@ Maker channel setup:
| Field | Value |
| ----- | ----- |
-| URL | http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx
+| URL | `http://xxx.xxx.xxx.xxx:8123/api/services/light/turn_on?api_password=xxxxxxxx`
| METHOD | POST
| CONTENT TYPE | application/json
| BODY | { "entity_id": "group.all_lights", "flash":"yes" }
diff --git a/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown b/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown
index 02c9c0a916e..918394e923f 100644
--- a/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown
+++ b/source/_posts/2015-10-26-firetv-and-radiotherm-now-supported.markdown
@@ -24,7 +24,7 @@ After two weeks of hard work I'm proud to announce the release of Home Assistant
- Light: [Hyperion](/integrations/hyperion) now supported (@MakeMeASandwich)
- Sensor: [aRest](/integrations/arest#sensor) can now also read out pins ([@balloob](https://github.com/balloob))
- Sensor: [Forecast.io](/integrations/darksky) now supports specifying units in `configuration.yaml` ([@balloob](https://github.com/balloob))
- - Thermostat: [Heat Control](/integrations/thermostat.heat_control/) has been completely rewritten ([@balloob](https://github.com/balloob))
+ - Thermostat: Heat Control has been completely rewritten ([@balloob](https://github.com/balloob))
- Switch: [Rest](/integrations/switch.rest/) now supported ([@bachp](https://github.com/bachp))
- Media Player: [Plex](/integrations/plex#media-player) can now be auto discovered and configure itself ([@tomduijf](https://github.com/tomduijf))
- [Downloader](/integrations/downloader/) will now treat relative paths based on config dir ([@tomduijf](https://github.com/tomduijf))
diff --git a/source/_posts/2015-11-22-survey-november-2015.markdown b/source/_posts/2015-11-22-survey-november-2015.markdown
index 34a8ea42e80..7ba6aaf218a 100644
--- a/source/_posts/2015-11-22-survey-november-2015.markdown
+++ b/source/_posts/2015-11-22-survey-november-2015.markdown
@@ -19,7 +19,7 @@ Of course most users are running with the [automation](/getting-started/automati
The [Alarm control panels](/integrations/alarm_control_panel/) and the [camera component](/integrations/camera/) are both used by around one third of the participants of the survey. It's safe to say that they cover a niche, but they will gain momentum when people discover how they can build alarm systems with Home Assistant.
-[Philips Hue](/integrations/hue) is the "winner" in the light category closely followed by [MQTT lights](components/light.mqtt/). [Google Cast](/integrations/cast) and [ Plex](/integrations/plex#media-player) are the top media player platforms. [Pushbullet](/integrations/pushbullet) is by far the most-used [notification platform](/integrations/notify/). If you followed the recent efforts to improve this platform it's comprehensible.
+[Philips Hue](/integrations/hue) is the "winner" in the light category closely followed by [MQTT lights](/integrations/light.mqtt/). [Google Cast](/integrations/cast) and [ Plex](/integrations/plex#media-player) are the top media player platforms. [Pushbullet](/integrations/pushbullet) is by far the most-used [notification platform](/integrations/notify/). If you followed the recent efforts to improve this platform it's comprehensible.
It's interesting to see that most of the sensor, switch, and thermostat platforms are used. A lot of people seem to be interested in the weather data provided by the [Forecast sensor](/integrations/darksky). The MQTT sensors and switches are deployed in almost 50% of all Home Assistant setups.
diff --git a/source/_posts/2015-12-07-influxdb-and-grafana.markdown b/source/_posts/2015-12-07-influxdb-and-grafana.markdown
index 99cd2cc3edb..349c9d652c2 100644
--- a/source/_posts/2015-12-07-influxdb-and-grafana.markdown
+++ b/source/_posts/2015-12-07-influxdb-and-grafana.markdown
@@ -27,7 +27,7 @@ Launch the InfluxDB service.
sudo systemctl start influxdb
```
-If everything went well, then the web interface of the database should be accessible at [http://localhost:8083/](http://localhost:8083/). Create a database `home_assistant` to use with Home Assistant either with the web interface or the commandline tool `influx`.
+If everything went well, then the web interface of the database should be accessible at `http://localhost:8083/`. Create a database `home_assistant` to use with Home Assistant either with the web interface or the commandline tool `influx`.