WLED bringt von Haus aus über 180 Effekte und 70 Farbpaletten mit – aber irgendwann kommt der Punkt, an dem du etwas ganz Eigenes umsetzen möchtest. Ein bestimmtes Lichtspiel zu Weihnachten, ein Vereinslogo in Vereinsfarben, oder ein einzigartiger Übergang fürs Wohnzimmer. Die gute Nachricht: WLED bietet dafür gleich mehrere Wege – vom Klick-zusammenstellen bis hin zur eigenen Programmierroutine. In diesem Beitrag zeige ich dir alle Methoden im Überblick und wie du sie konkret umsetzt.
Die fünf Wege zu eigenen Effekten – im Überblick
Die gute Nachricht: Für 90 % aller Anwendungsfälle reichen die ersten drei Methoden völlig aus – ganz ohne Programmierkenntnisse. Erst wenn du wirklich neue Bewegungslogik oder Mathematik einbauen willst, lohnt sich der Schritt in die JSON-API oder gar C++.
Methode 1: Presets & Playlists – der schnellste Weg zum Eigenen
Ein Preset in WLED ist eine Momentaufnahme deiner aktuellen Einstellung: Effekt, Farben, Helligkeit, Geschwindigkeit, Intensität, Segmente – alles wird in einem Datensatz gespeichert. Playlists verketten mehrere Presets zu Übergangs-Sequenzen. So erstellst du dein erstes Preset:
- Stelle im Webinterface den gewünschten Effekt mit allen Parametern ein.
- Klicke rechts oben in der Preset-Spalte auf das Plus-Symbol.
- Vergib einen sprechenden Namen, z. B. „Adventskerze warm” oder „Party-Modus”.
- Optional: ID festlegen (wichtig für API-Aufrufe und Buttons), Schnellzugriff per Stern markieren.
- Mit Save abspeichern.
Eine Playlist erstellst du genauso, wählst aber „Create Playlist” und fügst dann mehrere Presets mit Übergangszeiten hinzu. So baust du eine ganze Lichtshow:
Methode 2: Eigene Farbpaletten erstellen
Eine Farbpalette in WLED besteht aus bis zu 16 Farben mit individuellen Übergangs-Positionen (0–255). Effekte wie Palette, Pacifica oder Noise nutzen diese Palette, um ihre Farbverläufe zu erzeugen. Du kannst eigene Paletten direkt im Webinterface anlegen:
So gehst du vor: Im Webinterface unter Color Picker → Palette → Custom 1/2/3 kannst du eigene Paletten anlegen. Klicke auf einen Farbstop, um seine Farbe und Position anzupassen, und füge bis zu 16 Stützpunkte hinzu. Speicher abschließend mit Save – die Palette steht ab sofort in jedem palettenbasierten Effekt zur Verfügung.
Tipp: Mit dem Effekt Palette oder Noise Pal siehst du deine eigene Palette am besten. Für saisonale Themen lohnen sich z. B. „Herbstlaub”, „Ostern pastell” oder „Vereinsfarben Schwarz-Gelb”.
Methode 3: Segmente kombinieren – mehrere Effekte gleichzeitig
Mit Segmenten teilst du deinen LED-Streifen in mehrere unabhängige Bereiche auf, die jeweils einen eigenen Effekt, eigene Farben und Geschwindigkeit haben. So baust du komplexe Lichtbilder, die kein Standard-Effekt allein hinbekäme:
So legst du Segmente an:
- Im Webinterface auf den Segments-Tab wechseln (Symbol mit den Streifen).
- Per + Add Segment ein neues Segment anlegen.
- Start- und End-LED festlegen, optional einen Namen vergeben.
- Für jedes Segment einen eigenen Effekt mit eigenen Farben und Slidern wählen.
- Das Ganze als Preset speichern – fertig ist dein „eigener” Mehrkomponenten-Effekt.
Tipp: Mit der Option Mirror spiegelst du einen Effekt auf einem Segment, mit Reverse kehrt er die Richtung um. Grouping und Spacing erlauben dir, jeden zweiten oder dritten Pixel als „eine LED” zu behandeln – ideal für rasterförmige Effekte.
Methode 4: JSON-API – eigene Animationen per Skript
WLED bietet eine vollständige REST-API, über die du jeden Pixel einzeln steuern kannst. Damit lassen sich eigene Animationen aus jeder Programmiersprache heraus erzeugen – Python, Node.js, Bash oder Home Assistant Automationen. Du sendest einfach JSON-Daten an die URL http://<deine-wled-ip>/json/state.
Ein Beispiel: Ein einfacher „Adventskalender”-Effekt, der jeden Tag eine LED zusätzlich anschaltet. Hier ein einzelner POST-Request, der die ersten 5 LEDs warmweiß setzt und alle anderen aus:
POST http://wled-fenster.local/json/state
Content-Type: application/json
{
"on": true,
"bri": 200,
"seg": [{
"id": 0,
"i": [
0, 5, ["FFB347"],
5, 150, ["000000"]
]
}]
}
Mit nur ein paar Zeilen Python lässt sich das automatisieren – z. B. ein Skript, das jeden Tag im Dezember eine LED mehr leuchten lässt:
import requests, datetime
tag = datetime.date.today().day # aktueller Tag im Monat
url = "http://wled-fenster.local/json/state"
payload = {
"on": True,
"bri": 200,
"seg": [{
"id": 0,
"i": [0, tag, ["FFB347"]]
}]
}
requests.post(url, json=payload)
Die wichtigsten API-Felder im Überblick:
- on: ein/aus (true/false)
- bri: Helligkeit 0–255
- seg: Segment-Konfiguration mit Effekt, Farben und Pixel-Werten
- i: einzelne Pixel direkt setzen, im Format
[start, end, ["RRGGBB"]] - fx: Effekt-ID (Liste aller IDs unter
/json/effects) - sx, ix: Speed und Intensity 0–255
- pal: Paletten-ID
Tipp: Eine vollständige API-Dokumentation findest du unter kno.wled.ge/interfaces/json-api/. Mit Tools wie Postman oder curl kannst du Befehle vor dem Skripting ausprobieren.
Methode 5: ARTI-FX – eigene Effekt-Skripte ohne Compiler
Eine besondere Spezialität von WLED-MM (MoonModules) ist ARTI-FX: ein Interpreter, mit dem du eigene Effekte als Textdatei schreibst und sofort auf den LEDs siehst – ganz ohne Firmware-Kompilierung. Der Vorteil: Du brauchst keine Toolchain, keinen Compiler, kein PlatformIO. Nachteil: Etwas langsamer als nativer Code.
Ein minimaler ARTI-FX „Hello World”-Effekt sieht so aus:
// Effekt: Sanfter Farbverlauf, der mit der Zeit wandert
t = 0;
function renderFrame() {
t = t + speedSlider() / 10;
}
function renderLed(i) {
hue = (i * 5 + t) % 256;
setRGB(i, hue, 255, 128);
}
So bringst du dein eigenes ARTI-FX zum Laufen:
- WLED-MM auf deinen ESP32 flashen (siehe Sound-Reactive-Beitrag).
- Den ARTI-FX-Editor unter ewowi.github.io/ARTI-FX/ im Browser öffnen.
- Eigenes Skript schreiben oder eines der Templates laden („Hello World”, „Sinelon”, „Plasma” usw.).
- Über Send to WLED direkt an deinen Controller übertragen oder als Preset-JSON exportieren.
- Der Effekt erscheint im normalen WLED-Webinterface in der Effekt-Liste.
ARTI-FX bietet alle wichtigen Funktionen: Sinus/Cosinus, Random-Werte, Beat-Synchronisation, FastLED-Helfer wie fadeToBlackBy(), Zugriff auf die WLED-Slider speedSlider(), intensitySlider(), Audio-Werte für sound-reaktive Effekte und vieles mehr.
Methode 6: Echte C++-Effekte in FX.cpp
Der Königsweg für maximale Performance und Flexibilität: Eigene Routinen direkt in der WLED-Firmware. Dafür brauchst du PlatformIO in VS Code, das WLED-Repository und ein wenig C++-Wissen. Die Schritte grob umrissen:
- WLED-Quellcode von GitHub clonen:
git clone https://github.com/wled/WLED.git - Datei
wled00/FX.cppöffnen und eine neue Funktion nach dem Schemauint16_t mode_meinEffekt() { ... }einfügen. - In
FX.heine neue Mode-ID definieren und die Funktion in der Effektliste registrieren. - Den Effektnamen in
JSON_mode_names[]ergänzen. - Per PlatformIO kompilieren und auf den ESP flashen.
Eine minimale Effekt-Funktion sieht etwa so aus:
uint16_t mode_meinEffekt() {
for (unsigned i = 0; i < SEGLEN; i++) {
uint32_t color = SEGMENT.color_from_palette(
i, true, PALETTE_SOLID_WRAP, 0
);
SEGMENT.setPixelColor(i, color);
}
return FRAMETIME;
}
Wenn du einen wirklich coolen Effekt schreibst, kannst du ihn per Pull Request beim WLED-Projekt einreichen – dann landet er möglicherweise im offiziellen Release und wird weltweit von tausenden WLED-Nutzern gespielt.
Welche Methode für welchen Zweck?
| Wenn du … | … nimm Methode |
|---|---|
| Eine Lieblingseinstellung schnell wiederholen willst | Preset |
| Effekte automatisch wechseln sollen | Playlist |
| Einen vorhandenen Effekt in eigenen Farben willst | Custom Palette |
| Mehrere Effekte gleichzeitig nebeneinander brauchst | Segmente |
| Externe Daten (Wetter, Kalender, …) einbinden willst | JSON-API |
| Eigene Animationen ohne Compiler bauen willst | ARTI-FX |
| Maximale Performance und einen offiziellen Effekt willst | C++ in FX.cpp |
Tipps für gute Effekte
- Sparsam mit Helligkeit: Effekte wirken oft stärker bei moderater Helligkeit. Bei 100 % verwaschen feine Übergänge.
- Übergänge nutzen: Aktiviere Crossfade in den Einstellungen für sanfte Wechsel zwischen Presets statt harter Sprünge.
- Slider testen: Speed und Intensity verändern viele Effekte komplett. Probiere bewusst die Extreme aus.
- Inspiration sammeln: Im offiziellen WLED-Discord und im r/WLED-Subreddit teilen Nutzer ständig neue Presets als JSON-Dateien zum Importieren.
- Backup machen: Über Config → Backup & Restore kannst du deine Presets und Einstellungen als JSON-Datei sichern – wichtig vor jedem Firmware-Update.
Fazit
WLED ist deutlich mehr als nur eine Sammlung vorgefertigter Effekte – es ist eine offene Plattform, auf der du dich vom Klick-Designer bis zum C++-Entwickler austoben kannst. Für die meisten Anwender lohnt es sich, mit Presets, Custom Palettes und Segmenten zu starten – damit deckt man bereits 90 % aller Anforderungen ab. Wer mehr will, findet mit der JSON-API einen mächtigen Hebel und mit ARTI-FX eine elegante Brücke zur echten Effekt-Programmierung.
Im nächsten Beitrag dieser Reihe zeige ich dir, wie du WLED in Home Assistant einbindest und mit Bewegungsmeldern, Tageszeiten und Sprachbefehlen automatisierst.