feat: expose scene presets as voice-controllable scene.* entities (0.5.0)
Add a SCENE platform (scene.py) so each scene preset becomes a scene.* entity. Alexa / Google Assistant / HomeKit expose the scene, light, and switch domains — but NOT button — so the existing button.* scene entities are invisible to voice assistants. Scenes use a distinct unique_id so both coexist (buttons for dashboards, scenes for voice). - Register Platform.SCENE; bump manifest 0.4.0 -> 0.5.0 - README: "Voice Control (Alexa / Google / Siri)" guide (Nabu Casa cloud, manual skill linking, HomeKit bridge, voice-friendly naming)
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
Custom Home Assistant integration for [LedGrab](https://git.dolgolyov-family.by/alexei.dolgolyov/ledgrab) — ambient lighting system that captures screen content and drives LED strips in real time.
|
||||
|
||||
Creates light, switch, sensor, number, and select entities for each configured device, allowing full control and automation from Home Assistant.
|
||||
Creates light, switch, scene, sensor, number, and select entities for each configured device, allowing full control and automation from Home Assistant — including hands-free voice control via Alexa, Google Assistant, and Siri.
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -47,6 +47,40 @@ automation:
|
||||
entity_id: switch.living_room_tv_processing
|
||||
```
|
||||
|
||||
## Voice Control (Alexa / Google / Siri)
|
||||
|
||||
Scene presets are exposed both as **`scene.*`** entities (new in 0.5.0) and as `button.*` entities. **For voice control, use the `scene.*` entities** — Alexa, Google Assistant, and HomeKit/Siri expose `scene`, `light`, and `switch` domains, but **not** `button`. Capture targets are `switch.*_processing` entities and `api_input` color sources are `light.*` entities, both of which are also voice-controllable.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
Install the LedGrab integration (above) and create the entities you want to control. Confirm you have:
|
||||
|
||||
- `scene.*` entities for your scene presets (e.g. `scene.movie_night`)
|
||||
- `switch.*_processing` for your capture targets
|
||||
- `light.*` for any `api_input` color sources
|
||||
|
||||
### Alexa & Google Assistant — easy path (Nabu Casa)
|
||||
|
||||
1. Subscribe to **Home Assistant Cloud** (Nabu Casa).
|
||||
2. **Settings → Home Assistant Cloud → Alexa / Google Assistant** → enable.
|
||||
3. **Settings → Voice assistants → Expose** → tick the LedGrab `scene`, `switch`, and `light` entities.
|
||||
4. Discover devices: *"Alexa, discover devices"* (or open the Google Home app).
|
||||
5. Say *"Alexa, turn on Movie Night"* or *"Hey Google, turn off the TV ambient light."*
|
||||
|
||||
### Alexa & Google Assistant — manual path (no subscription)
|
||||
|
||||
Link the official **Home Assistant** Alexa skill / Google Assistant action against an externally reachable HA URL with a long-lived access token, then expose the same domains. See HA's [`cloud`](https://www.home-assistant.io/integrations/cloud/), [`google_assistant`](https://www.home-assistant.io/integrations/google_assistant/), and [`alexa`](https://www.home-assistant.io/integrations/alexa/) component docs.
|
||||
|
||||
### Siri — HomeKit Bridge
|
||||
|
||||
Add the **HomeKit Bridge** integration (`homekit:`), include the LedGrab `scene` / `light` / `switch` entities in its `filter`, then scan the pairing QR code in the iOS Home app. Say *"Hey Siri, turn on Movie Night."*
|
||||
|
||||
### Voice-friendly naming tips
|
||||
|
||||
- Rename entities in HA so the friendly name is what you'll say (e.g. `scene.movie_night` → "Movie Night").
|
||||
- Add **Aliases** in the Expose dialog so multiple phrasings work.
|
||||
- Avoid the generic auto-names ("Light", "Processing").
|
||||
|
||||
## Requirements
|
||||
|
||||
- Home Assistant 2023.1.0 or later
|
||||
|
||||
Reference in New Issue
Block a user