mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-16 13:56:53 +00:00
Merge remote-tracking branch 'origin/next' into rc
This commit is contained in:
commit
4b8212f228
3
CLA.md
3
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/
|
||||
|
@ -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/)
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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:'
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
}
|
@ -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 %}
|
||||
|
@ -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:
|
||||
|
@ -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 %}
|
||||
|
||||
<div class='note'>
|
||||
|
@ -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:
|
||||
|
103
source/_components/solarlog.markdown
Normal file
103
source/_components/solarlog.markdown
Normal file
@ -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.
|
||||
|
||||
<div class='note warning'>
|
||||
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.
|
||||
</div>
|
||||
|
||||
## 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) |
|
||||
|
||||
<div class='note'>
|
||||
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.
|
||||
</div>
|
@ -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
|
||||
```
|
||||
|
||||
|
@ -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
|
||||
---
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: "Configuration.yaml by chriskacerguis"
|
||||
description: ""
|
||||
ha_category: Example configuration.yaml
|
||||
ha_external_link: https://github.com/chriskacerguis/Home-AssistantConfig
|
||||
---
|
@ -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
|
||||
---
|
@ -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
|
||||
---
|
@ -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.
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
```
|
||||
```
|
||||
|
@ -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."
|
||||
|
@ -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
|
||||
|
||||
|
@ -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.
|
||||
</div>
|
||||
|
||||
|
||||
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.
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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 <img src='/images/screenshots/developer-tool-templates-icon.png' alt='template developer tool icon' class="no-shadow" height="38" /> 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.
|
||||
|
@ -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).
|
||||
|
||||
|
@ -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).
|
||||
|
@ -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
|
||||
<VirtualHost *:443>
|
||||
@ -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
|
||||
<VirtualHost *:443>
|
||||
|
@ -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
|
||||
|
@ -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/<hass ip>
|
||||
address=/mydomain.com/<hass IP>
|
||||
```
|
||||
|
||||
### 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:
|
||||
|
@ -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 {
|
||||
|
@ -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.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/jupyter-new.png' />
|
||||
@ -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.
|
||||
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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 <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.
|
||||
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 <https://www.synology.com/en-us/dsm/app_packages/Docker>
|
||||
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 <https://www.synology.com/en-us/dsm/packages/Docker>
|
||||
|
||||
The steps would be:
|
||||
* Install "Docker" package on your Synology NAS
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
</div>
|
||||
|
||||
# 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 <jailname>`. 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
|
||||
```
|
||||
|
@ -13,7 +13,7 @@ One of the easiest ways to install Home Assistant on your Raspberry Pi Zero, 2,
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
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.
|
||||
|
||||
</div>
|
||||
|
||||
@ -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`.
|
||||
|
||||
|
@ -14,7 +14,7 @@ Although these installation steps specifically mention a Raspberry Pi, you can g
|
||||
|
||||
<div class='note warning'>
|
||||
|
||||
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.
|
||||
|
||||
</div>
|
||||
|
||||
@ -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`.
|
||||
|
||||
<div class='note'>
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 %}
|
||||
|
@ -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.
|
||||
|
||||
<div class='note'>
|
||||
Home Assistant is not affiliated with CloudMQTT nor will receive any kickbacks.
|
||||
|
@ -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.
|
||||
</div>
|
||||
|
||||
```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
|
||||
```
|
||||
|
@ -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].
|
||||
|
@ -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:
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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).
|
||||
|
@ -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*
|
||||
|
||||
<div class='note warning'>
|
||||
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.
|
||||
</div>
|
||||
|
||||
## Removing Devices
|
||||
|
||||
To remove (exclude) a Z-Wave device from your system:
|
||||
|
@ -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
|
||||
</CommandClass>
|
||||
```
|
||||
|
||||
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:
|
||||
|
||||
|
@ -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.
|
||||
|
19
source/_headers
Normal file
19
source/_headers
Normal file
@ -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
|
@ -5,7 +5,7 @@ g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js
|
||||
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="/javascripts/prism.js"></script>
|
||||
<script src="/javascripts/prism.js?{{ site.time | date: '%s' }}" type="text/javascript"></script>
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css" />
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script>
|
||||
|
@ -8,7 +8,7 @@
|
||||
</div>
|
||||
<div class="icons">
|
||||
<a rel="me" href='https://twitter.com/home_assistant' title="Twitter"><i class="icon-twitter"></i></a>
|
||||
<a rel="me" href='https://facebook.com/homeassistantio' title="Facebook"><i class="icon-facebook"></i></a>
|
||||
<a rel="me" href='https://www.facebook.com/homeassistantio' title="Facebook"><i class="icon-facebook"></i></a>
|
||||
<a rel="me" href='https://github.com/home-assistant/home-assistant' title="GitHub"><i class="icon-github"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
@ -26,7 +26,7 @@
|
||||
</div>
|
||||
|
||||
<div class='grid__item one-third lap-one-half palm-one-whole'>
|
||||
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the
|
||||
Website powered by <a href='https://jekyllrb.com/'>Jekyll</a> and the
|
||||
<a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.
|
||||
Hosted by <a href='https://www.netlify.com/'>Netlify</a>.
|
||||
</div>
|
||||
|
@ -28,8 +28,8 @@
|
||||
<meta name="twitter:description" content="{{ page.description | default: site.description | strip_html | truncate: 200 }}">
|
||||
<meta name="twitter:image" content="{{ page.og_image | default: "/images/default-social.png" | prepend: site.url }}">
|
||||
|
||||
<link href="/stylesheets/prism.css" rel="stylesheet">
|
||||
<link href="/stylesheets/screen.css" media="screen, projection, print" rel="stylesheet">
|
||||
<link href="/stylesheets/prism.css?{{ site.time | date: '%s' }}" rel="stylesheet">
|
||||
<link href="/stylesheets/screen.css?{{ site.time | date: '%s' }}" media="screen, projection, print" rel="stylesheet">
|
||||
<link href="{{ site.subscribe_rss }}" rel="alternate" title="{{ site.title }}" type="application/atom+xml">
|
||||
<link rel='shortcut icon' href='/images/favicon.ico' />
|
||||
<link rel='icon' type='image/png' href='/images/favicon-192x192.png' sizes='192x192' />
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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):
|
||||
|
||||
|
@ -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.
|
||||
|
||||
<div class="note">
|
||||
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.
|
||||
|
@ -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:
|
||||
|
||||
|
41
source/_integrations/airly.markdown
Normal file
41
source/_integrations/airly.markdown
Normal file
@ -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 %}
|
@ -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).
|
||||
|
||||
|
@ -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 %}
|
||||
|
@ -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/
|
||||
|
@ -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)
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/integrations/alexa/create_iam_role_attach_permission.png' alt='Screenshot: Attach permission policy to IAM role'>
|
||||
</p>
|
||||
|
||||
- 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.)
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/integrations/alexa/lambda_function_env_var.png' alt='Screenshot: Environment variables in Lambda function'>
|
||||
</p>
|
||||
|
||||
- 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.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/integrations/alexa/account_linking.png' alt='Screenshot: Account Linking'>
|
||||
</p>
|
||||
|
||||
- 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
|
||||
|
@ -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.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/integrations/alexa/create_a_new_skill.png' alt='Screenshot: Create Smart Home skill'>
|
||||
</p>
|
||||
|
||||
- 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)
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/integrations/alexa/create_iam_role_attach_permission.png' alt='Screenshot: Attach permission policy to IAM role'>
|
||||
</p>
|
||||
|
||||
- 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: <https://gist.github.com/matt2005/744b5ef548cc13d88d0569eea65f5e5b> (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.)
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/integrations/alexa/lambda_function_env_var.png' alt='Screenshot: Environment variables in Lambda function'>
|
||||
</p>
|
||||
|
||||
- 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.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/integrations/alexa/account_linking.png' alt='Screenshot: Account Linking'>
|
||||
</p>
|
||||
|
||||
- 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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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`.
|
||||
|
@ -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`
|
||||
|
@ -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.
|
||||
|
||||
<div class='note'>
|
||||
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.
|
||||
</div>
|
||||
|
||||
### 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).
|
||||
|
||||
<div class='note warning'>
|
||||
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.
|
||||
</div>
|
||||
|
||||
Once you've successfully connected to your Android TV / Fire TV via the command `adb connect <ipaddress>: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
|
||||
|
||||
|
@ -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):
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
85
source/_integrations/apprise.markdown
Normal file
85
source/_integrations/apprise.markdown
Normal file
@ -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)
|
@ -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.
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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):
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/automation-switches.png' />
|
||||
</p>
|
||||
@ -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:
|
||||
```
|
||||
|
@ -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
|
||||
|
||||
|
@ -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"
|
||||
},
|
||||
|
@ -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.
|
||||
|
@ -14,7 +14,7 @@ The `knx` integration must be configured correctly to use this integration, see
|
||||
|
||||
</div>
|
||||
|
||||
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).
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user