refactor: rename project to LedGrab, split HA integration into separate repo
Lint & Test / test (push) Successful in 1m56s

- Rename Python package: wled_controller -> ledgrab
- Rename env var prefix: WLED_ -> LEDGRAB_ (with auto-migration for old vars)
- Rename localStorage key: wled_api_key -> ledgrab_api_key (with migration)
- Rename HA integration domain: wled_screen_controller -> ledgrab
- Update all imports, build scripts, Docker, installer, config, docs
- Remove HA integration (moved to ledgrab-haos-integration repo)
- Remove hacs.json (belongs in HA repo now)
- Add startup warning for users with old WLED_ env vars
- All tests pass (715/715), ruff clean, tsc clean, frontend builds
This commit is contained in:
2026-04-12 22:45:28 +03:00
parent 38f73badbf
commit 02cd9d519c
548 changed files with 3502 additions and 5180 deletions
+7 -7
View File
@@ -3,8 +3,8 @@
import numpy as np
import pytest
from wled_controller.storage.database import Database
from wled_controller.storage.device_store import Device, DeviceStore
from ledgrab.storage.database import Database
from ledgrab.storage.device_store import Device, DeviceStore
# ── Fixtures ──────────────────────────────────────────────────────────
@@ -240,7 +240,7 @@ class TestGroupLEDClient:
@pytest.mark.asyncio
async def test_connect_creates_children(self, mock_store):
from wled_controller.core.devices.group_client import GroupLEDClient
from ledgrab.core.devices.group_client import GroupLEDClient
store, devices = mock_store
client = GroupLEDClient(
@@ -257,7 +257,7 @@ class TestGroupLEDClient:
@pytest.mark.asyncio
async def test_sequence_mode_slices(self, mock_store):
from wled_controller.core.devices.group_client import GroupLEDClient
from ledgrab.core.devices.group_client import GroupLEDClient
store, devices = mock_store
client = GroupLEDClient(
@@ -292,7 +292,7 @@ class TestGroupLEDClient:
@pytest.mark.asyncio
async def test_independent_mode_resamples(self, mock_store):
from wled_controller.core.devices.group_client import GroupLEDClient
from ledgrab.core.devices.group_client import GroupLEDClient
store, devices = mock_store
client = GroupLEDClient(
@@ -328,7 +328,7 @@ class TestGroupLEDClient:
@pytest.mark.asyncio
async def test_close_cleans_up(self, mock_store):
from wled_controller.core.devices.group_client import GroupLEDClient
from ledgrab.core.devices.group_client import GroupLEDClient
store, devices = mock_store
client = GroupLEDClient(
@@ -345,7 +345,7 @@ class TestGroupLEDClient:
@pytest.mark.asyncio
async def test_sequence_pads_short_pixels(self, mock_store):
from wled_controller.core.devices.group_client import GroupLEDClient
from ledgrab.core.devices.group_client import GroupLEDClient
store, devices = mock_store
client = GroupLEDClient(