NodeRED: Icon und Farbe eines Switch-Nodes setzen

Für manche Gelegenheiten möchte man dem Switch-Node ein anderes Icon oder eine andere Farbe geben, als sie direkt im Node konfigurierbar sind.
Beispielsweise wenn eine Umschaltung einige Sekunden benötigt, man in der WebUI aber zeigen möchte, dass der Umschaltvorgang im Gange ist und man den Switch-Node auch getroffen hat.

Im Ergebnis sieht das so aus (grün und grau sind der Default, gelb ist ein dritter Status, der direkt beim Klicken gesetzt wird):

Darstellung eines weiteren Status im Switch-Node.

Umsetzung mittels Switch- sowie Function-Node

Für den Nachbau benötigst du einen Function- und auch auch einen Switch Node. Zum schnellen Testen kannst du dir noch drei Inject-Nodes mit den Payloads 0, 1 und 2 anlegen.

Switch-Node und Function-Node anlegen

In den Switch-Node müssen genau die Zeichenketten onicon, oncolor, officon und offcolor eingetragen werden, in genau dieser Schreibung:

Einstellungen im Switch-Node

Für jeden Status, der anders als die beiden vordefinierten on und off sind, müssen immer alle Werte für onicon, oncolor, officon und offcolor im Function-Node gesetzt werden.
Im nachfolgenden Bild grün umrahmt sind die Default-Einstellungen, gelb umrahmt ist der neue, zusätzliche Status.
In der NodeRED-Beschreibung zum Switch-Node findest du, welche Icons unterstützt werden. Bei mir sind es Angular Material Icons und Font Awesome Icons in der Version 4.7.
Ich verwende noch zusätzlich die Angabe fa-2x, damit die Icons größer erscheinen.

Icon und Farbe des Switch-Nodes per Function-Node einstellen
Icon und Farbe des Switch-Nodes per Function-Node einstellen

Den Beispielflow findest du auf github.

Updates

  • 19.03.2023: Typos
  • 05.03.2023: Beitragsformat geändert
1.7/5 - (4 votes) // Hilf durch deine Bewertung mit, diesen Blog zu verbessern!
Abonnieren
Benachrichtige mich bei
0 Kommentare
Älteste
Neueste Beliebteste
Inline Feedbacks
Alle Kommentare