Zum Inhalt springen

FHEMWEB/iconAnimated: Unterschied zwischen den Versionen

Aus FHEMWiki
Schwatter (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „mini|rechts == iconAnimated – animiertes SVG-Icon-Widget == Das '''iconAnimated'''-Widget visualisiert Gerätezustände als animiertes SVG-Icon im FHEMWEB (PGM2) Frontend. Farbe und Animation des Icons passen sich dynamisch an ein konfiguriertes Reading an. Neben inline eingebetteten SVGs werden auch '''FHEM-Icons direkt unterstützt''' (Attribut <code>icon</code>). === Hilfe === * Forenthread zum {{Link2Forum|Topi…“
 
Schwatter (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:


Neben inline eingebetteten SVGs werden auch '''FHEM-Icons direkt unterstützt''' (Attribut <code>icon</code>).
Neben inline eingebetteten SVGs werden auch '''FHEM-Icons direkt unterstützt''' (Attribut <code>icon</code>).
=== Wichtig: Wenn das Widget z. B. mit einem Minichart oder Gauge kombiniert wird, muss es sowohl in cmd als auch in widgetOverride immer als Letztes definiert werden. Andernfalls entstehen Inkompatibilitäten. ===


=== Hilfe ===
=== Hilfe ===
Zeile 70: Zeile 72:


== Icon laden ==
== Icon laden ==
=== FHEM-Icons (empfohlen) ===
=== FHEM-Icons ===
SVG-Icons aus der FHEM-Icon-Bibliothek werden '''direkt unterstützt''':
SVG-Icons aus der FHEM-Icon-Bibliothek werden '''direkt unterstützt''':


Zeile 79: Zeile 81:
Das Widget lädt das SVG automatisch aus dem attr icon und animiert es entsprechend.
Das Widget lädt das SVG automatisch aus dem attr icon und animiert es entsprechend.


=== Inline-SVG (optional) ===
=== Inline-SVG ===
Alternativ kann ein SVG direkt als Data-URL hinterlegt werden.
Alternativ kann ein SVG direkt als Data-URL hinterlegt werden.


Zeile 97: Zeile 99:
* PNG/JPG werden ignoriert.
* PNG/JPG werden ignoriert.
* Fhemicons sind etwas zickig. Beispiel rotateLeft und das Icon "aurora".
* Fhemicons sind etwas zickig. Beispiel rotateLeft und das Icon "aurora".
== Links ==
* [[FHEMWEB/Widgets|FHEMWEB Widgets]]


[[Kategorie:Code Snippets]]
[[Kategorie:Code Snippets]]
[[Kategorie:FHEM Frontends]]
[[Kategorie:FHEM Frontends]]

Aktuelle Version vom 4. Juli 2026, 10:53 Uhr

iconAnimated – animiertes SVG-Icon-Widget

Das iconAnimated-Widget visualisiert Gerätezustände als animiertes SVG-Icon im FHEMWEB (PGM2) Frontend. Farbe und Animation des Icons passen sich dynamisch an ein konfiguriertes Reading an.

Neben inline eingebetteten SVGs werden auch FHEM-Icons direkt unterstützt (Attribut icon).

Wichtig: Wenn das Widget z. B. mit einem Minichart oder Gauge kombiniert wird, muss es sowohl in cmd als auch in widgetOverride immer als Letztes definiert werden. Andernfalls entstehen Inkompatibilitäten.

Hilfe

1️⃣ Widget-Datei aus contrib laden

Die JavaScript-Datei muss ins FHEM-Webverzeichnis kopiert werden.

{ Svn_GetFile('contrib/fhemweb_iconAnimated.js', 'www/pgm2/fhemweb_iconAnimated.js') }

2️⃣ Widget im Device einrichten

Syntax

<webCmd>:iconAnimated,<Reading>,<StateOn@ColorOn>,<StateOff@ColorOff>,<AnimationType>,[size@Px]

Parameter

Parameter Beschreibung
Reading Name des Readings, dessen Wert das Icon steuert (Standard: state)
StateOn@ColorOn Zustand für „ein“ (z. B. on@#00ff00).

Numerischer Vergleich möglich, z. B. >=1

StateOff@ColorOff Zustand für „aus“ (z. B. off@#666).

Numerischer Vergleich möglich, z. B. <1

AnimationType Art der Animation (siehe unten)
size@Px Optional: Icongröße in Pixel (Standard: 40px)

Beispiele

  • Zeichenfolge:
attr MyDevice widgetOverride webCmd:iconAnimated,state,on@#00ff00,off@#666,pulse,size@32
  • Numerischer Vergleich:
attr MyDevice widgetOverride webCmd:iconAnimated,power,>=1@#ff0000,<1@#666,bounce,size@32

Hier wird das Icon animiert „on“, wenn power ≥ 1 ist, und „off“, wenn < 1.

Animationen

  • alarm – Alarmartige Skalierung + Rotation
  • blink – Blinkende Anzeige
  • flow – sanfte vertikale Bewegung
  • heat – Hitze-/Flammenanimation
  • heatDevice – Geräte die Hitze ausstrahlen
  • pulse – pulsierende Skalierung
  • ring – klingelnde Bewegung
  • robot – Roboterartige Rotation
  • rotateLeft – Rotation nach links
  • rotateRight – Rotation nach rechts
  • rotate2d – 3D-Drehung um Y-Achse
  • bounce – leichtes Hüpfen
  • shake – seitliches Wackeln
  • swing – pendelnde Bewegung

Icon laden

FHEM-Icons

SVG-Icons aus der FHEM-Icon-Bibliothek werden direkt unterstützt:

attr <Device> icon <fhem-svg-iconname>

Das Widget lädt das SVG automatisch aus dem attr icon und animiert es entsprechend.

Inline-SVG

Alternativ kann ein SVG direkt als Data-URL hinterlegt werden.

attr <Device> userattr iconAnimated
attr <Device> iconAnimated data:image/svg+xml;base64,...

In diesem Fall hat iconAnimated Vorrang vor dem icon-Attribut. Eine gute Icon-Quelle dafür ist pictogrammers.com.

Hinweise

  • Das Widget funktioniert nur mit SVG-Icons.
  • PNG/JPG werden ignoriert.
  • Fhemicons sind etwas zickig. Beispiel rotateLeft und das Icon "aurora".

Links