Add config flow to Twitch (#29049)

This commit is contained in:
Joost Lekkerkerker 2023-09-27 15:44:42 +02:00 committed by GitHub
parent b368ad9f55
commit 4b20078f9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,56 +13,10 @@ ha_codeowners:
- '@joostlek' - '@joostlek'
--- ---
The `twitch` platform will allow you to monitor [Twitch](https://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information. The Twitch integration will allow you to monitor [Twitch](https://www.twitch.tv/) channel status from within Home Assistant and setup automation based on the information.
## Setup Client ID and Client secret ## Get Twitch application credentials
Create a new app at "Register Your Application" in the [Twitch developer portal](https://dev.twitch.tv/console/apps). Then get the __Client ID__ and __Client secret__ for the new application. Create a new app at "Register Your Application" in the [Twitch developer portal](https://dev.twitch.tv/console/apps). Then get the __Client ID__ and __Client secret__ for the new application.
## Setup OAuth Token {% include integrations/config_flow.md %}
To enable the follow and subscription attributes, the OAuth token is needed to get the right permissions on the Twitch API.
If you don't need those, ignore the configuration setting: `token`.
To get the OAuth token, visit the [OAuth Token Generator](https://twitchapps.com/tokengen/#), insert your __Client ID__ and `user:read:subscriptions` inside __scopes__.
Before clicking Summit (the broken image below the form), visit the [Twitch dev console](https://dev.twitch.tv/console) and add a new application.
As __OAuth Redirect URLs__ add `https://twitchapps.com/tokengen/` and click __Create__
.
Back at the Token Generator, click the __Connect__ button, accept the consent screen and get your __OAuth Token__.
## Configuration
To use Twitch with your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
platform: twitch
client_id: YOUR_TWITCH_CLIENT_ID
client_secret: YOUR_TWITCH_CLIENT_SECRET
token: YOUR_TWITCH_OAUTH_TOKEN
channels:
- channel1
- channel2
```
{% configuration %}
client_id:
description: Your Twitch client ID.
required: true
type: string
client_secret:
description: Your Twitch client secret.
required: true
type: string
token:
description: Your Twitch OAuth Token.
required: false
type: string
channels:
description: List of channels names
required: true
type: list
{% endconfiguration %}