mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-13 12:26:50 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
5fc838deb1
@ -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
|
||||
```
|
||||
|
||||
|
@ -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
|
||||
```
|
||||
```
|
||||
|
@ -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
|
||||
|
||||
|
@ -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).
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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).
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -8,7 +8,7 @@ ha_qa_scale: internal
|
||||
ha_release: 0.19
|
||||
---
|
||||
|
||||
The `climate` integration is built for the controlling and monitoring of HVAC (heating, ventilating, and air conditioning) and thermostat devices.
|
||||
The Climate integration allows you to control and monitor HVAC (heating, ventilating, and air conditioning) devices and thermostats.
|
||||
|
||||
## Services
|
||||
|
||||
@ -16,7 +16,7 @@ The `climate` integration is built for the controlling and monitoring of HVAC (h
|
||||
|
||||
Available services: `climate.set_aux_heat`, `climate.set_preset_mode`, `climate.set_temperature`, `climate.set_humidity`, `climate.set_fan_mode`, `climate.set_hvac_mode`, `climate.set_swing_mode`, `climate.turn_on`, `climate.turn_off`
|
||||
|
||||
<div class='note'>\
|
||||
<div class='note'>
|
||||
|
||||
Not all climate services may be available for your platform. Be sure to check the available services Home Assistant has enabled by checking <img src='/images/screenshots/developer-tool-services-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> **Services**.
|
||||
|
||||
@ -28,7 +28,7 @@ Turn auxiliary heater on/off for climate device
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
| `aux_heat` | no | New value of auxiliary heater.
|
||||
|
||||
#### Automation example
|
||||
@ -47,13 +47,13 @@ automation:
|
||||
|
||||
### Service `climate.set_preset_mode`
|
||||
|
||||
Set preset mode for climate device. The away mode changes the target temperature permanently to a temperature
|
||||
reflecting a situation where the climate device is set to save energy. This may be used to emulate a
|
||||
"vacation mode", for example.
|
||||
Set preset mode for climate device. Away mode changes the target temperature permanently to a temperature
|
||||
reflecting a situation where the climate device is set to save energy. For example, this may be used to emulate a
|
||||
"vacation mode."
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
| `preset_mode` | no | New value of preset mode.
|
||||
|
||||
#### Automation example
|
||||
@ -76,15 +76,16 @@ Set target temperature of climate device
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `temperature` | no | New target temperature for hvac
|
||||
| `target_temp_high` | yes | New target high temperature for hvac
|
||||
| `target_temp_low` | yes | New target low temperature for hvac
|
||||
| `hvac_mode` | yes | HVAC mode to set temperature to. This defaults to current HVAC mode if not set, or set incorrectly.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
| `temperature` | no | New target temperature for climate device (commonly referred to as a *setpoint*). Do not use if `hvac_mode` is `heat_cool`.
|
||||
| `target_temp_high` | yes | The highest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`.
|
||||
| `target_temp_low` | yes | The lowest temperature that the climate device will allow. Required if `hvac_mode` is `heat_cool`.
|
||||
| `hvac_mode` | yes | HVAC mode to set the climate device to. This defaults to current HVAC mode if not set, or set incorrectly.
|
||||
|
||||
#### Automation example
|
||||
#### Automation examples
|
||||
|
||||
```yaml
|
||||
### Set temperature to 24 in heat mode
|
||||
automation:
|
||||
trigger:
|
||||
platform: time
|
||||
@ -97,13 +98,28 @@ automation:
|
||||
hvac_mode: heat
|
||||
```
|
||||
|
||||
```yaml
|
||||
### Set temperature range to 20 to 24 in heat_cool mode
|
||||
automation:
|
||||
trigger:
|
||||
platform: time
|
||||
at: "07:15:00"
|
||||
action:
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.kitchen
|
||||
target_temp_high: 24
|
||||
target_temp_low: 20
|
||||
hvac_mode: heat_cool
|
||||
```
|
||||
|
||||
### Service `climate.set_humidity`
|
||||
|
||||
Set target humidity of climate device
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
| `humidity` | no | New target humidity for climate device
|
||||
|
||||
#### Automation example
|
||||
@ -126,7 +142,7 @@ Set fan operation for climate device
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
| `fan_mode` | no | New value of fan mode
|
||||
|
||||
#### Automation example
|
||||
@ -145,11 +161,11 @@ automation:
|
||||
|
||||
### Service `climate.set_hvac_mode`
|
||||
|
||||
Set HVAC mode for climate device
|
||||
Set climate device's HVAC mode
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
| `hvac_mode` | no | New value of HVAC mode
|
||||
|
||||
#### Automation example
|
||||
@ -172,7 +188,7 @@ Set swing operation mode for climate device
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
| `swing_mode` | no | New value of swing mode
|
||||
|
||||
#### Automation example
|
||||
@ -195,12 +211,12 @@ Turn climate device on. This is only supported if the climate device supports be
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
|
||||
### Service `climate.turn_off`
|
||||
|
||||
Turn climate device off. This is only supported if the climate device has the hvac mode "off".
|
||||
Turn climate device off. This is only supported if the climate device has the hvac mode `off`.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Targets all when omitted.
|
||||
| `entity_id` | yes | String or list of strings that define the entity ID(s) of climate device(s) to control. Targets all when omitted.
|
||||
|
@ -55,7 +55,7 @@ view:
|
||||
type: boolean
|
||||
default: false
|
||||
control:
|
||||
description: "**Only applies to the deprecated UI `/states`**. Set value to `hidden`. If hidden then the group switch will be hidden. *Does not apply to Lovelace.*"
|
||||
description: "**This is only a feature in generated mode of Lovelace** If value set to `hidden` the group switch will be hidden."
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
@ -285,7 +285,7 @@ sensor:
|
||||
measurement: '"°C"'
|
||||
field: value
|
||||
database: db1
|
||||
- name: Min for last hour
|
||||
- name: Min for last hour
|
||||
unit_of_measurement: '%'
|
||||
value_template: '{% raw %}{{ value | round(1) }}{% endraw %}'
|
||||
group_function: min
|
||||
@ -293,4 +293,4 @@ sensor:
|
||||
measurement: '"%"'
|
||||
field: tmp
|
||||
database: db2
|
||||
```
|
||||
```
|
||||
|
@ -11,7 +11,7 @@ ha_iot_class: Cloud Polling
|
||||
ha_config_flow: true
|
||||
---
|
||||
|
||||
The `openuv` integration displays UV and Ozone data from [openuv.io](http://openuv.io).
|
||||
The `openuv` integration displays UV and Ozone data from [openuv.io](https://www.openuv.io/).
|
||||
|
||||
## Generating an API Key
|
||||
|
||||
|
@ -8,9 +8,9 @@ ha_release: 0.34
|
||||
ha_iot_class: Cloud Polling
|
||||
---
|
||||
|
||||
The `waqi` sensor platform will query [World Air Quality Index](http://aqicn.org) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
|
||||
The `waqi` sensor platform will query [World Air Quality Index](https://aqicn.org/city/beijing/) service to check AQI value for a specific set of locations. The resulting indexes will be added to the Home Assistant as sensor outputs.
|
||||
|
||||
This sensor requires an API token. Please obtain one at [AQICN API token](http://aqicn.org/data-platform/token/#/).
|
||||
This sensor requires an API token. Please obtain one at [AQICN API token](https://aqicn.org/data-platform/token/#/).
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
|
@ -27,7 +27,7 @@ Have you found an issue in your Home Assistant installation? Please report it. R
|
||||
|
||||
- [PyconFR 2018 - Faire de la domotique libriste avec Python](https://www.youtube.com/watch?v=Eu6umBJ51I4) (French) ([Slides](https://hackmd.io/p/BJTSyDkqm)) - October 2018
|
||||
- [Build your own smart home with Home Assistant](https://zmonkey.org/blog/files/Home%20Assistant%202018%20v1.0.pdf) at [OpenWest](https://openwest.org) - June 2018
|
||||
- [Automate your home with Home Assistant](https://www.youtube.com/watch?v=SSrgi4iHGbs) at [foss-north 2018](http://foss-north.se/2018/speakers-and-talks.html#jparadies) - March 2018
|
||||
- [Automate your home with Home Assistant](https://www.youtube.com/watch?v=SSrgi4iHGbs) at [foss-north 2018](https://foss-north.se/2018/speakers-and-talks.html#jparadies) - March 2018
|
||||
- [Home Assistant](https://github.com/home-assistant/home-assistant-assets/tree/master/english/2017-qecampX) at QECampX 2017 - October 2017
|
||||
- [Open Source Heimautomation mit Home Assistant](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2017-maker-faire-zurich) at [Mini Maker Faire Zurich 2017](https://www.makerfairezurich.ch/en/) - September 2017
|
||||
- [Why we can't have the Internet of Nice Things: A home automation primer](https://www.openwest.org/custom/description.php?id=92) at [OpenWest 2017](https://www.openwest.org) - July 2017
|
||||
@ -35,7 +35,7 @@ Have you found an issue in your Home Assistant installation? Please report it. R
|
||||
- [Home Automation with Python](https://www.youtube.com/watch?v=KNFZSSCPUyM) at [GLT 2017](https://glt17.linuxtage.at) - April 2017
|
||||
- [Home Assistant workshop](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2017-clt-workshop) at [CLT 2017](https://chemnitzer.linux-tage.de/2017/de/) - March 2017
|
||||
- [Home Assistant - Erweiterungen (Platforms/Components)](https://github.com/home-assistant/home-assistant-assets/tree/master/german/2016-puzzle) at [Puzzle ITC](https://www.puzzle.ch/de/) - December 2016
|
||||
- [Automating Your Life - Home Automation](http://slides.com/teagan42/life_automation#/) at Develop Denver 2016 - August
|
||||
- [Automating Your Life - Home Automation](https://slides.com/teagan42/life_automation#/) at Develop Denver 2016 - August
|
||||
- [Building Online Communities: Home Assistant](https://medium.com/@gitter/building-online-communities-home-assistant-8818dff671ad#.och4x4rhx) - July 2016
|
||||
- [Home Assistant Support 101 - Getting around in Home Assistant](https://www.youtube.com/watch?v=dRfk9JAlPJk) (Slides) - June 2016
|
||||
- [Awaken your home: Python and the Internet of Things](https://www.youtube.com/watch?v=Cfasc9EgbMU&list=PLKsVm4cWHDQB9JBcD7_ZfNcvC6xx47QHT&index=1) at PyCon 2016 - June 2016
|
||||
@ -63,26 +63,26 @@ Don't miss the regular [Home Assistant podcasts](https://hasspodcast.io/).
|
||||
- [Hausautomations-Schaltzentrale Home Assistant auf Python-Basis](https://www.heise.de/ct/ausgabe/2017-26-Hausautomations-Schaltzentrale-Home-Assistant-3909532.html) - December 2017
|
||||
- [Using Home Assistant the ARTIK Cloud](https://developer.artik.io/documentation/developer-guide/wireless-iot/hass.html) - September 2017
|
||||
- [Control home automation hardware with Home Assistant](http://www.linux-magazine.com/Issues/2017/203/Home-Assistant) - August 2017
|
||||
- [Smart Home Home Assistant KNX Alexa Sprachsteuerung](http://onesmarthome.de/smart-home-home-assistant-knx-alexa-sprachsteuerung/) - August 2017
|
||||
- [Smart Home Home Assistant KNX Alexa Sprachsteuerung](https://onesmarthome.de/smart-home-home-assistant-knx-alexa-sprachsteuerung/) - August 2017
|
||||
- [Episode #122: Home Assistant: Pythonic Home Automation](https://talkpython.fm/episodes/show/122/home-assistant-pythonic-home-automation) - July 2017
|
||||
- [Smart Home Home Assistant Konfiguration mit YAML](http://onesmarthome.de/smart-home-home-assistant-konfiguration/) - July 2017
|
||||
- [Smart Home Home Assistant Konfiguration mit YAML](https://onesmarthome.de/smart-home-home-assistant-konfiguration/) - July 2017
|
||||
- [Why can't we have the Internet of Nice Things?](https://opensource.com/article/17/7/home-automation-primer) - July 2017
|
||||
- [Smart Home Home Assistant Raspberry Pi Installation Hassbian](http://onesmarthome.de/smart-home-home-assistant-raspberry-pi-installation-hassbian/) - July 2017
|
||||
- [Jupiter Broadcasting - No Privacy Compromise Home Automation](http://www.jupiterbroadcasting.com/115566/no-privacy-compromise-home-automation/) - June 2017
|
||||
- [Jupiter Broadcasting - No Privacy Compromise Home Automation](https://www.jupiterbroadcasting.com/115566/no-privacy-compromise-home-automation/) - June 2017
|
||||
- [Monitor IoT devices with Home Assistant and Datadog](https://www.datadoghq.com/blog/monitor-home-assistant/) - June 2017
|
||||
- [Castálio Podcast - Episódio 102: Marcelo Mello - Red Hat e Automação Residencial com Home Assistant](https://youtu.be/hZq8ucpzjCs) - May 2017
|
||||
- [Paulus Schoutsen and Home Assistant - Episode 8](http://codepop.com/open-sourcecraft/episodes/paulus-schoutsen/) - March 2017
|
||||
- [Paulus Schoutsen and Home Assistant - Episode 8](https://codepop.com/open-sourcecraft/episodes/paulus-schoutsen/) - March 2017
|
||||
- [Zammad, Home Assistant and Freifunk - are the winner of the Thomas-Krenn-Awards 2017](https://www.thomas-krenn.com/de/tkmag/allgemein/zammad-home-assistant-und-freifunk-das-sind-die-gewinner-des-thomas-krenn-awards-2017/) - March 2017
|
||||
- [10 open source software tools for developing IoT applications](http://www.cbronline.com/news/internet-of-things/10-open-source-software-tools-developing-iot-applications/) - March 2017
|
||||
- [10 open source software tools for developing IoT applications](https://www.cbronline.com/news/internet-of-things/10-open-source-software-tools-developing-iot-applications/) - March 2017
|
||||
- [Home Assistant with Paulus Schoutsen - Episode 94](https://www.podcastinit.com/episode-94-home-assistant-with-paulus-schoutsen/) - January 2017
|
||||
- [Episode #11](https://pythonbytes.fm/episodes/show/11/django-2.0-is-dropping-python-2-entirely-pipenv-for-profile-functionality-and-pythonic-home-automation) at minute 15:20 by [Python Bytes](https://pythonbytes.fm/) - January 2017
|
||||
- [Now you can hide your smart home on the darknet](https://www.wired.com/2016/07/now-can-hide-smart-home-darknet/) - July 2016
|
||||
- [Home Assistant: The Python Approach to Home Automation](https://www.linux.com/news/home-assistant-python-approach-home-automation-video) - June 2016
|
||||
- [Secure home automation, without clouds or dedicated hubs](http://linuxgizmos.com/secure-home-automation-without-clouds-or-dedicated-hubs/) - June 2016
|
||||
- [Weekend Project: Setting up Home Assistant on your PC or Mac](http://www.automatedhome.co.uk/software/weekend-project-setting-up-home-assistant-on-your-pc-or-mac.html) by [automated home](http://www.automatedhome.co.uk/) - April 2016
|
||||
- [Weekend Project: Setting up Home Assistant on your PC or Mac](https://www.automatedhome.co.uk/software/weekend-project-setting-up-home-assistant-on-your-pc-or-mac.html) by [automated home](https://www.automatedhome.co.uk/) - April 2016
|
||||
- [Episode 105 - DIY Home Automation Roundup](https://www.hometech.fm/shows/105) by [HomeTech.fm](https://www.hometech.fm/) - April 2016
|
||||
- [5 open source home automation tools](https://opensource.com/life/16/3/5-open-source-home-automation-tools) by [opensource.com](https://opensource.com) - March 2016
|
||||
- [Home Assistant – Open Source Python Home Automation Platform](http://www.automatedhome.co.uk/new-products/home-assistant-open-source-python-home-automation-platform.html) - January 2015
|
||||
- [Home Assistant – Open Source Python Home Automation Platform](https://www.automatedhome.co.uk/new-products/home-assistant-open-source-python-home-automation-platform.html) - January 2015
|
||||
|
||||
[forum]: https://community.home-assistant.io/
|
||||
[twitter]: https://twitter.com/home_assistant
|
||||
|
Loading…
x
Reference in New Issue
Block a user