mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-17 14:26:51 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
27e715d1b5
@ -138,9 +138,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 92
|
||||
current_patch_version: 0
|
||||
date_released: 2019-04-24
|
||||
current_minor_version: 93
|
||||
current_patch_version: 1
|
||||
date_released: 2019-05-17
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -103,7 +103,7 @@ acl_file /share/mosquitto/accesscontrollist
|
||||
|
||||
3. Create `/share/mosquitto/accesscontrollist` with the contents:
|
||||
```text
|
||||
user your-mqtt-user
|
||||
user [YOUR_MQTT_USER]
|
||||
topic #
|
||||
```
|
||||
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: acer.png
|
||||
ha_category: Multimedia
|
||||
ha_category:
|
||||
- Multimedia
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.19
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: actiontec.png
|
||||
ha_category: Presence Detection
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.7
|
||||
redirect_from:
|
||||
- /components/device_tracker.actiontec/
|
||||
|
@ -14,6 +14,7 @@ ha_category:
|
||||
- Light
|
||||
- Sensor
|
||||
- Switch
|
||||
- Cover
|
||||
ha_release: "0.60"
|
||||
ha_iot_class: Local Push
|
||||
redirect_from:
|
||||
@ -31,6 +32,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- [Light](#light)
|
||||
- [Sensor](#sensor)
|
||||
- [Switch](#switch)
|
||||
- [Cover](#cover)
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -80,7 +82,7 @@ Service parameters:
|
||||
|
||||
The `ads` binary sensor platform can be used to monitor a boolean value on your ADS device.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](/components/ads/) and then add the following to your `configuration.yaml`
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
@ -109,7 +111,7 @@ device_class:
|
||||
|
||||
The `ads` light platform allows you to control your connecte ADS lights.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](/components/ads/) and then add the following to your `configuration.yaml`
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
@ -128,7 +130,7 @@ adsvar:
|
||||
adsvar_brightness:
|
||||
required: false
|
||||
description: The name of the variable that controls the brightness, use an unsigned integer on the PLC side
|
||||
type: integer
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: An identifier for the Light in the frontend
|
||||
@ -139,7 +141,7 @@ name:
|
||||
|
||||
The `ads` sensor platform allows reading the value of a numeric variable on your ADS device. The variable can be of type *INT*, *UINT*, *BYTE*, *DINT* or *UDINT*.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](/components/ads/) and then add the following to your `configuration.yaml`
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
@ -178,7 +180,7 @@ The *factor* can be used to implement fixed decimals. E.g., set *factor* to 100
|
||||
|
||||
The `ads` switch platform accesses a boolean variable on the connected ADS device. The variable is identified by its name.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](/components/ads/) and then add the following to your `configuration.yaml`
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
@ -198,3 +200,56 @@ name:
|
||||
description: An identifier for the switch in the frontend.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Cover %}
|
||||
|
||||
The `ads` cover platform allows you to control your connected ADS covers.
|
||||
|
||||
To use your ADS device, you first have to set up your [ADS hub](#configuration) and then add the following to your `configuration.yaml`
|
||||
file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
cover:
|
||||
- platform: ads
|
||||
name: Curtain master bed room
|
||||
adsvar_open: covers.master_bed_room_open
|
||||
adsvar_close: covers.master_bed_room_close
|
||||
adsvar_stop: covers.master_bed_room_stop
|
||||
device_class: curtain
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
adsvar:
|
||||
required: true
|
||||
description: The name of the boolean variable that returns the current status of the cover (`True` = closed)
|
||||
type: string
|
||||
adsvar_position:
|
||||
required: false
|
||||
description: The name of the variable that returns the current cover position, use a byte variable on the PLC side
|
||||
type: string
|
||||
adsvar_set_position:
|
||||
required: false
|
||||
description: The name of the variable that sets the new cover position, use a byte variable on the PLC side
|
||||
type: string
|
||||
adsvar_open:
|
||||
required: false
|
||||
description: The name of the boolean variable that triggers the cover to open
|
||||
type: string
|
||||
adsvar_close:
|
||||
required: false
|
||||
description: The name of the boolean variable that triggers the cover to close
|
||||
type: string
|
||||
adsvar_stop:
|
||||
required: false
|
||||
description: The name of the boolean variable that triggers the cover to stop
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: An identifier for the Cover in the frontend
|
||||
type: string
|
||||
device_class:
|
||||
required: false
|
||||
description: Sets the class of the device, changing the device state and icon that is displayed on the UI (awning, blind, curtain, damper, door, garage, shade, shutter, window)
|
||||
type: device_class
|
||||
{% endconfiguration %}
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: aftership.png
|
||||
ha_category: Postal Service
|
||||
ha_category:
|
||||
- Postal Service
|
||||
ha_release: 0.85
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
@ -49,6 +50,25 @@ api_key:
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Service `add_tracking` %}
|
||||
|
||||
You can use the service `aftership.add_tracking` to add trackings to Aftership.
|
||||
|
||||
| Service data attribute | Required | Type | Description |
|
||||
| ---------------------- | -------- | -------- | ----------- |
|
||||
| `tracking_number` | `True` | string | Tracking number
|
||||
| `slug` | `False` | string | Carrier e.g. `fedex`
|
||||
| `title` | `False` | string | Friendly name of package
|
||||
|
||||
## {% linkable_title Service `remove_tracking` %}
|
||||
|
||||
You can use the service `aftership.remove_tracking` to remove trackings from Aftership.
|
||||
|
||||
| Service data attribute | Required | Type | Description |
|
||||
| ---------------------- | -------- | -------- | ----------- |
|
||||
| `tracking_number` | `True` | string | Tracking number
|
||||
| `slug` | `True` | string | Carrier e.g. `fedex`
|
||||
|
||||
<p class='note info'>
|
||||
This component retrieves data from AfterShip public REST API, but the component is not affiliated with AfterShip.
|
||||
</p>
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: airvisual.jpg
|
||||
ha_category: Health
|
||||
ha_category:
|
||||
- Health
|
||||
ha_release: 0.53
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
@ -140,8 +141,6 @@ When configured, the platform will create three sensors for each configured air
|
||||
- **Explanation:**
|
||||
|
||||
AQI | Status | Description
|
||||
redirect_from:
|
||||
- /components/sensor.airvisual/
|
||||
------- | :----------------: | ----------
|
||||
0 - 50 | **Good** | Air quality is considered satisfactory, and air pollution poses little or no risk
|
||||
51 - 100 | **Moderate** | Air quality is acceptable; however, for some pollutants there may be a moderate health concern for a very small number of people who are unusually sensitive to air pollution
|
||||
@ -164,8 +163,6 @@ redirect_from:
|
||||
- **Explanation:**
|
||||
|
||||
Pollutant | Symbol | More Info
|
||||
redirect_from:
|
||||
- /components/sensor.airvisual/
|
||||
------- | :----------------: | ----------
|
||||
Particulate (<= 2.5 μm) | PM2.5 | [EPA: Particulate Matter (PM) Pollution ](https://www.epa.gov/pm-pollution)
|
||||
Particulate (<= 10 μm) | PM10 | [EPA: Particulate Matter (PM) Pollution ](https://www.epa.gov/pm-pollution)
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: aladdin_connect.png
|
||||
ha_category: Cover
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_release: 0.75
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ifttt.png
|
||||
ha_category: Alarm
|
||||
ha_category:
|
||||
- Alarm
|
||||
ha_release: 0.66
|
||||
---
|
||||
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Alarm
|
||||
ha_category:
|
||||
- Alarm
|
||||
ha_release: 0.7.4
|
||||
ha_iot_class: Configurable
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: alarmdotcom.png
|
||||
ha_category: Alarm
|
||||
ha_category:
|
||||
- Alarm
|
||||
ha_release: 0.11
|
||||
redirect_from:
|
||||
- /components/alarm_control_panel.alarmdotcom/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Automation
|
||||
ha_category:
|
||||
- Automation
|
||||
ha_release: 0.38
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: amazon-alexa.png
|
||||
ha_category: Voice
|
||||
ha_category:
|
||||
- Voice
|
||||
featured: false
|
||||
ha_release: "0.31"
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: amazon-alexa.png
|
||||
ha_category: Voice
|
||||
ha_category:
|
||||
- Voice
|
||||
featured: false
|
||||
ha_release: "0.10"
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: amazon-alexa.png
|
||||
ha_category: Voice
|
||||
ha_category:
|
||||
- Voice
|
||||
featured: true
|
||||
ha_release: "0.10"
|
||||
---
|
||||
|
@ -8,17 +8,12 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: amazon-alexa.png
|
||||
ha_category: Voice
|
||||
ha_category:
|
||||
- Voice
|
||||
featured: false
|
||||
ha_release: "0.54"
|
||||
---
|
||||
|
||||
## {% linkable_title Automatic setup via Home Assistant Cloud %}
|
||||
|
||||
With [Home Assistant Cloud](/cloud/), you can connect your Home Assistant instance in a few simple clicks to Amazon Alexa. With Home Assistant Cloud you don't have to deal with dynamic DNS, SSL certificates or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial.
|
||||
|
||||
For Home Assistant Cloud Users, documentation can be found [here](https://www.nabucasa.com/config/amazon_alexa/).
|
||||
|
||||
## {% linkable_title Amazon Alexa Smart Home %}
|
||||
|
||||
While the Skills API described above allows for arbitrary intents, all
|
||||
@ -32,9 +27,175 @@ 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](/components/cloud/).
|
||||
|
||||
If you don't want to use Home Assistant Cloud and are willing to do the
|
||||
integration work yourself, Home Assistant can expose an HTTP API which makes
|
||||
the integration work easier. Example configuration:
|
||||
However, config Amazon Alexa Smart Home Skill is not a 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.
|
||||
|
||||
<p class='note'>
|
||||
With [Home Assistant Cloud](/cloud/), you can connect your Home Assistant instance in a few simple clicks to Amazon Alexa. With Home Assistant Cloud you don't have to deal with dynamic DNS, SSL certificates or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial.
|
||||
<br/>
|
||||
<br/>
|
||||
For Home Assistant Cloud Users, documentation can be found [here](https://www.nabucasa.com/config/amazon_alexa/).
|
||||
</p>
|
||||
|
||||
### {% linkable_title Requirements %}
|
||||
|
||||
- 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.
|
||||
|
||||
### {% linkable_title Create Your Amazon Alexa Smart Home Skill %}
|
||||
|
||||
- Sign in [Alexa Developer Console][alexa-dev-console], you can create your free account on the sign in page.
|
||||
- Go to `Alexa Skills` page if you are not, click `Create Skill` button to start the process.
|
||||
- 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.
|
||||
|
||||
<img src='/images/components/alexa/create_a_new_skill.png' alt='Screenshot: Create Smart Home skill'>
|
||||
|
||||
- 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.
|
||||
|
||||
### {% linkable_title Create Your Lambda Function %}
|
||||
|
||||
Alexa Smart Home skill will trigger a AWS Lambda function to process the request, we will write a small piece of code hosted as an Lambda function basically redirect the request to your Home Assistant instance, then Alexa integration component in Home Assistant will process the request and send back the response. Your Lambda function will delivery the response back to Alexa.
|
||||
|
||||
<p class='info'>
|
||||
There already are some great tutorials and solutions in our community to achieve same goal "Create your Alexa Smart Home Skill to connect Home Assistant", for example: [Haaska](https://github.com/mike-grant/haaska/wiki).
|
||||
|
||||
You can follow this document or others, but you cannot mixed-match different solutions since they may have different design.
|
||||
|
||||
Amazon also provided a [step-by-step guide](https://developer.amazon.com/docs/smarthome/steps-to-build-a-smart-home-skill.html) to create a Smart Home Skill, however you have to adapt its sample code to match Home Assistant API.
|
||||
</p>
|
||||
|
||||
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 tire benefit. You don't need worry the cost if your account already pass the first 12 months, AWS provides up to 1 million Lambda request, 1GB outbound data and all inbound data for free, every month, all users. See [Lambda pricing](https://aws.amazon.com/lambda/pricing/) for details.
|
||||
|
||||
#### {% linkable_title Create an IAM Role for Lambda %}
|
||||
|
||||
First thing you need to do after sing in [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 specific 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)
|
||||
|
||||
<img src='/images/components/alexa/create_iam_role_attach_permission.png' alt='Screenshot: Attach permission policy to IAM role'>
|
||||
|
||||
- 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.
|
||||
|
||||
#### {% linkable_title Create a Lambda function and add code %}
|
||||
|
||||
Next you need 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 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`.
|
||||
- Make sure select *Use an existing role* as `Execution role`, then select the role you just created from `Existing role` list.
|
||||
- Click `Create function`, then you can config detail of 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/awarecan/630510a9742f5f8901b5ab284c25e912>
|
||||
- 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 need
|
||||
* 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.)
|
||||
<img src='/images/components/alexa/lambda_function_env_var.png' alt='Screenshot: Environment variables in Lambda function'>
|
||||
|
||||
- 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.
|
||||
|
||||
#### {% linkable_title Test the Lambda function %}
|
||||
|
||||
Now, you have created the Lambda function, before you can test it, you have to set up your Home Assistant. Put following minimal configuration to your configuration.yaml, it will exposures all of your supported device and automation to Alexa. Check the [configuration section](#alexa-component-configuration) if you want more control of the exposure.
|
||||
|
||||
```yaml
|
||||
alexa:
|
||||
smart_home:
|
||||
```
|
||||
|
||||
After your Home Assistant restarted, back to `AWS Lambda Console`, you are going to do some tests.
|
||||
|
||||
On the top of your Lambda function configuration page, there is a `Test` button, click the drop down button at left of `Test` button, click `Configure test events`, you can `Create new test event` using following data:
|
||||
|
||||
```json
|
||||
{
|
||||
"directive": {
|
||||
"header": {
|
||||
"namespace": "Alexa.Discovery",
|
||||
"name": "Discover",
|
||||
"payloadVersion": "3",
|
||||
"messageId": "1bd5d003-31b9-476f-ad03-71d471922820"
|
||||
},
|
||||
"payload": {
|
||||
"scope": {
|
||||
"type": "BearerToken"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This test event is a `Discovery` directive, Home Assistant will response with a list of your devices Alexa can interact with. This test data is lack of `token` in `payload.scope`, your Lambda function will read the `LONG_LIVED_ACCESS_TOKEN` from environment variable.
|
||||
|
||||
Click `Test` button. If you don't have `LONG_LIVED_ACCESS_TOKEN`, you will get a `INVALID_AUTHORIZATION_CREDENTIAL` response as the execution result.
|
||||
|
||||
Now, you can login to your Home Assistant and [generate a long-lived access token][generate-long-lived-access-token]. After you put your long-lived access token to the `Environment variable`, do not forget click `Save` button before you `Test` again.
|
||||
|
||||
This time, you will get a list of your devices as the response. 🎉
|
||||
|
||||
### {% linkable_title Config the Smart Home Service Endpoint %}
|
||||
|
||||
Now removed the long-lived access token if you want, copied the ARN of your Lambda function, then back to [Alexa Developer Console][alexa-dev-console]. You will finish the configuration of the Smart Home skill.
|
||||
|
||||
- Sign in [Alexa Developer Console][alexa-dev-console], go to `Alexa Skills` page if you are not.
|
||||
- Find the skill you just created, click `Edit` link in the `Actions` column.
|
||||
- Click `SMART HOME` in the left navigation bar of build page.
|
||||
- Fill in `Default endpoint` under `2. Smart Home service endpoint` using the `ARN` you copied from your Lambda function configuration.
|
||||
|
||||
### {% linkable_title Account Linking %}
|
||||
|
||||
Alexa can link your Amazon account to your Home Assistant account. Therefore Home Assistant can make sure only authenticated Alexa request be able to access your home's devices. In order to link the account, you have to make sure your Home Assistant can be accessed from Internet.
|
||||
|
||||
- Sign in [Alexa Developer Console][alexa-dev-console], go to `Alexa Skills` page if you are not.
|
||||
- Find the skill you just created, click `Edit` link 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 (not verified yet)
|
||||
- https://alexa.amazon.co.jp/ if you are in JP and AU (not verified yet)
|
||||
|
||||
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 `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.
|
||||
|
||||
<img src='/images/components/alexa/account_linking.png' alt='Screenshot: Account Linking'>
|
||||
|
||||
- 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.
|
||||
* Open the Alexa app, navigate to `Skills` -> `Your Skills` -> `Dev Skills`
|
||||
* Click the Smart Home skill you just created.
|
||||
* Click `Enable`.
|
||||
* A new window will open to direct you to your Home Assistant's login screen.
|
||||
* After you success login, you will be redirected back to Alexa app.
|
||||
* You can discovery your devices now.
|
||||
- Now, you can ask your Echo or in Alexa App, *turn on bedroom* 🎉
|
||||
|
||||
### {% linkable_title Alexa Component Configuration %}
|
||||
|
||||
Example configuration:
|
||||
|
||||
```yaml
|
||||
alexa:
|
||||
@ -57,12 +218,6 @@ alexa:
|
||||
switch.stairs:
|
||||
display_categories: LIGHT
|
||||
```
|
||||
This exposes an HTTP POST endpoint at `http://your_hass_ip/api/alexa/smart_home`
|
||||
which accepts and returns messages conforming to the
|
||||
[Smart Home v3 payload](https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html).
|
||||
You must then create an Amazon developer account with an Alexa skill and Lambda function to integrate this endpoint.
|
||||
|
||||
[Haaska](https://github.com/mike-grant/haaska/wiki) provides a step-by-step guide and necessary assets to help you create the Alexa skill and AWS Lambda.
|
||||
|
||||
The `endpoint`, `client_id` and `client_secret` are optional, and are only required if you want to enable Alexa's proactive mode. Please note the following if you want to enable proactive mode:
|
||||
|
||||
@ -70,5 +225,19 @@ The `endpoint`, `client_id` and `client_secret` are optional, and are only requi
|
||||
- The `client_id` and `client_secret` are not the ones used by the skill that have been set up using "Login with Amazon" (in the [Alexa Developer Console][amazon-dev-console]: Build > Account Linking), but rather from the "Alexa Skill Messaging" (in the Alexa Developer Console: Build > Permissions > Alexa Skill Messaging). To get them, you need to enable the "Send Alexa Events" permission.
|
||||
- If the "Send Alexa Events" permission was not enabled previously, you need to unlink and relink the skill using the Alexa App, or else Home Assistant will show the following error: "Token invalid and no refresh token available."
|
||||
|
||||
[amazon-dev-console]: https://developer.amazon.com
|
||||
|
||||
### {% linkable_title Alexa web-based app %}
|
||||
|
||||
The following is a list of regions and the corresponding URL for the web-based Alexa app:
|
||||
|
||||
* United States: <https://alexa.amazon.com>
|
||||
* United Kingdom: <https://alexa.amazon.co.uk>
|
||||
* Germany: <https://alexa.amazon.de>
|
||||
* Japan: <https://alexa.amazon.co.jp>
|
||||
* Canada: <https://alexa.amazon.ca>
|
||||
* Australia: <https://alexa.amazon.com.au>
|
||||
* India: <https://alexa.amazon.in>
|
||||
|
||||
[alexa-dev-console]: https://developer.amazon.com/alexa/console/ask
|
||||
[emulated-hue-component]: /components/emulated_hue/
|
||||
[generate-long-lived-access-token]: https://developers.home-assistant.io/docs/en/auth_api.html#long-lived-access-token
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: alpha_vantage.png
|
||||
ha_category: Finance
|
||||
ha_category:
|
||||
- Finance
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: "0.60"
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: polly.png
|
||||
ha_category: Text-to-speech
|
||||
ha_category:
|
||||
- Text-to-speech
|
||||
ha_release: 0.37
|
||||
redirect_from:
|
||||
- /components/tts.amazon_polly/
|
||||
|
71
source/_components/ambiclimate.markdown
Normal file
71
source/_components/ambiclimate.markdown
Normal file
@ -0,0 +1,71 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ambiclimate A/C controller"
|
||||
description: "Instructions on how to integrate Ambiclimate A/C controller into Home Assistant."
|
||||
date: 2019-02-21 15:00 +0200
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ambiclimate.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.93
|
||||
ha_iot_class: Cloud Polling
|
||||
---
|
||||
|
||||
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`.
|
||||
|
||||
To enable this platform, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
ambiclimate:
|
||||
client_id: CLIENT_ID
|
||||
client_secret: CLIENT_SECRET
|
||||
```
|
||||
|
||||
Restart Home Assistant. Then, go to the frontend and authorize Ambiclimate.
|
||||
|
||||
{% configuration %}
|
||||
client_id:
|
||||
description: Your Ambiclimate API client ID.
|
||||
required: true
|
||||
type: string
|
||||
client_secret:
|
||||
description: Your Ambiclimate API client secret.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Note that you have to select manual mode from the Ambiclimate app to be able to control the A/C from Home Assistant.
|
||||
|
||||
## {% linkable_title Component services %}
|
||||
|
||||
Enable comfort mode on your AC:
|
||||
|
||||
`climate.set_comfort_mode`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `Name` | yes | String with device name.
|
||||
|
||||
Send feedback for comfort mode:
|
||||
|
||||
`climate.send_comfort_feedback`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `Name` | yes | String with device name.
|
||||
| `value` | yes | Send any of the following comfort values: too_hot, too_warm, bit_warm, comfortable, bit_cold, too_cold, freezing
|
||||
|
||||
Enable temperature mode on your AC:
|
||||
|
||||
`climate.set_temperature_mode`
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `Name` | yes | String with device name.
|
||||
| `value` | yes | Target value in celsius
|
@ -6,7 +6,8 @@ date: 2018-11-15 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
logo: ambient_weather.png
|
||||
ha_category: Weather
|
||||
ha_category:
|
||||
- Weather
|
||||
ha_release: 0.85
|
||||
ha_iot_class: Cloud Push
|
||||
redirect_from:
|
||||
@ -20,7 +21,7 @@ via personal weather stations from [Ambient Weather](https://ambientweather.net)
|
||||
|
||||
Using this component requires both an Application Key and an API Key. To
|
||||
generate both, simply utilize the profile section of
|
||||
[your Ambient Weather dashboard](https:/dashboard.ambientweather.net).
|
||||
[your Ambient Weather dashboard](https://dashboard.ambientweather.net).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
|
@ -29,7 +29,7 @@ There is currently support for the following device types within Home Assistant:
|
||||
- Binary Sensor
|
||||
- Camera
|
||||
- Sensor
|
||||
- Switch
|
||||
- Switch (deprecated)
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -128,8 +128,8 @@ sensors:
|
||||
motion_detector:
|
||||
description: >
|
||||
Return `true`/`false` when motion is detected.
|
||||
|
||||
**Note:** This sensor is deprecated and will be removed in a future release.
|
||||
|
||||
**Note:** The motion_detector sensor is deprecated and will be removed in a future release.
|
||||
Use **binary_sensors** option **motion_detected** instead.
|
||||
sdcard:
|
||||
description: Return the SD card usage by reporting the total and used space.
|
||||
@ -139,7 +139,11 @@ sensors:
|
||||
configured for the given camera.
|
||||
switches:
|
||||
description: >
|
||||
Switches to display in the frontend.
|
||||
Switches to display in the frontend.
|
||||
|
||||
**Note:** Switches are deprecated and will be removed in a future release.
|
||||
Use services and attributes instead.
|
||||
|
||||
The following switches can be monitored:
|
||||
required: false
|
||||
type: list
|
||||
@ -163,9 +167,66 @@ Newer Amcrest firmware may not work, then **rtsp** is recommended instead.
|
||||
make sure to follow the steps mentioned at [FFMPEG](/components/ffmpeg/)
|
||||
documentation to install the `ffmpeg`.
|
||||
|
||||
To check if your Amcrest camera is supported/tested, visit the
|
||||
[supportability matrix](https://github.com/tchellomello/python-amcrest#supportability-matrix)
|
||||
link from the `amcrest` project.
|
||||
## {% linkable_title Services %}
|
||||
|
||||
Once loaded, the `amcrest` component will expose services that can be called to perform various actions. The `entity_id` service attribute can specify one or more specific cameras, or `all` can be used to specify all configured Amcrest cameras.
|
||||
|
||||
Available services:
|
||||
`enable_audio`, `disable_audio`,
|
||||
`enable_motion_recording`, `disable_motion_recording`,
|
||||
`enable_recording`, `disable_recording`,
|
||||
`goto_preset`, `set_color_bw`,
|
||||
`start_tour` and `stop_tour`
|
||||
|
||||
#### {% linkable_title Service `enable_audio`/`disable_audio` %}
|
||||
|
||||
These services enable or disable the camera's audio stream.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
|
||||
#### {% linkable_title Service `enable_motion_recording`/`disable_motion_recording` %}
|
||||
|
||||
These services enable or disable the camera to record a clip to its configured storage location when motion is detected.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
|
||||
#### {% linkable_title Service `enable_recording`/`disable_recording` %}
|
||||
|
||||
These services enable or disable the camera to continuously record to its configured storage location.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
|
||||
#### {% linkable_title Service `goto_preset` %}
|
||||
|
||||
This service will cause the camera to move to one of the PTZ locations configured within the camera.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
`preset` | no | Preset number, starting from 1.
|
||||
|
||||
#### {% linkable_title Service `set_color_bw` %}
|
||||
|
||||
This service will set the color mode of the camera.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
`color_bw` | no | One of `auto`, `bw` or `color`.
|
||||
|
||||
#### {% linkable_title Service `start_tour`/`stop_tour` %}
|
||||
|
||||
These services start or stop the camera's PTZ tour function.
|
||||
|
||||
Service data attribute | Optional | Description
|
||||
-|-|-
|
||||
`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`.
|
||||
|
||||
## {% linkable_title Advanced Configuration %}
|
||||
|
||||
@ -181,9 +242,6 @@ amcrest:
|
||||
- motion_detected
|
||||
sensors:
|
||||
- sdcard
|
||||
switches:
|
||||
- motion_detection
|
||||
- motion_recording
|
||||
|
||||
# Add second camera
|
||||
- host: IP_ADDRESS_CAMERA_2
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: androidtv.png
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.7.6
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: anel.png
|
||||
ha_category: Switch
|
||||
ha_category:
|
||||
- Switch
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: "0.30"
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: anthemav.png
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_iot_class: Local Push
|
||||
ha_release: 0.37
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: "Other"
|
||||
ha_category:
|
||||
- Other
|
||||
ha_qa_scale: internal
|
||||
ha_release: 0.7
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: apple.png
|
||||
ha_category: Notifications
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: 0.31
|
||||
redirect_from:
|
||||
- /components/notify.apns/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: sharp_aquos.png
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.35
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: aruba.png
|
||||
ha_category: Presence Detection
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.7
|
||||
redirect_from:
|
||||
- /components/device_tracker.aruba/
|
||||
|
@ -7,7 +7,8 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Sensor
|
||||
ha_category:
|
||||
- Sensor
|
||||
ha_release: 0.31
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: asterisk.png
|
||||
ha_category: Mailbox
|
||||
ha_category:
|
||||
- Mailbox
|
||||
ha_release: 0.79
|
||||
redirect_from:
|
||||
- /components/mailbox.asterisk_cdr/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: asterisk.png
|
||||
ha_category: Mailbox
|
||||
ha_category:
|
||||
- Mailbox
|
||||
ha_iot_class: Local Push
|
||||
ha_release: 0.51
|
||||
redirect_from:
|
||||
|
@ -7,7 +7,8 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Environment
|
||||
ha_category:
|
||||
- Environment
|
||||
ha_release: 0.39
|
||||
logo: noaa.png
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Other
|
||||
ha_category:
|
||||
- Other
|
||||
ha_release: 0.73
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: automatic.png
|
||||
ha_category: Car
|
||||
ha_category:
|
||||
- Car
|
||||
ha_release: 0.28
|
||||
ha_iot_class: Cloud Push
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Automation
|
||||
ha_category:
|
||||
- Automation
|
||||
ha_qa_scale: internal
|
||||
ha_release: 0.7
|
||||
---
|
||||
|
@ -7,7 +7,8 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Light
|
||||
ha_category:
|
||||
- Light
|
||||
ha_iot_class: Assumed State
|
||||
logo: avi-on.png
|
||||
ha_release: 0.37
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: awair.jpg
|
||||
ha_category: Health
|
||||
ha_category:
|
||||
- Health
|
||||
ha_release: 0.84
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
|
@ -59,20 +59,11 @@ profile_name:
|
||||
description: A credentials profile name.
|
||||
required: false
|
||||
type: string
|
||||
region_name:
|
||||
description: The region identifier to connect to.
|
||||
required: true
|
||||
default: "`us-east-1`"
|
||||
type: string
|
||||
name:
|
||||
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
||||
validate:
|
||||
description: Whether validate credential before use. Validate credential needs `IAM.GetUser` permission.
|
||||
required: false
|
||||
default: notify
|
||||
type: string
|
||||
context:
|
||||
description: An optional dictionary you can provide to pass custom context through to the Lambda function.
|
||||
required: false
|
||||
type: string
|
||||
default: true
|
||||
type: boolean
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Configuration for notify %}
|
||||
|
@ -1,92 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "AWS Lambda"
|
||||
description: "Instructions on how to invoke AWS Lambda functions from Home Assistant."
|
||||
date: 2016-05-14 16:35
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: aws_lambda.png
|
||||
ha_category: Notifications
|
||||
ha_release: "0.20"
|
||||
redirect_from:
|
||||
- /components/notify.aws_lambda/
|
||||
---
|
||||
|
||||
The `aws_lambda` notification platform enables invoking [AWS Lambda](https://aws.amazon.com/lambda/) functions.
|
||||
|
||||
## {% linkable_title 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.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use this notification platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
- name: NOTIFIER_NAME
|
||||
platform: aws_lambda
|
||||
aws_access_key_id: AWS_ACCESS_KEY_ID
|
||||
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
|
||||
region_name: 'us-east-1'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
aws_access_key_id:
|
||||
description: Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`.
|
||||
required: Required if aws_secret_access_key is provided
|
||||
type: string
|
||||
aws_secret_access_key:
|
||||
description: Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`.
|
||||
required: Required if aws_access_key_id is provided
|
||||
type: string
|
||||
profile_name:
|
||||
description: A credentials profile name.
|
||||
required: false
|
||||
type: string
|
||||
region_name:
|
||||
description: The region identifier to connect to.
|
||||
required: true
|
||||
default: "`us-east-1`"
|
||||
type: string
|
||||
name:
|
||||
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
||||
required: false
|
||||
default: notify
|
||||
type: string
|
||||
context:
|
||||
description: An optional dictionary you can provide to pass custom context through to the Lambda function.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Usage %}
|
||||
|
||||
AWS Lambda is a notify platform and thus can be controlled by calling the notify service [as described here](/components/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 [boto3 docs](http://boto3.readthedocs.io/en/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:
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "Test message!",
|
||||
"target": "arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords",
|
||||
"data": {
|
||||
"test": "okay"
|
||||
},
|
||||
"message": "Hello world!"
|
||||
}
|
||||
```
|
||||
|
||||
The context will look like this:
|
||||
|
||||
```json
|
||||
{
|
||||
"custom": {
|
||||
"two": "three",
|
||||
"test": "one"
|
||||
}
|
||||
}
|
||||
```
|
@ -1,86 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "AWS SNS"
|
||||
description: "Instructions on how to publish messages to AWS SNS from Home Assistant."
|
||||
date: 2016-05-14 16:35
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: aws_sns.png
|
||||
ha_category: Notifications
|
||||
ha_release: "0.20"
|
||||
redirect_from:
|
||||
- /components/notify.aws_sns/
|
||||
---
|
||||
|
||||
The `aws_sns` notification platform enables publishing to an [AWS SNS](https://aws.amazon.com/sns/) topic or application.
|
||||
|
||||
## {% linkable_title 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.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use this notification platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
- name: NOTIFIER_NAME
|
||||
platform: aws_sns
|
||||
aws_access_key_id: AWS_ACCESS_KEY_ID
|
||||
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
|
||||
region_name: 'us-east-1'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
aws_access_key_id:
|
||||
description: Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`.
|
||||
required: Required if aws_secret_access_key is provided
|
||||
type: string
|
||||
aws_secret_access_key:
|
||||
description: Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`.
|
||||
required: Required if aws_access_key_id is provided
|
||||
type: string
|
||||
profile_name:
|
||||
description: A credentials profile name.
|
||||
required: false
|
||||
type: string
|
||||
region_name:
|
||||
description: The region identifier to connect to.
|
||||
required: true
|
||||
default: us-east-1
|
||||
type: string
|
||||
name:
|
||||
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
||||
required: false
|
||||
default: notify
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Usage %}
|
||||
|
||||
AWS SNS is a notify platform and thus can be controlled by calling the notify service [as described here](/components/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 [boto3 docs](http://boto3.readthedocs.io/en/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 message will be sent as stringified message attributes.
|
||||
|
||||
#### {% linkable_title Setting up SNS within AWS %}
|
||||
|
||||
- Log into your AWS console and under "Security and Identity", select "Identity & Access Management".
|
||||
- On the left hand side, select "Users" then click "Create New Users". Enter a name here and then click "Create".
|
||||
- You can either download the credentials or click the arrow to display them one time.
|
||||
|
||||
<p class='note warning'>
|
||||
If you do not download them you will lose them and will have to recreate a new user.
|
||||
</p>
|
||||
|
||||
- Copy/Paste the two keys that you are provided here in your `configuration.yaml` file respectively.
|
||||
- On the left hand side of the screen go back to "Users" and select the user you just created. On the "Permissions" tab click the "Attach Policy" icon. Search for "SNS" and attach the policy "AmazonSNSFUullAccess".
|
||||
- Back to the AWS Console you now need to find "SNS" and click in to that service. It is under the Mobile Services group.
|
||||
- On the left hand side, select "Topics" then "Create new topic".
|
||||
- Choose a Topic Name and Display Name.
|
||||
- Now check the box next to the Topic you just created and under Actions, select "Subscribe to topic".
|
||||
- In the box that pops up, select the Protocol = SMS and enter in the phone number next to "Endpoint" you wish to SMS. Now click "Create".
|
||||
- Repeat for additional numbers.
|
||||
- Back in the "Users" section you will see a long alphanumeric line that starts with "arn:" and ends with the Topic Name you choose previously. This is what your "target" in Home Assistant will be.
|
@ -1,77 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "AWS SQS"
|
||||
description: "Instructions on how to publish messages to AWS SQS from Home Assistant."
|
||||
date: 2016-05-14 16:35
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: aws_sqs.png
|
||||
ha_category: Notifications
|
||||
ha_release: "0.20"
|
||||
redirect_from:
|
||||
- /components/notify.aws_sqs/
|
||||
---
|
||||
|
||||
The `aws_sqs` notification platform enables publishing to an [AWS SQS](https://aws.amazon.com/sqs/) message queue.
|
||||
|
||||
## {% linkable_title 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.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To use this notification platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
notify:
|
||||
- name: NOTIFIER_NAME
|
||||
platform: aws_sqs
|
||||
aws_access_key_id: AWS_ACCESS_KEY_ID
|
||||
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
|
||||
region_name: 'us-east-1'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
aws_access_key_id:
|
||||
description: Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`.
|
||||
required: Required if aws_secret_access_key is provided
|
||||
type: string
|
||||
aws_secret_access_key:
|
||||
description: Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`.
|
||||
required: Required if aws_access_key_id is provided
|
||||
type: string
|
||||
profile_name:
|
||||
description: A credentials profile name.
|
||||
required: false
|
||||
type: string
|
||||
region_name:
|
||||
description: The region identifier to connect to.
|
||||
required: true
|
||||
default: us-east-1
|
||||
type: string
|
||||
name:
|
||||
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
||||
required: false
|
||||
default: notify
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Usage %}
|
||||
|
||||
AWS SQS is a notify platform and thus can be controlled by calling the notify service [as described here](/components/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).
|
||||
|
||||
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",
|
||||
"data": {
|
||||
"test": "okay"
|
||||
},
|
||||
"message": "Hello world!"
|
||||
}
|
||||
```
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: baiducloud.png
|
||||
ha_category: Text-to-speech
|
||||
ha_category:
|
||||
- Text-to-speech
|
||||
ha_release: 0.59
|
||||
redirect_from:
|
||||
- /components/tts.baidu/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Utility
|
||||
ha_category:
|
||||
- Utility
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.53
|
||||
ha_qa_scale: internal
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: DIY
|
||||
ha_category:
|
||||
- DIY
|
||||
ha_release: 0.48
|
||||
ha_iot_class: Local Push
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: knx.png
|
||||
ha_category: Binary Sensor
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: 0.24
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: modbus.png
|
||||
ha_category: Binary Sensor
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: 0.28
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Binary Sensor
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: 0.9
|
||||
ha_iot_class: Configurable
|
||||
---
|
||||
@ -90,7 +91,7 @@ device_class:
|
||||
required: false
|
||||
type: string
|
||||
value_template:
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. Available variables: `entity_id`."
|
||||
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. Available variables: `entity_id`. Remove this option when 'payload_on' and 'payload_off' are sufficient to match your payloads."
|
||||
required: false
|
||||
type: string
|
||||
force_update:
|
||||
|
@ -1,82 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Netatmo Binary Sensor"
|
||||
description: "Instructions on how to integrate Netatmo binary sensor into Home Assistant."
|
||||
date: 2016-09-19 15:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: netatmo.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.31
|
||||
---
|
||||
|
||||
The `netatmo` binary sensor platform is consuming the information provided by a
|
||||
[Netatmo](https://www.netatmo.com) camera.
|
||||
This component allows you to get the latest event seen by the camera.
|
||||
|
||||
### {% linkable_title Basic Configuration %}
|
||||
|
||||
To enable the Netatmo binary sensor, you have to set up
|
||||
[netatmo](/components/netatmo/),
|
||||
this will use discovery to add your binary sensor.
|
||||
|
||||
### {% linkable_title Advanced configuration %}
|
||||
|
||||
If you want to select a specific sensor,
|
||||
set discovery to `false` for [netatmo](/components/netatmo/)
|
||||
and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
binary_sensor:
|
||||
platform: netatmo
|
||||
home: home_name
|
||||
timeout: 90
|
||||
cameras:
|
||||
- camera_name1
|
||||
welcome_sensors:
|
||||
- Someone known
|
||||
- Someone unknown
|
||||
- Motion
|
||||
presence_sensors:
|
||||
- Outdoor motion
|
||||
- Outdoor human
|
||||
- Outdoor animal
|
||||
- Outdoor vehicle
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
home:
|
||||
description: Will use the cameras of this home only.
|
||||
required: false
|
||||
type: string
|
||||
timeout:
|
||||
description: >
|
||||
The Welcome/Presence binary sensors will
|
||||
stay on for X seconds after detection.
|
||||
required: false
|
||||
type: integer
|
||||
default: 90
|
||||
cameras:
|
||||
description: List of cameras entity IDs to display.
|
||||
required: false
|
||||
type: list
|
||||
welcome_sensors:
|
||||
description: >
|
||||
List of monitored conditions. Possible values are
|
||||
'Someone known', 'Someone unknown' and 'Motion'.
|
||||
required: false
|
||||
type: list
|
||||
presence_sensors:
|
||||
description: >
|
||||
List of monitored conditions. Possible values are 'Outdoor motion',
|
||||
'Outdoor human', 'Outdoor animal' and 'Outdoor vehicle'.
|
||||
required: false
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
If **home** and **cameras** is not provided, all cameras will be used.
|
||||
If multiple cameras are available then each monitored conditions
|
||||
will create a specific sensor for each camera
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: restful.png
|
||||
ha_category: Binary Sensor
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: "0.10"
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: rflink.png
|
||||
ha_category: Binary Sensor
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_iot_class: Local Push
|
||||
ha_release: 0.81
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: rfxtrx.png
|
||||
ha_category: Binary Sensor
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: 0.48
|
||||
---
|
||||
|
||||
|
@ -7,7 +7,8 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Binary Sensor
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: 0.12
|
||||
ha_iot_class: Local Push
|
||||
logo: home-assistant.png
|
||||
@ -60,7 +61,7 @@ sensors:
|
||||
type: device_class
|
||||
default: None
|
||||
value_template:
|
||||
description: Defines a template to set the state of the sensor.
|
||||
description: The sensor is `on` if the template evaluates as `True` and `off` otherwise. The actual appearance in the frontend (`Open`/`Closed`, `Detected`/`Clear` etc) depends on the sensor’s device_class value
|
||||
required: true
|
||||
type: template
|
||||
icon_template:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: xiaomi.png
|
||||
ha_category: Binary Sensor
|
||||
ha_category:
|
||||
- Binary Sensor
|
||||
ha_release: "0.50"
|
||||
ha_iot_class: Local Push
|
||||
---
|
||||
@ -30,6 +31,7 @@ The requirement is that you have setup the [`xiaomi aqara` component](/component
|
||||
| Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | on, off | | | |
|
||||
| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `xiaomi_aqara.click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` |
|
||||
| Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double` |
|
||||
| Button (2nd gen, model b) | sensor_switch.aq3 | WXKG12LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double`, `long_click_press`, `shake` |
|
||||
| Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single` |
|
||||
| Aqara Wireless Switch (Double) | 86sw2 | WXKG02LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `both` |
|
||||
| Aqara Wireless Switch (Single) (2nd gen) | remote.b186acn01 | WXKG03LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double`, `long` |
|
||||
@ -144,7 +146,7 @@ The requirement is that you have setup the [`xiaomi aqara` component](/component
|
||||
|
||||
#### {% linkable_title Xiaomi Wireless Button %}
|
||||
|
||||
Available events are `single`, `double`, `hold`, `long_click_press` and `long_click_release`. For Square version (Aqara brand) only `single` and `double` events are supported. Furthermore the space between two clicks to generate a double click must be quite large now.
|
||||
As indicated in the table on top of this page there are 3 versions of the button. For the round shaped button the available events are `single`, `double`, `hold`, `long_click_press` and `long_click_release`. Aqara branded buttons are square shaped. Model WXKG11LM only supports `single` and `double` events. WXKG12LM supports `single`, `double`, `long_click_press` and `shake` events. For the Aqara versions the delay between two clicks to generate a double click must be larger than with the round button. Clicking too quickly generates a single click event.
|
||||
|
||||
```yaml
|
||||
- alias: Toggle dining light on single press
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bitcoin.png
|
||||
ha_category: Finance
|
||||
ha_category:
|
||||
- Finance
|
||||
ha_release: pre 0.7
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
|
50
source/_components/bizkaibus.markdown
Normal file
50
source/_components/bizkaibus.markdown
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Bizkaibus next bus tracking sensor"
|
||||
description: "Instructions on how to integrate timetable data for traveling on Bizkaibus within Home Assistant."
|
||||
date: 2019-04-22 14:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bizkaibus.png
|
||||
ha_category:
|
||||
- Transport
|
||||
- Sensor
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.93
|
||||
---
|
||||
|
||||
The `bizkaibus` sensor will give you the time until the next bus in the selected stop.
|
||||
|
||||
The next website can help to determine the id of your bus stop. You can check if this is correct by going to [next link](http://apli.bizkaia.net/APPS/DANOK/TQ/DATOS_PARADAS/DATOS_Paradas.xml) and look the PR_CODE for the STOP_ID.
|
||||
|
||||
For a correct use of the sensor the selected route must stop in the selected stop.
|
||||
|
||||
Then add the data to your `configuration.yaml` file as shown in the example:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: bizkaibus
|
||||
stopid: STOP_ID
|
||||
route: ROUTE_ID
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
stopid:
|
||||
description: The ID of the bus stop to get the information for.
|
||||
required: true
|
||||
type: string
|
||||
route:
|
||||
description: The ID of the bus route to get information for. This is the same as the bus number, e.g., `A3641`.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: A friendly name for this sensor.
|
||||
required: false
|
||||
default: Next Bus
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
The public RTPI information is coming from [Bizkaibus API](http://apli.bizkaia.net/APPS/DANOK/TQWS/TQ.ASMX).
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: monoprice.svg
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.68
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: blinkstick.png
|
||||
ha_category: DIY
|
||||
ha_category:
|
||||
- DIY
|
||||
ha_release: 0.7.5
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: DIY
|
||||
ha_category:
|
||||
- DIY
|
||||
ha_iot_class: Local Push
|
||||
ha_release: 0.44
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: blockchain.png
|
||||
ha_category: Finance
|
||||
ha_category:
|
||||
- Finance
|
||||
ha_release: 0.47
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bluesound.png
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.51
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bluetooth.png
|
||||
ha_category: Presence Detection
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.27
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bluetooth.png
|
||||
ha_category: Presence Detection
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.18
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: DIY
|
||||
ha_category:
|
||||
- DIY
|
||||
ha_release: 0.48
|
||||
ha_iot_class: Local Push
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: raspberry-pi.png
|
||||
ha_category: DIY
|
||||
ha_category:
|
||||
- DIY
|
||||
ha_release: 0.62
|
||||
ha_iot_class: Local Push
|
||||
redirect_from:
|
||||
|
@ -250,7 +250,7 @@ monitored_conditions:
|
||||
air_temp:
|
||||
description: Air temperature in C.
|
||||
dewpt:
|
||||
description: Drew point in C.
|
||||
description: Dew point in C.
|
||||
press:
|
||||
description: Pressure in mbar.
|
||||
press_qnh:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bravia.png
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.23
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: telegram.png
|
||||
ha_category: Notifications
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: 0.48
|
||||
redirect_from:
|
||||
- /components/telegram_bot.broadcast/
|
||||
|
@ -210,7 +210,7 @@ Information about how to install on Windows can be found [here](/components/sens
|
||||
|
||||
### {% linkable_title How to obtain IR/RF packets? %}
|
||||
|
||||
Choose Call Service from the Developer Tools. Choose the service `broadlink.learn` from the list of **Available services:** and hit **CALL SERVICE**. Press the button on your remote with in 20 seconds. The packet will be printed as a persistent notification in the States page of the web interface.
|
||||
Choose Call Service from the Developer Tools. Choose the service `broadlink.learn` from the list of **Available services:**, write in "Service Data" JSON with 1 field "host":"your_broadlink_IP" and hit **CALL SERVICE**. Press the button on your remote with in 20 seconds. The packet will be printed as a persistent notification in the States page of the web interface.
|
||||
|
||||
Example config for `rm`, `rm2`, `rm_mini`, `rm_pro_phicomm`, `rm2_home_plus`, `rm2_home_plus_gdt`, `rm2_pro_plus`, `rm2_pro_plus2`, `rm2_pro_plus_bl` and `rm_mini_shate` devices:
|
||||
|
||||
@ -435,7 +435,7 @@ First get or learn all the remotes you want to add to Home Assistant in E-Contro
|
||||
```bash
|
||||
Property: msg.payload
|
||||
Format: Mustache template
|
||||
Template field: enter '{{payload.data}}'.
|
||||
Template field: enter '{% raw %}{{payload.data}}{% endraw %}'.
|
||||
Output as: Plain text
|
||||
```
|
||||
9. Drag a Debug node to the right of the Template node and link them.
|
||||
@ -478,3 +478,18 @@ This is the code we need to transmit again to replicate the same remote function
|
||||
The "status" : "OK" at the end is a feedback that the Broadlink RM device is connected and has transmitted the payload.
|
||||
|
||||
Now you can add as many template nodes, each having a specific code, and add any type of input nodes to activate the template and transmit the code.
|
||||
|
||||
### {% linkable_title Using broadlink_cli to obtain codes %}
|
||||
|
||||
It is also possible to obtain codes using `broadlink_cli` from [python-broadlink](https://github.com/mjg59/python-broadlink) project.
|
||||
|
||||
### {% linkable_title Conversion of codes from other projects %}
|
||||
|
||||
For old/awkward devices another possibility is to try to get codes by using data gathered by the LIRC project.
|
||||
|
||||
Assuming that your (or similar) device is in one of these databases:
|
||||
|
||||
- https://sourceforge.net/p/lirc-remotes/code/ci/master/tree/
|
||||
- https://github.com/probonopd/irdb/tree/master/
|
||||
|
||||
You can grab `irdb2broadlinkha.sh` from [irdb2broadlinkha](https://github.com/molexx/irdb2broadlinkha) project and try to convert codes to format suitable for Home Assistant.
|
||||
|
@ -7,7 +7,8 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Social
|
||||
ha_category:
|
||||
- Social
|
||||
logo: brottsplatskartan.png
|
||||
ha_release: 0.85
|
||||
ha_iot_class: Cloud Polling
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Utility
|
||||
ha_category:
|
||||
- Utility
|
||||
ha_qa_scale: internal
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: brunt.png
|
||||
ha_category: Cover
|
||||
ha_category:
|
||||
- Cover
|
||||
ha_release: 0.75
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bt.png
|
||||
ha_category: Presence Detection
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.22
|
||||
redirect_from:
|
||||
- /components/device_tracker.bt_home_hub_5/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: bt.png
|
||||
ha_category: Presence Detection
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.82
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: buienradar.png
|
||||
ha_category: Weather
|
||||
ha_category:
|
||||
- Weather
|
||||
ha_release: 0.47
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
|
@ -7,7 +7,8 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Calendar
|
||||
ha_category:
|
||||
- Calendar
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: "0.60"
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: google_calendar.png
|
||||
ha_category: Calendar
|
||||
ha_category:
|
||||
- Calendar
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_release: 0.33
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ffmpeg.png
|
||||
ha_category: Camera
|
||||
ha_category:
|
||||
- Camera
|
||||
ha_release: 0.26
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Camera
|
||||
ha_category:
|
||||
- Camera
|
||||
ha_release: 0.43
|
||||
ha_iot_class: Configurable
|
||||
---
|
||||
|
@ -1,56 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Netatmo Camera"
|
||||
description: "Instructions on how to integrate Netatmo cameras into Home Assistant."
|
||||
date: 2016-06-02 08:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: netatmo.png
|
||||
ha_category: Camera
|
||||
ha_release: 0.22
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
||||
The `netatmo` camera platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) camera. This component allows you to view the current photo created by the Camera.
|
||||
|
||||
### {% linkable_title Basic configuration %}
|
||||
|
||||
To enable the Netatmo camera, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your camera.
|
||||
|
||||
### {% linkable_title Advanced configuration %}
|
||||
|
||||
If you want to select a specific camera, set discovery to False for [netatmo](/components/netatmo/) and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
- platform: netatmo
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
home:
|
||||
description: Will display the cameras of this home only.
|
||||
required: false
|
||||
type: string
|
||||
cameras:
|
||||
description: Cameras to use. Multiple entities allowed.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
camera_name:
|
||||
description: Name of the camera to display.
|
||||
{% endconfiguration %}
|
||||
|
||||
If **home** and **cameras** are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
camera:
|
||||
platform: netatmo
|
||||
home: home_name
|
||||
cameras:
|
||||
- camera_name1
|
||||
- camera_name2
|
||||
```
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: google_cast.png
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
featured: true
|
||||
ha_release: pre 0.7
|
||||
ha_iot_class: Local Polling
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: home-assistant.png
|
||||
ha_category: Network
|
||||
ha_category:
|
||||
- Network
|
||||
ha_release: 0.44
|
||||
ha_iot_class: Configurable
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: channels.png
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.65
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: cisco.png
|
||||
ha_category: Presence Detection
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: 0.33
|
||||
redirect_from:
|
||||
- /components/device_tracker.cisco_ios/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: cisco.png
|
||||
ha_category: Presence Detection
|
||||
ha_category:
|
||||
- Presence Detection
|
||||
ha_release: "0.90"
|
||||
---
|
||||
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: cisco_webex_teams.png
|
||||
ha_category: Notifications
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: "0.40"
|
||||
---
|
||||
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: ciscospark.png
|
||||
ha_category: Notifications
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: "0.40"
|
||||
redirect_from:
|
||||
- /components/notify.ciscospark/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: citybikes.png
|
||||
ha_category: Transport
|
||||
ha_category:
|
||||
- Transport
|
||||
ha_release: 0.49
|
||||
redirect_from:
|
||||
- /components/sensor.citybikes/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: clementine.png
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_release: 0.39
|
||||
ha_iot_class: Local Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: clickatell.png
|
||||
ha_category: Notifications
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: 0.56
|
||||
redirect_from:
|
||||
- /components/notify.clickatell/
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: clicksend.png
|
||||
ha_category: Notifications
|
||||
ha_category:
|
||||
- Notifications
|
||||
ha_release: 0.48
|
||||
redirect_from:
|
||||
- /components/notify.clicksend/
|
||||
|
@ -12,8 +12,7 @@ ha_category:
|
||||
- Notifications
|
||||
ha_release: 0.55
|
||||
redirect_from:
|
||||
- /components/notify.clicksendaudio/
|
||||
redirect_from:
|
||||
- /components/notify.clicksendaudio/
|
||||
- /components/notify.clicksend_tts/
|
||||
---
|
||||
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: knx.png
|
||||
ha_category: Climate
|
||||
ha_category:
|
||||
- Climate
|
||||
ha_release: 0.25
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: modbus.png
|
||||
ha_category: Climate
|
||||
ha_category:
|
||||
- Climate
|
||||
ha_release: 0.68
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Climate
|
||||
ha_category:
|
||||
- Climate
|
||||
ha_release: 0.55
|
||||
ha_iot_class: Local Polling
|
||||
---
|
||||
|
@ -1,61 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Netatmo Thermostat"
|
||||
description: "Instructions on how to integrate Netatmo thermostat into Home Assistant."
|
||||
date: 2016-10-11 08:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: netatmo.png
|
||||
ha_category: Climate
|
||||
ha_release: 0.31
|
||||
ha_iot_class: Cloud Polling
|
||||
---
|
||||
|
||||
|
||||
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) thermostat. This component allows you to view the current temperature and setpoint.
|
||||
|
||||
To enable the Netatmo thermostat, you first have to set up [netatmo](/components/netatmo/), this will use discovery to add your thermostat.
|
||||
|
||||
If you want to select specific homes or specific rooms, set discovery to False for [netatmo](/components/netatmo/) and add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
- platform: netatmo
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
homes:
|
||||
description: Will display the thermostats of the homes listed.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
name:
|
||||
required: true
|
||||
description: The home name.
|
||||
rooms:
|
||||
description: Rooms to be displayed. Multiple entities allowed.
|
||||
required: false
|
||||
type: [list, string]
|
||||
description: List of the names of the rooms to be displayed.
|
||||
{% endconfiguration %}
|
||||
|
||||
If **homes** and **rooms** are not provided, all thermostats will be displayed.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
climate:
|
||||
platform: netatmo
|
||||
homes:
|
||||
- name: home1_name
|
||||
rooms:
|
||||
- room1_name
|
||||
- room2_name
|
||||
- name: home2_name
|
||||
rooms:
|
||||
- room3_name
|
||||
- room4_name
|
||||
- room5_name
|
||||
```
|
@ -9,7 +9,8 @@ sharing: true
|
||||
footer: true
|
||||
logo: nabu-casa.svg
|
||||
ha_release: "0.60"
|
||||
ha_category: Voice
|
||||
ha_category:
|
||||
- Voice
|
||||
ha_iot_class: Cloud Push
|
||||
---
|
||||
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: cloudflare.png
|
||||
ha_category: Network
|
||||
ha_category:
|
||||
- Network
|
||||
ha_release: 0.74
|
||||
---
|
||||
|
||||
|
@ -8,7 +8,8 @@ sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Media Player
|
||||
ha_category:
|
||||
- Media Player
|
||||
ha_iot_class: Local Polling
|
||||
ha_release: 0.23
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: co2signal.png
|
||||
ha_category: Environment
|
||||
ha_category:
|
||||
- Environment
|
||||
ha_release: 0.87
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
|
@ -8,7 +8,8 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: coinmarketcap.png
|
||||
ha_category: Finance
|
||||
ha_category:
|
||||
- Finance
|
||||
ha_release: 0.28
|
||||
ha_iot_class: Cloud Polling
|
||||
redirect_from:
|
||||
|
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