mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 16:27:19 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
35e9a00202
@ -4,7 +4,7 @@ description: "Turn on lights for 10 minutes when motion detected."
|
|||||||
ha_category: Automation Examples
|
ha_category: Automation Examples
|
||||||
---
|
---
|
||||||
|
|
||||||
#### Turn on lights with a resetable off timer
|
#### Turn on lights with a resettable off timer
|
||||||
|
|
||||||
This recipe will turn on a light when there is motion and turn off the light when ten minutes has passed without any motion events.
|
This recipe will turn on a light when there is motion and turn off the light when ten minutes has passed without any motion events.
|
||||||
|
|
||||||
|
@ -66,12 +66,13 @@ initial_state:
|
|||||||
|
|
||||||
#### Device Class
|
#### Device Class
|
||||||
|
|
||||||
Device class is currently supported by the following components:
|
Device class is currently supported by the following platforms:
|
||||||
|
|
||||||
* [Binary Sensor](/integrations/binary_sensor/)
|
- [Binary Sensor](/integrations/binary_sensor/)
|
||||||
* [Sensor](/integrations/sensor/)
|
- [Cover](/integrations/cover/)
|
||||||
* [Cover](/integrations/cover/)
|
- [Media Player](/integrations/media_player/)
|
||||||
* [Media Player](/integrations/media_player/)
|
- [Sensor](/integrations/sensor/)
|
||||||
|
- [Switch](/integrations/switch/)
|
||||||
|
|
||||||
### Manual customization
|
### Manual customization
|
||||||
|
|
||||||
@ -123,7 +124,7 @@ Home Assistant offers a service to reload the core configuration while Home Assi
|
|||||||
|
|
||||||
To reload customizations, navigate to Configuration > Server Controls and then press the "Reload Location & Customizations" button. If you don't see this, enable Advanced Mode on your user profile page first.
|
To reload customizations, navigate to Configuration > Server Controls and then press the "Reload Location & Customizations" button. If you don't see this, enable Advanced Mode on your user profile page first.
|
||||||
|
|
||||||
Alternatively, you can reload via service call. Navigate to Developer Tools > Services tab, select `homeassistant.reload_core_config` from the dropdown and press the "Call Service" button.
|
Alternatively, you can reload via service call. Navigate to Developer Tools > Services tab, select `homeassistant.reload_core_config` from the dropdown and press the "Call Service" button.
|
||||||
|
|
||||||
<div class='note warning'>
|
<div class='note warning'>
|
||||||
New customize information will be applied the next time the state of the entity gets updated.
|
New customize information will be applied the next time the state of the entity gets updated.
|
||||||
|
@ -40,9 +40,7 @@ We will need a few things to get started with installing Home Assistant. Links b
|
|||||||
{% if variant.key == "odroid-n2" %}
|
{% if variant.key == "odroid-n2" %}
|
||||||
[Guide: Flashing Odroid-N2 using OTG-USB](/hassio/flashing_n2_otg/)
|
[Guide: Flashing Odroid-N2 using OTG-USB](/hassio/flashing_n2_otg/)
|
||||||
{% elsif variant.key == "rpi4" %}
|
{% elsif variant.key == "rpi4" %}
|
||||||
_(To use the full 8GB of memory on the 8GB model 64-bit is **required**)_
|
_(On the 8GB model 64-bit is recommended)_
|
||||||
{% elsif variant.key == "rpi4-64" or variant.key == "rpi3-64" %}
|
|
||||||
_(For GPIO and HAT 32-bit is **required**)_
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -18,8 +18,8 @@ The built-in Alexa integration allows you to integrate Home Assistant into Alexa
|
|||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- Amazon Developer Account. You can sign on [here](https://developer.amazon.com).
|
- 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.
|
- An [AWS account](https://aws.amazon.com/free/) is needed if you want to use the 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 to worry about the cost, as AWS Lambda allows for free to use up to 1 million requests and 1GB outbound data transfer per month.
|
||||||
- The Alexa Custom Skill API also needs your Home Assistant instance to be accessible from the internet via HTTPS on port 443 using a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport), this is so account linking can take place. 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 Home Assistant using the [Duck DNS](/addons/duckdns/) add-on is the easiest method.
|
- The Alexa Custom Skill API also needs your Home Assistant instance to be accessible from the internet via HTTPS on port 443 using a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport). This is so account linking can take place. 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 Home Assistant OS or Supervised, using the [Duck DNS](/addons/duckdns/) add-on is the easiest method.
|
||||||
|
|
||||||
### Create Your Amazon Alexa Custom Skill
|
### Create Your Amazon Alexa Custom Skill
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ You can use this [specially sized Home Assistant logo][large-icon] as the large
|
|||||||
|
|
||||||
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.
|
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.
|
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 to worry about 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
|
#### Create an IAM Role for Lambda
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ The first thing you need to do after you sign in to the [AWS console](https://co
|
|||||||
|
|
||||||
Next you need to create a Lambda function.
|
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)
|
- Click `Service` in top navigation bar, expand the menu to display all AWS services, click `Lambda` under `Compute` section to navigate to the Lambda console. Or you may use this [link](https://console.aws.amazon.com/lambda/home)
|
||||||
- **IMPORTANT** Your current region will be displayed in the top right corner. Make sure you select the right region based on your Amazon account's country:
|
- **IMPORTANT** Your current region will be displayed in the top right corner. Make sure you select the right region based on your Amazon account's country:
|
||||||
- **US East (N.Virginia)** region for English (US) or English (CA) skills
|
- **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
|
- **EU (Ireland)** region for English (UK), English (IN), German (DE), Spanish (ES) or French (FR) skills
|
||||||
@ -68,8 +68,8 @@ Next you need to create a Lambda function.
|
|||||||
- Click `Create function`, select `Author from scratch`, then input a `Function name`.
|
- Click `Create function`, select `Author from scratch`, then input a `Function name`.
|
||||||
- Select *Python 3.6* or *Python 3.7* as `Runtime`.
|
- 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.
|
- 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 configuration detail of Lambda function.
|
- Click `Create function`, then you can configure the details of the 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.
|
- Under the `Configuration` tab, expand `Designer`, then click on `+ Add trigger` in the left part of the panel and select `Alexa Skills Kit` from the dropdown list to add an Alexa Skills Kit trigger to your Lambda function.
|
||||||
- Scroll down a little bit, you need to input the `Skill ID` from the skill you created in the previous step. (You may need to switch back to the Alexa Developer Console to copy the `Skill ID`).
|
- Scroll down a little bit, you need to input the `Skill ID` from the skill you created in the 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.
|
- 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 this [GitHub Gist](https://gist.github.com/lpomfrey/97381cf4316553b03622c665ae3a47da).
|
- Clear the example code and copy the Python script from this [GitHub Gist](https://gist.github.com/lpomfrey/97381cf4316553b03622c665ae3a47da).
|
||||||
@ -78,7 +78,7 @@ Next you need to create a Lambda function.
|
|||||||
- BASE_URL *(required)*: your Home Assistant instance's Internet accessible URL with port if needed. *Do not include the trailing `/`*.
|
- 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.
|
- 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.
|
- 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.)
|
- 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 convenience, you can remove the access token from the test data, [generate a long-lived access token][generate-long-lived-access-token] to 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.)
|
||||||
- Save your environmental variables by clicking the `Save` button.
|
- Save your environmental variables by clicking 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.
|
- 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.
|
||||||
|
|
||||||
|
@ -33,8 +33,8 @@ To set up this integration, add the following to your `configuration.yaml` file:
|
|||||||
```yaml
|
```yaml
|
||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
evohome:
|
evohome:
|
||||||
username: YOUR_USERNAME
|
username: "YOUR_USERNAME"
|
||||||
password: YOUR_PASSWORD
|
password: "YOUR_PASSWORD"
|
||||||
```
|
```
|
||||||
|
|
||||||
{% configuration %}
|
{% configuration %}
|
||||||
@ -64,8 +64,8 @@ This is an IoT cloud-polling integration and the recommended minimum `scan_inter
|
|||||||
|
|
||||||
TCC systems are implemented as a _location_, which consist of 1-12 _zones_ and, optionally, a DHW controller:
|
TCC systems are implemented as a _location_, which consist of 1-12 _zones_ and, optionally, a DHW controller:
|
||||||
|
|
||||||
- The system location (e.g., a house) is used for operating modes such as home, away, economy, etc.
|
- The system location (e.g., a house) is used for operating modes such as home, away, economy, etc.
|
||||||
- Heating zones (e.g., rooms) are used for the target temperature.
|
- Heating zones (e.g., rooms) are used for the target temperature.
|
||||||
|
|
||||||
### Evohome
|
### Evohome
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ In the Home Assistant schema, all this is done via a combination of `HVAC_MODE`
|
|||||||
|
|
||||||
## Service Calls
|
## Service Calls
|
||||||
|
|
||||||
This integration provides its own service calls to expose the full functionality of TCC systems beyond the limitations of Home Assistant's standardised schema. Mostly, this relates to specifying the duration of mode changes, after which time the entities revert to **Auto** or **FollowSchedule** (for locations and zones, respectively).
|
This integration provides its own service calls to expose the full functionality of TCC systems beyond the limitations of Home Assistant's standardized schema. Mostly, this relates to specifying the duration of mode changes, after which time the entities revert to **Auto** or **FollowSchedule** (for locations and zones, respectively).
|
||||||
|
|
||||||
It is recommended to use the native service calls (e.g., `evohome.set_system_mode`) instead of Home Assistant's generic equivalents (e.g., `climate.set_hvac_mode`) whenever possible. However, it may be necessary to use the generic service calls for integration with 3rd party systems such as Amazon Alexa or Google Home.
|
It is recommended to use the native service calls (e.g., `evohome.set_system_mode`) instead of Home Assistant's generic equivalents (e.g., `climate.set_hvac_mode`) whenever possible. However, it may be necessary to use the generic service calls for integration with 3rd party systems such as Amazon Alexa or Google Home.
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ This service call will set the `setpoint` of a zone, as identified by its `entit
|
|||||||
- action:
|
- action:
|
||||||
- service: evohome.set_zone_override
|
- service: evohome.set_zone_override
|
||||||
target:
|
target:
|
||||||
entity_id: climate.loungeroom\
|
entity_id: climate.loungeroom
|
||||||
data:
|
data:
|
||||||
setpoint: 10
|
setpoint: 10
|
||||||
```
|
```
|
||||||
|
@ -12,13 +12,148 @@ ha_platforms:
|
|||||||
|
|
||||||
The `flux_led` support is integrated into Home Assistant as a light platform. Several brands of both bulbs and controllers use the same protocol and they have the HF-LPB100 chipset in common. The chances are high that your bulb or controller (eg. WiFi LED CONTROLLER) will work if you can control the device with the MagicHome app.
|
The `flux_led` support is integrated into Home Assistant as a light platform. Several brands of both bulbs and controllers use the same protocol and they have the HF-LPB100 chipset in common. The chances are high that your bulb or controller (eg. WiFi LED CONTROLLER) will work if you can control the device with the MagicHome app.
|
||||||
|
|
||||||
This integration will provide local control over your LED lights/strips and can be configured to auto-scan your network for controllers or for you to manually configure individual lights by their IP address.
|
Example of bulbs:
|
||||||
|
|
||||||
### Configuration Details
|
- [Flux Smart Lighting](https://www.fluxsmartlighting.com/)
|
||||||
|
- [Flux WiFi Smart LED Light Bulb4](https://amzn.to/2X0dVwu)
|
||||||
|
- [WIFI smart LED light Bulb1](https://amzn.to/2J2fksr)
|
||||||
|
|
||||||
The `flux_led` integration is configured through the Configuration -> Integrations page. You can select either auto configuration or manual configuration. For auto configuration the integration will automatically scan your network for any supported devices.
|
Examples of controllers:
|
||||||
|
|
||||||
If you select the manual flow you can specify the name and host address of the light controller. You can add multiple lights/strips by adding additional instances of the integration.
|
- [Ledenet WiFi RGBW Controller](https://amzn.to/2WZKXNa)
|
||||||
|
- [SUPERNIGHT WiFi Wireless LED Smart Controller](https://amzn.to/2WURx7w)
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
To enable those lights, add the following lines to your `configuration.yaml` file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
light:
|
||||||
|
- platform: flux_led
|
||||||
|
```
|
||||||
|
|
||||||
|
{% configuration %}
|
||||||
|
automatic_add:
|
||||||
|
description: To enable the automatic addition of lights on startup.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
devices:
|
||||||
|
description: A list of devices with their IP address.
|
||||||
|
required: false
|
||||||
|
type: list
|
||||||
|
keys:
|
||||||
|
name:
|
||||||
|
description: A friendly name for the device.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
mode:
|
||||||
|
description: "The chosen brightness mode, options are: `rgbw`, `rgb` and `w`."
|
||||||
|
required: false
|
||||||
|
default: rgbw
|
||||||
|
type: string
|
||||||
|
protocol:
|
||||||
|
description: Set this to `ledenet` if you are using a ledenet bulb.
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
custom_effect:
|
||||||
|
description: A definition of the custom effect.
|
||||||
|
required: false
|
||||||
|
type: map
|
||||||
|
keys:
|
||||||
|
colors:
|
||||||
|
description: A list of 1 to 16 colors, used in the effect loop (see example below). Defined as three comma-separated integers between 0 and 255 that represent the color in RGB. There is no way to set brightness, but you can define lower RGB values to simulate lower brightness. E.g., if you want 50% red, define it as `[127,0,0]` instead of `[255,0,0]`.
|
||||||
|
required: true
|
||||||
|
type: list
|
||||||
|
speed_pct:
|
||||||
|
description: A speed in percents (100 being the fastest), at which controller will transition between the colors.
|
||||||
|
required: false
|
||||||
|
type: integer
|
||||||
|
default: 50
|
||||||
|
transition:
|
||||||
|
description: "A type of transition, which will be used to transition between the colors. Supported values are: `gradual`, `jump` and `strobe`."
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: gradual
|
||||||
|
{% endconfiguration %}
|
||||||
|
|
||||||
|
<div class='note'>
|
||||||
|
|
||||||
|
Depending on your controller or bulb type, there are two ways to configure brightness.
|
||||||
|
The integration defaults to rgbw. If your device has a separate white channel, you do not need to specify anything else; changing the white value will adjust the brightness of white channel keeping rgb color constant. However, if your device does not have a separate white channel, you will need to set the mode to rgb. In this mode, the device will keep the same color, and adjust the rgb values to dim or brighten the color.
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
### Example configuration
|
||||||
|
|
||||||
|
Will automatically search and add all lights on start up:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
light:
|
||||||
|
- platform: flux_led
|
||||||
|
automatic_add: true
|
||||||
|
```
|
||||||
|
|
||||||
|
Will add two lights with given name and create an automation rule to randomly set color each 45 seconds:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
light:
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
- platform: flux_led
|
||||||
|
devices:
|
||||||
|
192.168.0.106:
|
||||||
|
name: flux_lamppost
|
||||||
|
192.168.0.109:
|
||||||
|
name: flux_living_room_lamp
|
||||||
|
|
||||||
|
automation:
|
||||||
|
alias: random_flux_living_room_lamp
|
||||||
|
trigger:
|
||||||
|
platform: time_pattern
|
||||||
|
seconds: '/45'
|
||||||
|
action:
|
||||||
|
service: light.turn_on
|
||||||
|
data:
|
||||||
|
entity_id: light.flux_living_room_lamp
|
||||||
|
effect: random
|
||||||
|
```
|
||||||
|
|
||||||
|
Will add a light without the white mode:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
192.168.1.10:
|
||||||
|
name: NAME
|
||||||
|
mode: "rgb"
|
||||||
|
```
|
||||||
|
|
||||||
|
Will add a light with rgb+white mode (default). White and RGB channels can be adjusted independently using a slider and color picker respectively.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
192.168.1.10:
|
||||||
|
name: NAME
|
||||||
|
mode: "rgbw"
|
||||||
|
```
|
||||||
|
|
||||||
|
Will add a light with white mode only. This is useful when only W channel is connected to an RGBW controller and allows the white level to be controlled via brightness value.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
192.168.1.10:
|
||||||
|
name: NAME
|
||||||
|
mode: "w"
|
||||||
|
```
|
||||||
|
|
||||||
|
Some devices such as the Ledenet RGBW controller use a slightly different protocol for communicating the brightness to each color channel. If your device is only turning on or off but not changing color or brightness try adding the LEDENET protocol.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
light:
|
||||||
|
- platform: flux_led
|
||||||
|
devices:
|
||||||
|
192.168.1.10:
|
||||||
|
name: NAME
|
||||||
|
protocol: 'ledenet'
|
||||||
|
```
|
||||||
|
|
||||||
### Effects
|
### Effects
|
||||||
|
|
||||||
@ -35,26 +170,23 @@ The Flux LED light offers a number of effects which are not included in other li
|
|||||||
| `gb_cross_fade` | Fades between green and blue. |
|
| `gb_cross_fade` | Fades between green and blue. |
|
||||||
| `red_strobe`, `green_strobe`, `blue_strobe`, `yellow_strobe`, `cyan_strobe`, `purple_strobe`, `white_strobe` | Strobes the color indicated by the effect name. |
|
| `red_strobe`, `green_strobe`, `blue_strobe`, `yellow_strobe`, `cyan_strobe`, `purple_strobe`, `white_strobe` | Strobes the color indicated by the effect name. |
|
||||||
| `random` | Chooses a random color by selecting random values for R, G, and B. |
|
| `random` | Chooses a random color by selecting random values for R, G, and B. |
|
||||||
|
|
| `custom` | Custom effect (if defined, see below). |
|
||||||
|
|
||||||
### Custom Effects - Service `flux_led.set_custom_effect`
|
Users can define their own custom effect. It consists of three parameters: a list of 1 to 16 colors, speed and type of transition. The controller will transition between the colors in a loop, with sepcified transition and speed. Here is an example of a custom effect that will quickly flash red, yellow, green, cyan, blue, magenta in a loop:
|
||||||
|
|
||||||
The `flux_led` integration offers a custom service to enable you to set the lights to a custom light effect.
|
|
||||||
|
|
||||||
| Service data attribute | Description |
|
|
||||||
| ---------------------- | ----------- |
|
|
||||||
| `entity_id` | The entity_id of the LED light to set the effect on. |
|
|
||||||
| `colors` | List of RGB colors to transition between in your effect. (Max 16, Required) |
|
|
||||||
| `speed_pct` | The speed of the effect in % (0-100. Default 50) |
|
|
||||||
| `transition` | The transition effect you would like. Valid options are `gradual`, `jump`, or `strobe`. (Default `gradual`) |
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
#Example Service Call
|
light:
|
||||||
entity_id: light.led_strip
|
- platform: flux_led
|
||||||
colors:
|
devices:
|
||||||
- [255,0,0]
|
192.168.1.10:
|
||||||
- [0,255,0]
|
custom_effect:
|
||||||
- [0,0,255]
|
speed_pct: 100
|
||||||
speed_pct: 80
|
transition: 'strobe'
|
||||||
transition: jump
|
colors:
|
||||||
|
- [255,0,0]
|
||||||
|
- [255,255,0]
|
||||||
|
- [0,255,0]
|
||||||
|
- [0,255,255]
|
||||||
|
- [0,0,255]
|
||||||
|
- [255,0,255]
|
||||||
```
|
```
|
||||||
|
@ -29,34 +29,40 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
### Google Cloud Platform configuration
|
||||||
|
|
||||||
1. Create a new project in the [Actions on Google console](https://console.actions.google.com/).
|
1. Create a new project in the [Actions on Google console](https://console.actions.google.com/).
|
||||||
1. Click `New Project` and give your project a name.
|
1. Click `New Project` and give your project a name.
|
||||||
2. Click on the `Smart Home` card, then click the `Start Building` button.
|
2. Click on the `Smart Home` card, then click the `Start Building` button.
|
||||||
3. Click `Name your Smart Home action` under `Quick Setup` to give your Action a name - Home Assistant will appear in the Google Home app as `[test] <Action Name>`
|
3. Click `Name your Smart Home action` under `Quick Setup` to give your Action a name - Home Assistant will appear in the Google Home app as `[test] <Action Name>`
|
||||||
4. Click `Build your Action`, then click `Add Action(s)`.
|
4. Click on the `Overview` tab at the top of the page to go back.
|
||||||
5. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant` in the `Fulfillment URL` box, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable.
|
5. Click `Build your Action`, then click `Add Action(s)`.
|
||||||
6. Click `Save`.
|
6. Add your Home Assistant URL: `https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant` in the `Fulfillment URL` box, replace the `[YOUR HOME ASSISTANT URL:PORT]` with the domain / IP address and the port under which your Home Assistant is reachable.
|
||||||
7. Click on the `Overview` tab, which will lead you back to the app details screen.
|
7. Click `Save`.
|
||||||
|
8. Click the three little dots (more) icon in the upper right corner, select `Project settings`
|
||||||
|
9. Make note of the `Project ID` that are listed on the `GENERAL` tab of the `Settings` page.
|
||||||
2. `Account linking` is required for your app to interact with Home Assistant.
|
2. `Account linking` is required for your app to interact with Home Assistant.
|
||||||
1. Set this up by clicking on `Setup account linking` under the `Quick Setup` section of the `Overview` page.
|
1. Start by going back to the `Overview` tab.
|
||||||
2. If asked, leave options as they default `No, I only want to allow account creation on my website` and select `Next`.
|
2. Click on `Setup account linking` under the `Quick Setup` section of the `Overview` page.
|
||||||
3. Then if asked, for the `Linking type` select `OAuth` and `Authorization Code`. Click `Next`
|
3. If asked, leave options as they default `No, I only want to allow account creation on my website` and select `Next`.
|
||||||
4. Enter the following:
|
4. Then if asked, for the `Linking type` select `OAuth` and `Authorization Code`. Click `Next`
|
||||||
1. Client ID: `https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID`. (Find your YOUR_PROJECT_ID by clicking on the three little dots (more) icon in the upper right corner of the console, selecting `Project settings`, your Project ID will be listed on the `GENERAL` tab of the `Settings` page.)
|
5. Enter the following:
|
||||||
2. Client Secret: Anything you like, Home Assistant doesn't need this field.
|
1. Client ID: `https://oauth-redirect.googleusercontent.com/r/[YOUR_PROJECT_ID]`. (Replace `[YOUR_PROJECT_ID]` with your project ID from above)
|
||||||
3. Authorization URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize`.
|
2. Client Secret: Anything you like, Home Assistant doesn't need this field.
|
||||||
4. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`.
|
3. Authorization URL: `https://[YOUR HOME ASSISTANT URL:PORT]/auth/authorize`. (Replace `[YOUR HOME ASSISTANT URL:PORT]` with your values.)
|
||||||
Click `Next`, then `Next` again.
|
4. Token URL (replace with your actual URL): `https://[YOUR HOME ASSISTANT URL:PORT]/auth/token`. (Replace `[YOUR HOME ASSISTANT URL:PORT]` with your values.)
|
||||||
5. In the `Configure your client` `Scopes` textbox, type `email` and click `Add scope`, then type `name` and click `Add scope` again.
|
Click `Next`, then `Next` again.
|
||||||
6. Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`.
|
6. In the `Configure your client` `Scopes` textbox, type `email` and click `Add scope`, then type `name` and click `Add scope` again.
|
||||||
7. Click `Next`, then click `Save`
|
7. Do **NOT** check `Google to transmit clientID and secret via HTTP basic auth header`.
|
||||||
|
8. Click `Next`, then click `Save`
|
||||||
|
|
||||||
<img src='/images/integrations/google_assistant/accountlinking.png' alt='Screenshot: Account linking'>
|
<img src='/images/integrations/google_assistant/accountlinking.png' alt='Screenshot: Account linking'>
|
||||||
|
|
||||||
3. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App. If you don't see this option, go to the `Test` tab instead, click on the `Settings` button in the top right below the header, and ensure `On device testing` is enabled (if it isn't, enable it).
|
3. Select the `Develop` tab at the top of the page, then in the upper right hand corner select the `Test` button to generate the draft version Test App. If you don't see this option, go to the `Test` tab instead, click on the `Settings` button in the top right below the header, and ensure `On device testing` is enabled (if it isn't, enable it).
|
||||||
4. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#configuration) below.
|
4. Add the `google_assistant` integration configuration to your `configuration.yaml` file and restart Home Assistant following the [configuration guide](#configuration) below.
|
||||||
5. (Note that app versions may be slightly different.) Open the Google Home app and go to `Settings`.
|
5. Add services in the Google Home App (Note that app versions may be slightly different.)
|
||||||
6. Click `Add...`, `+ Set up or add`, `+ Set up device`, and click `Have something already setup?`. You should have `[test] your app name` listed under 'Add new'. Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms and nicknames for your devices if you wish.
|
1. Open the Google Home app and go to `Settings`.
|
||||||
|
2. Click `Add...`, `+ Set up or add`, `+ Set up device`, and click `Have something already setup?`. You should have `[test] your app name` listed under 'Add new'. Selecting that should lead you to a browser to login your Home Assistant instance, then redirect back to a screen where you can set rooms and nicknames for your devices if you wish.
|
||||||
|
|
||||||
<div class='note'>
|
<div class='note'>
|
||||||
|
|
||||||
@ -83,20 +89,24 @@ If you want to allow other household users to control the devices:
|
|||||||
|
|
||||||
If you want to support active reporting of state to Google's server (configuration option `report_state`) and synchronize Home Assistant devices with the Google Home app (`google_assistant.request_sync` service), you will need to create a service account. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device in Home Assistant that you wish to control via the Google Assistant integration. This allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting)).
|
If you want to support active reporting of state to Google's server (configuration option `report_state`) and synchronize Home Assistant devices with the Google Home app (`google_assistant.request_sync` service), you will need to create a service account. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device in Home Assistant that you wish to control via the Google Assistant integration. This allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting)).
|
||||||
|
|
||||||
1. In the GCP Console, go to the [Create Service account key](https://console.cloud.google.com/apis/credentials/serviceaccountkey) page.
|
1. Service Account
|
||||||
2. At the top left of the page next to "Google Cloud Platform" logo, select your project created in the Actions on Google console. Confirm this by reviewing the `project_id` and it ensure it matches.
|
1. In the Google Cloud Platform Console, go to the [Create Service account key](https://console.cloud.google.com/apis/credentials/serviceaccountkey) page.
|
||||||
3. From the Service account list, select New service account.
|
2. At the top left of the page next to "Google Cloud Platform" logo, select your project created in the Actions on Google console. Confirm this by reviewing the project ID and it ensure it matches.
|
||||||
4. In the Service account name field, enter a name.
|
3. From the Service account list, select New service account.
|
||||||
5. In the Service account ID field, enter an ID.
|
4. In the Service account name field, enter a name.
|
||||||
6. From the Role list, select Service Accounts > Service Account Token Creator.
|
5. In the Service account ID field, enter an ID.
|
||||||
7. For the Key type, select the JSON option.
|
6. From the Role list, select `Service Accounts` > `Service Account Token Creator`.
|
||||||
8. Click Create. A JSON file that contains your key downloads to your computer.
|
7. For the Key type, select the JSON option.
|
||||||
9. Use the information in this file or the file directly to add to the `service_account` key in the configuration.
|
8. Click `Create`. A JSON file that contains your key downloads to your computer.
|
||||||
10. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
|
9. Use the information in this file or the file directly to add to the `service_account` key in the configuration.
|
||||||
11. Select your project and click Enable HomeGraph API.
|
10. Click `close`.
|
||||||
12. Try "OK Google, sync my devices" - the Google Home app should import your exposed Home Assistant devices and prompt you to assign them to rooms
|
2. HomeGraph API
|
||||||
|
1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
|
||||||
|
2. At the top left of the page next to "Google Cloud Platform" logo, select your project created in the Actions on Google console. Confirm this by reviewing the project ID and it ensure it matches.
|
||||||
|
3. Click Enable HomeGraph API.
|
||||||
|
3. Try "OK Google, sync my devices" - the Google Home app should import your exposed Home Assistant devices and prompt you to assign them to rooms.
|
||||||
|
|
||||||
### Configuration
|
### YAML Configuration
|
||||||
|
|
||||||
Now add your setup to your `configuration.yaml` file, such as:
|
Now add your setup to your `configuration.yaml` file, such as:
|
||||||
|
|
||||||
|
@ -13,9 +13,17 @@ This integration allows you to track and control various light bulbs. Read the i
|
|||||||
|
|
||||||
### Default turn-on values
|
### Default turn-on values
|
||||||
|
|
||||||
To set the default color, brightness and transition values when the light is turned on, create a custom `light_profiles.csv` (as described below in the `profile` attribute of `light.turn_on`).
|
To set the default color, brightness and transition values when the light is turned on, create a custom `light_profiles.csv`, normally located in the default configuration folder where you find `configuration.yaml`.
|
||||||
|
|
||||||
The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g., for `light.ceiling_2` the `id` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting.
|
The `light_profiles.csv` has to have a header. The format of the header is:
|
||||||
|
|
||||||
|
```txt
|
||||||
|
profile,color_x,color_y,brightness,transition
|
||||||
|
```
|
||||||
|
|
||||||
|
The field transition is optional and can be omitted.
|
||||||
|
|
||||||
|
The `.default` suffix should be added to the entity identifier of each light to define a default value, e.g., for `light.ceiling_2` the `profile` field is `light.ceiling_2.default`. To define a default for all lights, the identifier `group.all_lights.default` can be used. Individual settings always supercede the `all_lights` default setting.
|
||||||
|
|
||||||
### Service `light.turn_on`
|
### Service `light.turn_on`
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ The `mqtt` light platform lets you control your MQTT enabled lights through one
|
|||||||
|
|
||||||
## Default schema
|
## Default schema
|
||||||
|
|
||||||
The `mqtt` light platform with default schema lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, flashing, on/off, RGB colors, transitions, XY colors and white values.
|
The `mqtt` light platform with default schema lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, on/off, RGB colors, XY colors and white values.
|
||||||
|
|
||||||
## Default schema - Configuration
|
## Default schema - Configuration
|
||||||
|
|
||||||
|
@ -22,6 +22,8 @@ add the following to your `configuration.yaml` file:
|
|||||||
logger:
|
logger:
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The log severity level is `warning` if the logger integration is not enabled in `configuration.yaml`.
|
||||||
|
|
||||||
To log all messages and ignore events lower than critical for specified
|
To log all messages and ignore events lower than critical for specified
|
||||||
components:
|
components:
|
||||||
|
|
||||||
|
@ -50,8 +50,6 @@ To use SSL to connect to the API (via `api-ssl` instead of `api` service) furthe
|
|||||||
/ip service enable api-ssl
|
/ip service enable api-ssl
|
||||||
```
|
```
|
||||||
|
|
||||||
Then add `verify_ssl: true` to `mikrotik` device tracker entry in your `configuration.yaml` file.
|
|
||||||
|
|
||||||
If everything is working fine you can disable the pure `api` service in RouterOS:
|
If everything is working fine you can disable the pure `api` service in RouterOS:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -85,18 +85,20 @@ Project**. Note: This is a different type of project from the Device Access proj
|
|||||||
1. Give your API Project a name then click **Create**. Note: You can ignore the *Project ID* here as Home Assistant does not need it.
|
1. Give your API Project a name then click **Create**. Note: You can ignore the *Project ID* here as Home Assistant does not need it.
|
||||||
|
|
||||||
1. Click *OAuth consent screen* and make sure you have that configured, otherwise you can do that now...
|
1. Click *OAuth consent screen* and make sure you have that configured, otherwise you can do that now...
|
||||||
- Ensure that the ***Publishing status*** is **In Production** and not **Testing**!
|
|
||||||

|

|
||||||
|
|
||||||
1. Select **External** (the only choice if you are not a G-Suite user) then click **Create**. While you are here, you may click the *Let us know what you think* to give Google's OAuth team any feedback about your experience configuring credentials for self-hosted software. They make regular improvements to this flow and appear to value feedback.
|
1. Select **External** (the only choice if you are not a G-Suite user) then click **Create**. While you are here, you may click the *Let us know what you think* to give Google's OAuth team any feedback about your experience configuring credentials for self-hosted software. They make regular improvements to this flow and appear to value feedback.
|
||||||
|
|
||||||
1. The *App Information* screen needs you to enter an **App name** and **User support email**, then enter your email again under **Developer contact email**. These are only shown while you later go through the OAuth flow to authorize Home Assistant to access your account. Click **Save and Continue**.
|
1. The *App Information* screen needs you to enter an **App name** and **User support email**, then enter your email again under **Developer contact email**. These are only shown while you later go through the OAuth flow to authorize Home Assistant to access your account. Click **Save and Continue**. Omit unnecessary information (e.g. logo) to avoid additional review by Google.
|
||||||
|
|
||||||
1. On the *Scopes* step click **Save and Continue**.
|
1. On the *Scopes* step click **Save and Continue**.
|
||||||
|
|
||||||
1. On the *Test Users* step, you need to add your Google Account (e.g., your @gmail.com address) to the list. Click *Save* on your test account then **Save and Continue** to finish the consent flow.
|
1. On the *Test Users* step, you need to add your Google Account (e.g., your @gmail.com address) to the list. Click *Save* on your test account then **Save and Continue** to finish the consent flow.
|
||||||

|

|
||||||
|
|
||||||
|
1. Navigate back to the *OAuth consent screen* and click **Publish App** to set the *Publishing status* is *In Production* and not *Testing*. The warning says your *app will be available to any user with a Google Account* which refers to the fields you entered on the *App Information* screen if someone finds the URL. This does not expose your Google Account or Nest data.
|
||||||
|

|
||||||
|
|
||||||
1. Navigate to the **Credentials** page and click **Create Credentials**.
|
1. Navigate to the **Credentials** page and click **Create Credentials**.
|
||||||

|

|
||||||
|
|
||||||
@ -219,6 +221,17 @@ everything, however, you can leave out any feature you do not wish to use with H
|
|||||||
|
|
||||||
- For general trouble with the SDM API OAuth authorization flow with Google, see [Troubleshooting](https://developers.google.com/nest/device-access/authorize#troubleshooting).
|
- For general trouble with the SDM API OAuth authorization flow with Google, see [Troubleshooting](https://developers.google.com/nest/device-access/authorize#troubleshooting).
|
||||||
|
|
||||||
|
- Check **Configuration** then **Logs** to see if there are any error messages or misconfigurations then see the error messages below.
|
||||||
|
|
||||||
|
- *Reauthentication required often*: If you are frequently getting logged out, this means your authentication token was revoked by Google. This most likely reason is the *OAuth Consent Screen* is set to *Testing* by default which expires the token after 7 days. Follow the steps above to set it to *Production* to resolve this and reauthorize your integration one more time to get a new token. You may also see this as the error message *invalid_grant: Token has been expired or revoked*. See [Google Identity: Refresh token expiration](https://developers.google.com/identity/protocols/oauth2#expiration) for more reasons on why your token may have expired.
|
||||||
|
|
||||||
|
- *Thermostat does not appear or is unavailable* happens due to a bug where the SDM API does return the devices. A common fix get the API to work again is to:
|
||||||
|
- Restart the Thermostat device. See [How to restart or reset a Nest thermostat](https://support.google.com/googlenest/answer/9247296) for more details.
|
||||||
|
- In the official Nest app or on https://home.nest.com: Move the Thermostat to a different or fake/temporary room.
|
||||||
|
- Reload the integration in Home Assistant: Navigate to **Configuration** then **Integrations**, click `...` next to *Nest* and choose **Reload**.
|
||||||
|
|
||||||
|
- *No devices or entities are created* if the SDM API is not returning any devices for the authorized account. Double-check that GCP is configured correctly to [Enable the API](https://developers.google.com/nest/device-access/get-started#set_up_google_cloud_platform) and authorize at least one device in the OAuth setup flow. If you have trouble here, then you may want to walk through the Google instructions and issue commands directly against the API until you successfully get back the devices.
|
||||||
|
|
||||||
- *Error 400: redirect_uri_mismatch* means that your OAuth Client ID is not configured to match your Home Assistant URL.
|
- *Error 400: redirect_uri_mismatch* means that your OAuth Client ID is not configured to match your Home Assistant URL.
|
||||||
|
|
||||||
- To resolve this, copy and paste the redirect URI in the error message (`https://<your_home_assistant_url>:<port>/auth/external/callback`).
|
- To resolve this, copy and paste the redirect URI in the error message (`https://<your_home_assistant_url>:<port>/auth/external/callback`).
|
||||||
@ -243,18 +256,12 @@ everything, however, you can leave out any feature you do not wish to use with H
|
|||||||
|
|
||||||
- *Error: invalid_client no application name* means the [OAuth Consent Screen](https://console.developers.google.com/apis/credentials/consent) has not been fully configured for the project. Enter the required fields (App Name, Support Email, Developer Email) and leave everything else as default.
|
- *Error: invalid_client no application name* means the [OAuth Consent Screen](https://console.developers.google.com/apis/credentials/consent) has not been fully configured for the project. Enter the required fields (App Name, Support Email, Developer Email) and leave everything else as default.
|
||||||
|
|
||||||
- *No devices or entities are created* if the SDM API is not returning any devices for the authorized account. Double-check that GCP is configured correctly to [Enable the API](https://developers.google.com/nest/device-access/get-started#set_up_google_cloud_platform) and authorize at least one device in the OAuth setup flow. If you have trouble here, then you may want to walk through the Google instructions and issue commands directly against the API until you successfully get back the devices.
|
|
||||||
|
|
||||||
- *Thermostat not created* may be resolved by restarting the *Nest Thermostat*. See [How to restart or reset a Nest thermostat](https://support.google.com/googlenest/answer/9247296) for more details.
|
|
||||||
|
|
||||||
- *Subscriber error: Subscription misconfigured. Expected subscriber_id to match...* means that the `configuration.yaml` has an incorrect `subscriber_id` field. Re-enter the the *Subscription Name* which looks like `projects/project-label-22ee1/subscriptions/SUBSCRIBER_ID`. Make sure this is not the *Topic name*.
|
- *Subscriber error: Subscription misconfigured. Expected subscriber_id to match...* means that the `configuration.yaml` has an incorrect `subscriber_id` field. Re-enter the the *Subscription Name* which looks like `projects/project-label-22ee1/subscriptions/SUBSCRIBER_ID`. Make sure this is not the *Topic name*.
|
||||||
|
|
||||||
- *Subscriber error: Subscription misconfigured. Expected topic name to match ...* means that the topic name in the Google Cloud Console was entered incorrectly. The topic name comes from the Device Console and must start with `projects/sdm-prod/topics/`. It is easy to make the mistake of creating a new topic rather than manually entering the right topic name.
|
- *Subscriber error: Subscription misconfigured. Expected topic name to match ...* means that the topic name in the Google Cloud Console was entered incorrectly. The topic name comes from the Device Console and must start with `projects/sdm-prod/topics/`. It is easy to make the mistake of creating a new topic rather than manually entering the right topic name.
|
||||||
|
|
||||||
- *Not receiving updates* typically means a problem with the subscriber configuration. Changes for things like sensors or thermostat temperature set points should be instantly published to a topic and received by the Home Assistant susbcriber when everything is configured correctly.
|
- *Not receiving updates* typically means a problem with the subscriber configuration. Changes for things like sensors or thermostat temperature set points should be instantly published to a topic and received by the Home Assistant susbcriber when everything is configured correctly.
|
||||||
|
|
||||||
- *invalid_grant: Token has been expired or revoked* can mean the OAuth token was revoked by Google due to account changes like resetting a password. In addition, if the app is marked as "testing" and not "production" mode, the token may automatically expire after 7 days. Go to the project page to publish it to production mode.
|
|
||||||
|
|
||||||
- You can see stats about your subscriber in the [Cloud Console](https://console.cloud.google.com/cloudpubsub/subscription/list) which includes counts of messages published by your devices, and how many have been acknowledged by your Home Assistant subscriber. You can also `View Messages` to see examples of published. Many old unacknowledged messages indicate the subscriber is not receivng the messages and working properly or not connected at all. Double check the `subscriber_id` matches the `Subscription Name`
|
- You can see stats about your subscriber in the [Cloud Console](https://console.cloud.google.com/cloudpubsub/subscription/list) which includes counts of messages published by your devices, and how many have been acknowledged by your Home Assistant subscriber. You can also `View Messages` to see examples of published. Many old unacknowledged messages indicate the subscriber is not receivng the messages and working properly or not connected at all. Double check the `subscriber_id` matches the `Subscription Name`
|
||||||
|
|
||||||
- To aid in diagnosing subscriber problems or camera stream issues it may help to turn up verbose logging by adding some or all of these to your `configuration.yaml` depending on where you are having trouble:
|
- To aid in diagnosing subscriber problems or camera stream issues it may help to turn up verbose logging by adding some or all of these to your `configuration.yaml` depending on where you are having trouble:
|
||||||
|
@ -19,16 +19,19 @@ ha_platforms:
|
|||||||
- switch
|
- switch
|
||||||
---
|
---
|
||||||
|
|
||||||
The `pi_hole` integration allows you to retrieve statistics and interact with a [Pi-hole](https://pi-hole.net/) system.
|
The Pi-hole integration allows you to retrieve statistics and interact with a
|
||||||
|
[Pi-hole](https://pi-hole.net/) system.
|
||||||
|
|
||||||
{% include integrations/config_flow.md %}
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
|
Please note, that during the integration set up, an API key can be provided.
|
||||||
|
Providing one, gives access to the Pi-Hole `disable` service and a switch
|
||||||
|
to enable/disable Pi-Hole from Home Assistant.
|
||||||
|
|
||||||
## Services
|
## Services
|
||||||
|
|
||||||
The platform provides the following services to interact with your Pi-hole. Use switch entities when calling the services.
|
The platform provides the following services to interact with your Pi-hole. Use switch entities when calling the services.
|
||||||
|
|
||||||
_Note: Switch entity requires `api_key` to be configured._
|
|
||||||
|
|
||||||
### Service `pi_hole.disable`
|
### Service `pi_hole.disable`
|
||||||
|
|
||||||
Disables configured Pi-hole(s) for the specified amount of time.
|
Disables configured Pi-hole(s) for the specified amount of time.
|
||||||
|
@ -12,7 +12,7 @@ ha_domain: sighthound
|
|||||||
|
|
||||||
Detect people in camera images using [Sighthound Cloud](https://www.sighthound.com/products/cloud). The Sighthound Developer tier (free for non-commercial use) allows 5000 images to be processed per month. If you need more processing per month you will need to sign up for a production account (i.e., a Basic or Pro account).
|
Detect people in camera images using [Sighthound Cloud](https://www.sighthound.com/products/cloud). The Sighthound Developer tier (free for non-commercial use) allows 5000 images to be processed per month. If you need more processing per month you will need to sign up for a production account (i.e., a Basic or Pro account).
|
||||||
|
|
||||||
This integration adds an image processing entity where the state of the entity is the number of people detected in an image. For each person detected, an `sighthound.person_detected` event is fired. The event data includes the entity_id of the image processing entity firing the event, and the bounding box around the detected person.
|
This integration adds an image processing entity where the state of the entity is the number of people detected in an image. For each person detected, an `sighthound.person_detected` event is fired. The event data includes the entity_id of the image processing entity firing the event, and the bounding box around the detected person.
|
||||||
|
|
||||||
If `save_file_folder` is configured, on each new detection of a person, an annotated image with the name `sighthound_{camera_name}_latest.jpg` is saved in the configured folder if it doesn't already exist, and overwritten if it does exist. The saved image shows the bounding box around detected people and can be displayed on the Home Assistant front end using a [Local File](/integrations/local_file/) camera, and used in notifications. If `save_timestamped_file` is configured as `true`, then the annotated image is saved with a file name that includes the time of detection.
|
If `save_file_folder` is configured, on each new detection of a person, an annotated image with the name `sighthound_{camera_name}_latest.jpg` is saved in the configured folder if it doesn't already exist, and overwritten if it does exist. The saved image shows the bounding box around detected people and can be displayed on the Home Assistant front end using a [Local File](/integrations/local_file/) camera, and used in notifications. If `save_timestamped_file` is configured as `true`, then the annotated image is saved with a file name that includes the time of detection.
|
||||||
|
|
||||||
@ -26,9 +26,7 @@ To enable this platform in your installation, add the following to your `configu
|
|||||||
# Example configuration.yaml entry
|
# Example configuration.yaml entry
|
||||||
image_processing:
|
image_processing:
|
||||||
- platform: sighthound
|
- platform: sighthound
|
||||||
api_key: some_key
|
api_key: "MY_API_KEY"
|
||||||
save_file_folder: /my_dir/
|
|
||||||
save_timestamped_file: True
|
|
||||||
source:
|
source:
|
||||||
- entity_id: camera.my_cam
|
- entity_id: camera.my_cam
|
||||||
```
|
```
|
||||||
@ -49,7 +47,8 @@ save_file_folder:
|
|||||||
save_timestamped_file:
|
save_timestamped_file:
|
||||||
description: Save the processed image with the time of detection in the filename. Requires save_file_folder to be configured.
|
description: Save the processed image with the time of detection in the filename. Requires save_file_folder to be configured.
|
||||||
required: false
|
required: false
|
||||||
type: string
|
default: false
|
||||||
|
type: boolean
|
||||||
source:
|
source:
|
||||||
description: The list of image sources.
|
description: The list of image sources.
|
||||||
required: true
|
required: true
|
||||||
|
@ -16,6 +16,14 @@ Keeps track which switches are in your environment, their state and allows you t
|
|||||||
- Maintains a state per switch and a combined state `all_switches`.
|
- Maintains a state per switch and a combined state `all_switches`.
|
||||||
- Registers services `switch.turn_on`, `switch.turn_off`, and `switch.toggle` to control switches.
|
- Registers services `switch.turn_on`, `switch.turn_off`, and `switch.toggle` to control switches.
|
||||||
|
|
||||||
|
## Device Class
|
||||||
|
|
||||||
|
The way these switches are displayed in the frontend can be modified in the [customize section](/docs/configuration/customizing-devices/). The following device classes are supported for switches:
|
||||||
|
|
||||||
|
- **None**: Generic switch. This is the default and doesn't need to be set.
|
||||||
|
- **outlet**: This switch, switches a power outlet.
|
||||||
|
- **switch**: A generic switch.
|
||||||
|
|
||||||
## Use the services
|
## Use the services
|
||||||
|
|
||||||
In the frontend open the sidebar. At the bottom, under **Developer Tools**, click **Services**. From the Service dropdown menu choose `switch.turn_on` or `switch.turn_off` from the list of available services. In the Entity dropdown menu choose or enter the entity ID you want to work with. This will enter something like the sample below into the **Service Data** field. Now hit **CALL SERVICE**.
|
In the frontend open the sidebar. At the bottom, under **Developer Tools**, click **Services**. From the Service dropdown menu choose `switch.turn_on` or `switch.turn_off` from the list of available services. In the Entity dropdown menu choose or enter the entity ID you want to work with. This will enter something like the sample below into the **Service Data** field. Now hit **CALL SERVICE**.
|
||||||
|
@ -427,7 +427,7 @@ entities:
|
|||||||
name: Bed light transition
|
name: Bed light transition
|
||||||
action_name: Toggle light
|
action_name: Toggle light
|
||||||
tap_action:
|
tap_action:
|
||||||
type: call-service
|
action: call-service
|
||||||
service: light.toggle
|
service: light.toggle
|
||||||
service_data:
|
service_data:
|
||||||
entity_id: light.bed_light
|
entity_id: light.bed_light
|
||||||
|
@ -952,6 +952,20 @@ the quality of matches.
|
|||||||
</p>
|
</p>
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><b>Obihai</b></summary>
|
||||||
|
<p>
|
||||||
|
|
||||||
|
The `last_caller_info` sensor now has the leading `'' ` (quotes and space) removed
|
||||||
|
as those were not needed and were randomly provided by the Obihai device.
|
||||||
|
|
||||||
|
So previously the state would be `'' 8185551212` now it is `8185551212`
|
||||||
|
|
||||||
|
([@dshokouhi] - [#44768])
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</details>
|
||||||
|
|
||||||
## Farewell to the following
|
## Farewell to the following
|
||||||
|
|
||||||
The following integrations have been removed:
|
The following integrations have been removed:
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Loading…
x
Reference in New Issue
Block a user