CommunityBildgithub.com

KoBa-beep/ClaudeCode-Skill

Erstelle realistische Geräte-Icons für Fibaro Home Center 3 / Yubii Home – ein PNG 128×128 (+ SVG) pro Zustand, lesbar in hellem und dunklem Modus – und lade sie hoch / wende sie auf der HC3 an (POST /api/icons, icon0…icon100, deviceIcon).

Was ist ClaudeCode-Skill?

Dieses Skill generiert maßgeschneiderte Geräte-Icons für das Fibaro Home Center 3 (HC3) / Yubii Home. Es erzeugt realistische, transparente PNG- (128×128) und SVG-Dateien pro Zustand – inklusive eines kleinen runden Status-Badges unten rechts. Die Icons sind sowohl im hellen als auch im dunklen UI-Theme lesbar, ohne separate Varianten. Das Skill unterstützt binäre Geräte (2 Bilder), mehrstufige Geräte (11 Bilder für 0–100 %) und Einzelbild-Geräte. Es bietet Hilfsbibliotheken für Farbverläufe, weiche Schatten, Badges mit ~35 Symbolen und eine Beispielzeichnung (Dachfenster mit Rollladen, 11 Positionen). Der Workflow umfasst: Geräte auflisten, Fotos anfordern, Zeichenfunktionen in `icon_kit.py` definieren, Vorschau generieren, iterieren und über die REST-API (POST/PUT/DELETE `/api/icons`) hochladen/anwenden. Das Skill vermeidet Markenlogos oder Herstellerschutzrechte und erstellt stets realistische, nicht nachgezeichnete Abbildungen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/KoBa-beep/ClaudeCode-Skill/tree/HEAD/fibaro-hc3/hc3-icons

Installed? Explore more Bild skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

HC3 Geräte-Icons für Fibaro Home Center 3 / Yubii Home

Antworte in der Sprache des Benutzers. Generiere Icons mit scripts/icon_kit.py (Python, pip install cairosvg pillow): es enthält die Stil-Helfer (Farbverläufe, weicher Schatten, Badge, ~35 Badge-Symbole), eine Beispiel-Gerätezeichnung (Dachfenster mit Rollladen, 11 Positionen) und den Vorschau-Generator.

Stil (was diese Icons in die HC3-Oberfläche einfügt)

  • Realistische Zeichnung des echten Geräts (Form, Farben, Materialien, Blickwinkel). Frage den Benutzer nach einem Foto des exakten Modells und reproduziere es; niemals ein Foto abzeichnen oder ein Herstellerlogo / Markenzeichen kopieren (hält die Icons auch teilbar). Wenn der Benutzer explizit ein Markenlogo für den privaten Gebrauch wünscht, behalte dieses Icon außerhalb von Veröffentlichungen.
  • Transparenter Hintergrund, eine Datei pro Zustand – keine hellen / dunklen Varianten. Um in beiden Themen lesbar zu bleiben, gib dunklen Geräten eine helle Kante (stroke="#FFFFFF" 1–2 px oder eine hellere Abschrägung) und male niemals eine Hintergrundplatte.
  • Kleiner runder Badge, unten rechts (Mitte 100,100, Radius ~22, weißer Ring): der Zustand (grün ein, grau inaktiv / aus, rot Alarm, orange Warnung, blau offen / Pegel, lila Auto…) oder die gemessene Größe (Thermometer, Tropfen, CO₂, Wind…). Die Gerätezeichnung hält diese Ecke frei.
  • 128 × 128 viewBox, Zeichnung innerhalb von ~10–118 px, weicher elliptischer Schatten unter standfähigen Geräten.
  • Überprüfe die Vorschau (preview.png: jedes Icon einmal auf hellem / dunklem diagonalem Hintergrund) vor der Auslieferung.

Wie viele Bilder pro Gerät (HC3-Regeln)

GerätetypBilder in einem Icon-SetUpload-Felder
Binär (Schalter, binarySensor, Tür/Fenster, Bewegung, Rauch…)2: inaktiv / aktivicon0, icon100
Mehrstufig (Dimmer, Rollladen, Ventilpegel)11: 0, 10 … 100icon0 … icon100
deviceController, die meisten QuickApp-Eltern, multilevelSensor / Temperatur…1icon0
Ein Einzelbild-Typ kann sein Bild nicht selbst ändern. Für ein zustandsabhängiges QA-Icon (OK / Warnung / Alarm oder ein Modus) lade ein Set pro Zustand hoch und wechsle aus Lua: self:updateProperty("deviceIcon", tonumber(self:optionalVariable("iconAlarm"))) (IDs in Variablen eingefügt; Muster im hc3-quickapp-Skill, references/patterns.md §5).
Erstelle ein Icon pro sinnvollem Zustand und Icons für jedes Gerät, das ein QuickApp erstellt (Eltern und Kinder).

Arbeitsablauf

  1. Liste die Geräte (Eltern, jedes Kind, jedes Z-Wave-Untergerät) und ihren exakten type auf (api.get("/devices/<id>"), z.B. com.fibaro.FGR224 für ein Fibaro Rollladenmodul, com.fibaro.rollerShutter für ein QA-Kind).
  2. Frage nach Fotos der echten Modelle; stimme die Zustände und Badge-Bedeutungen ab.
  3. Kopiere scripts/icon_kit.py, schreibe eine Zeichenfunktion pro Gerät (SVG-Fragment in der 128-Box, siehe roof_window(pct)), füge (name, title, body)-Zeilen zu ICONS hinzu – eine pro Zustand – und führe python3 icon_kit.py --out icons/ aus. Benennung: <gerät>-<zustand> (shutter-000…shutter-100, boiler-on, boiler-off), damit eine README-Tabelle sagen kann, welches Icon wohin gehört.
  4. Zeige preview.png; iteriere über die Anmerkungen des Benutzers (Form, Farbe, emoji-ähnliche Badge-Klarheit).
  5. Hochladen: Liste die Sets im icons-Abschnitt der qa.json des QAs auf und lass build_fqa.py (Skill hc3-packaging) <qa>-icons.sh generieren, oder lade von Hand hoch: Einstellungen → Geräte → Gerät → Icon → Hinzufügen.

Upload-API (beobachtet auf 5.2xx)

POST /api/icons, multipart/form-data: type=device, deviceTemplate=<exakter Gerätetyp>, eine Datei pro Zustand (icon0, icon100 oder icon0…icon100), fileExtension=png (svg akzeptiert). Antwort 201 {"id": 1055, "iconSetName": "User1055", "fileExtension": "png"}. Anwenden: PUT /api/devices/<id> {"properties": {"deviceIcon": 1055}} (von außen – niemals auf die eigene ID eines QAs von innen, es startet neu; verwende self:updateProperty). Löschen: DELETE /api/icons?id=&type=device&name=&fileExtension=png. Benutzericon-IDs beginnen bei etwa 1000. GET /api/icons listet sie auf (zwei Antwortformen existieren über Firmware-Versionen; akzeptiere beide). Raum- und Szenen-Icons existieren ebenfalls (type=room / type=scene wahrscheinlich [V]).

references/badges.md listet die Badge-Farben und Glyphen, die im Kit verfügbar sind.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Verwandte Skills