705616f8b00f38d0f3f4fac2dc0cdb32d5a2519c
One device per scene playlist (model "Scene Playlist"), each with: - a switch (start/stop; the server cycles one playlist at a time, so starting one stops any other) - a "Current Scene" sensor that resolves the active preset name from scene_presets while this playlist is cycling - an "Items" diagnostic sensor (configured scene count; no state_class) The coordinator reads scene_playlists plus the flat playlist_state from the /api/v1/snapshot payload and gains start_playlist()/stop_playlist(); __init__ registers and prunes per-playlist devices and reloads on playlist-id changes; the event listener also refreshes on the playlist_state_changed WS event. Shared device/lookup/running-state plumbing lives in a new LedGrabPlaylistEntity base (entity.py) used by both the switch and the sensors. Adds en/ru translation keys. Note: this also lands the in-progress coordinator migration from the per-request fan-out to the single /api/v1/snapshot poll that was already present in the working tree. Requires the led-grab server /api/v1/snapshot to emit scene_playlists + playlist_state (companion server change, tracked separately).
LedGrab Home Assistant Integration
Custom Home Assistant integration for 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.
Installation
Option 1: HACS (recommended)
- Install HACS if you have not already.
- Open HACS in Home Assistant.
- Click the three-dot menu, then Custom repositories.
- Add URL:
https://git.dolgolyov-family.by/alexei.dolgolyov/ledgrab-haos-integration - Set category to Integration and click Add.
- Search for "LedGrab" in HACS and click Download.
- Restart Home Assistant.
- Go to Settings > Devices & Services > Add Integration and search for "LedGrab".
- Enter your server URL (e.g.,
http://192.168.1.100:8080) and API key.
Option 2: Manual
Copy the custom_components/ledgrab/ folder from this repository into your Home Assistant config/custom_components/ directory, then restart Home Assistant and add the integration as above.
Automation Example
automation:
- alias: "Start ambient lighting when TV turns on"
trigger:
- platform: state
entity_id: media_player.living_room_tv
to: "on"
action:
- service: switch.turn_on
target:
entity_id: switch.living_room_tv_processing
- alias: "Stop ambient lighting when TV turns off"
trigger:
- platform: state
entity_id: media_player.living_room_tv
to: "off"
action:
- service: switch.turn_off
target:
entity_id: switch.living_room_tv_processing
Requirements
- Home Assistant 2023.1.0 or later
- A running LedGrab server accessible on your network
Troubleshooting
- Verify the component exists: check that
config/custom_components/ledgrab/is present. - Clear the browser cache and hard-refresh the HA UI.
- Restart Home Assistant.
- Check logs at Settings > System > Logs and search for
ledgrab.
License
MIT
Languages
Python
100%