WifiLight

Aus FHEMWiki
Wechseln zu: Navigation, Suche
WifiLight
Zweck / Funktion
Steuern von LEDs / Stripes mit Hilfe eines WLAN LED Moduls
Allgemein
Typ Inoffiziell
Details
Dokumentation siehe Forum
Support (Forum) Sonstige Systeme
Modulname 32_WifiLight.pm
Ersteller Jörg alias herrmannj


FHEM Modul zum steuern diverser LED Leuchtmittel über WLAN wie Mi-Light, Limitless, IVY, sengled, LW12, LED Streifen, 2,4GHz E27 RGB Lampen ...

Basic Syntax

Definition

define <name> WifiLight <Leuchtmitteltyp> <bridgetyp>:<IP|FQDN>

Für die Milight Typen die Gruppen unterstützen werden die Gruppen in der Reihenfolge der Definition automatisch erstellt.

on / off

set <name> on|off

"on" schaltet weißes Licht mit 100% ein. (Ausnahme Milight/RGB(old) da dort kein weiß unterstützt wird: 100% rot)

Erweiterte Parameter:

  • ramp

dim

set <name> dim level

"dim" behält die aktuell gesetzte Farbe bei und so kann "dim 100" anstelle von "on" verwendet werden wenn die aktuelle Lichtfarbe beibehalten werden soll.

erweiterte Parameter:

  • ramp
  • queue

HSV

set <name> HSV H,S,V

Farbangaben im Farbraum "HSV" sind vollständig und in der Regel intuitiver als RGB. H (HUE: 0..360) gibt die Grundfarbe in einem Farbkreis (Regenbogen) an. Rot liegt bei 0°, Grün bei 120° und blau bei 240°. S (Saturation/Sättigung: 0..100) steht für die Sättigung der Farbe. Eine Sättigung von 100 bedeutet die Farbe ist "rein" oder komplett gesättigt. Blau zum Beispiel mit 100% Sättigung entspricht RGB #0000FF. V (Value: 0..100) gibt die Helligkeit an. Ein V von 50 heist: "halbe Helligkeit"

erweiterte Parameter:

  • ramp
  • queue
  • direction
  • event

ramp Dieser Parameter steuert einen weichen Übergang zwischen zwei Zuständen und wird in Sekunden angegeben.

Beispiel:

set <name> on : schaltet die LED sofort an.

set <name> on 20 : Die LED wird über einen Zeitraum von 20 Sekunden weich hoch-gedimmt.

queue Angenommen das Modul arbeitet gerade intern eine Transition, also dem weichen Übergang zu einem anderen Zustand (siehe ramp), ab. Der user setzt während der Transition einen weiteren Befehl für die LED ab.

Ohne den Parameter "q" wird die laufende Transition sofort unterbrochen und der neue Befehl wird ausgeführt. Mit dem Parameter "q" wird der neue Befehl in eine interne Queue geschrieben und erst bearbeitet nachdem die laufende Transition, und alle vorher in die Queue geschriebenen Befehle, abgearbeitet wurden.

Dadurch wird es möglich das mit einem Befehl mehrere ganz unterschiedliche Farb- oder Helligkeitswechsel an das modul übergibt die dann nacheinander abgearbeitet werden.

direction Im HSV Farbraum entsprechen die Farben einem Winkel (0° Rot, 120° Grün, 240° Blau). Der weiche Übergang von einer Farbe zu einer anderen wird Standardmäßig auf dem "kürzesten Weg" durchlaufen. Der Wechsel von Grün auf Rot sieht also so aus: 120°, 119°, 118°, ... 2°, 1°, 0°. Das entspricht der default direction "s" für "short" - dem kürzesten Weg.

Mit dem Flag "l" für "long" (langer Weg) wird die gleiche Transition jetzt mit dem "Umweg" über Blau ausgeführt, also so: 120°, 121°, 122°, ... 358°, 359°, 360° ( = 0°).

RGB

set <name> RGB RRGGBB

RGB Angaben werden im 6 stelligen Hexadezimalen Format erwartet.

erweiterte Parameter:

  • ramp
  • queue
  • direction
  • event
Unterschiede von Farbangaben HSV zu RGB

Angenommen das Ziel ist ein Farbverlauf Rot (ganz dunkel, Helligkeit 0) auf Blau sowie ein Farbverlauf von Grün (ebenfalls 0) auf Blau. Im RGB Farbraum starten beide Farbverläufe bei #000000 auf gehen dann auf #0000FF. Damit lassen sie sich nicht unterscheiden und anders als erwartet beginnt der Farbverlauf in beiden Fällen mit einem neutralen "Grau" (RGB #010101). Die entsprechende Beschreibung im HSV Farbraumraum ist hingegen eindeutig (120,100,0 -> 240,100,100 für GRÜN 0% auf BLAU 100%) und funktioniert wie erwartet.

Erweiterte Funktionen / Transitions

Das Modul unterstützt komplexe programmierbare Farbverläufe. Da diese im Modul berechnet werden hängt die flüssige Wiedergabe von einer ganzen Reihe von Faktoren ab:

  • FHEM Host Hardware
  • FHEM Auslastung und "Kooperation" von anderen Modulen
  • verwendete Leuchtmittel
  • Auslastung der Bridge

Das Modul ist stark optimiert um die Farbverläufe flüssig wiedergeben zu können. Auf der anderen Seite reagiert das menschliche Auge sehr empfindlich. Deshalb sind gelegentliche "Sprünge" bei Farbverläufen unvermeidlich und sehr von der konkreten Umgebung abhängig.

Unterstützte Wifi-Leuchtmittel

RGB LED (Streifen) am LW12 Wifi LED Controller

Info green.png Achtung: Vom LW12 existieren mindestens zwei Ausführungen. Unterscheidbar am "eigenen" WLAN. LW12 spannt ein Netz mit der Bezeichnung "LEDNET..." auf. LW12 - HX001 spannt ein Netz mit der Bezeichnung "HX..." auf. Beide Typen werden unterstützt, müssen jedoch mit anderer Signatur definiert werden
LW12 LED stripe WiFi Controller

Der LW12 vereint die LED Steuereinheit und den Wifi Empfänger. Zum Betrieb ist noch der LED Streifen mit gemeinsamer Anode sowie ein in Spannung und Leistung zum LED Streifen passendes Netzteil erforderlich. Alle Anschlüsse am Controller sind als Schraubklemmen ausgeführt.

Alternative Bezeichnungen

  • WF200 Controller

Der Controller erstellt im Werkszustand ein WLAN mit eigener SSID und wird über die vom Hersteller gelieferte Smartphone App in das eigene Netzwerk eingebunden.


Die Definition erfolgt im Modul so:

LW12 (eigene SSID "LEDNET..."):

define <name> WifiLight RGB LW12:<IP|FQDN>

LW12 (eigene SSID "HX..."):

define <name> WifiLight RGB LW12HX:<IP|FQDN>

Es können eine beliebige Anzahl LW12 definiert werden. Ein LW12 steuert jeweils nur einen LED RGB Streifen.

Der LW12 erzeugt weißes Licht durch RGB Farbmischung und unterstützt beliebige Sättigungen sowie Helligkeiten. Deshalb und wegen seiner hohen Aktualisierungsrate, ist er für reine RGB Streifen die erste Wahl. Mittlerweile ist der (bessere) LD382 vom gleichen Hersteller verfügbar.

Zum Betrieb sind der LW12, ein RGB LED Streifen sowie passendes Netzteil (Klemmschrauben) erforderlich.

Bezug

RGB und RGBW LED (Streifen) am LD382 Wifi LED Controller

Der LD382 vereint die LED Steuereinheit und den Wifi Empfänger. Am LD382 können reine RGB Streifen, RGBW Streifen oder eine Kombination beider angeschlossen werden. Zum Betrieb ist noch der LED Streifen mit gemeinsamer Anode sowie ein in Spannung und Leistung zum LED Streifen passendes Netzteil erforderlich. Alle Anschlüsse am Controller sind als Schraubklemmen ausgeführt, das Netzteil verfügt zusätzlich über einen Steckeranschluss.

Der LD382 verfügt über einen WPS Button, kann also per "one-click" ins Netzwerk genommen werden.

Alternative Bezeichnungen

  • LED Magic UFO (XCSOURCE)

Die Definition erfolgt im Modul so:

LD382 mit RGB Streifen (Weiß wird gemischt)

define <name> WifiLight RGB LD382:<IP|FQDN>

LD382 mit RGBW Streifen (oder Kombination aus RGB und separatem Weiß)

define <name> WifiLight RGBW LD382:<IP|FQDN>

Für neuere Modelle ist als Typ LD382A anzugeben.

RGBW LD316 LED-Lampe Wifi

Der LD316 vereint LED-Lampe (Fassung E27), Steuereinheit und Wifi Empfänger. Eine externe Steuereinheit ist nicht notwendig. Einfach gegen vorhandene Glühbirne auswechseln. Mittels App Magic Color(sh. LW12) kann LD316 gesteuert und eingestellt werden. Betrieb im eigenen WLAN ist möglich. Weiterhin sind Einstellungen über den in LD316 vorhandenen Webserver möglich (Benutzer: admin, Kennwort: nimda).

Die Definition erfolgt im Modul so:

define <name> WifiLight RGBW LD316:<IP|FQDN>

Alternative Bezeichnungen

  • WIFI WLAN LED Lampe IWY MASTER Color (RGB)
  • diverse wechselnde Bezeichnungen bei AliExpress

Bezug

  • Amazon, ab und an vorhanden, Preis schwankt zwischen 40 und 55 €
  • ebay, ab und an vorhanden, Preis meist um 45 €
  • AliExpress, fast immer was zu finden, Preis zwischen 22 $ und 34 $, Coupon beim Angebot beachten, Beispiel 1, Beispiel 2 ACHTUNG! Teilweise nicht kompatibel, sh. Abschnitt LD316A

RGBW LD316A LED-Lampe Wifi

Mittlerweile sind einige Lampen mit unterschiedlicher Firmware bei gleicher Verpackung im Handel. Diese werden mit der App. Magic Home eingestellt. Abhängig von der vom Hersteller eingesetzten Firmware ist ein Betrieb als LD316A möglich. Betrieb im eigenen WLAN ist möglich. Je nach Firmware ist die Einstellung über den Webserver nicht mehr möglich. Es erscheint zwar die Abfrage nach Benutzer und Kennwort, danach eine Fehlermeldung. Einzelheiten im Forum, Thread (sh. unten) oder Suchbegriff "Magic Home".

Die Definition erfolgt im Modul so:

define <name> WifiLight RGBW LD316A:<IP|FQDN>


sengled Boost LED-Lampe Wifi

Die sengled Boost vereint eine Weiß-LED-Lampe (Fassung E27), Wifi Empfänger und Steuereinheit und bietet eine Wifi Repeater Funktion. Eine externe Steuereinheit ist nicht notwendig. Einfach gegen vorhandene Glühbirne auswechseln. Mittels App ("sengled Boost" unter Android oder iOS) kann die sengled Boost gesteuert und eingestellt werden. Betrieb im eigenen WLAN ist möglich. Weiterhin sind Einstellungen (besonders zur Wifi Repeater Funktion) über den in der sengled Boost vorhandenen Webserver möglich (Benutzer: admin, Kennwort: admin).

Die Definition erfolgt im Modul so:

define <name> WifiLight White SENGLED:<IP|FQDN>

Weitere Informationen können im entsprechenden Forumsthema nachgelesen werden.

Milight Systeme für LED Streifen und E27 Leuchtmittel

Milight Leuchtmittel sind von diversen Herstellern unter diversen Handelsnamen erhältlich. Verfügbar sind preiswerte Ansteuerungen (RGB, RGB oder Weiß, RGB und Weiß, Warm- und Kaltweiß) für LED Streifen, Downlights sowie E27 Leuchtmittel. Die E27 Leuchtmittel haben den Empfänger integriert und können direkt in vorhandenen Fassungen eingesetzt werden.

Die Lampen / Controller sprechen ein proprietäres 2,4GHz Protokoll. Zur Ansteuerung mit fhem wird eine zusätzliche bridge benötigt.

Alternative Bezeichnungen

  • Rocket LED
  • Limitless LED
  • Easybulb
  • s`luce iLight
  • iBulb
  • Kreuzer
  • ...

Milight WiFi bridge

aktuell sind vier bridge Versionen erschienen (v1 .. v4) wobei die v1 praktisch nicht mehr erhältlich ist und nicht unterstützt wird. Der bridge erstellen im Werkszustand ein WLAN mit eigener SSID und werden über eine Smartphone App in das eigene Netzwerk eingebunden. Zum Betrieb ist ein 5V USB Netzteil erforderlich. Ein Betrieb an den USB Ports des Host ist möglich, wegen eventueller Energiemanagement Funktionen des Host jedoch nicht empfohlen.

Milight bridge v2

Die v2 bridge hört auf UDP Port 50000 und ist typischerweise am blauen Etikett erkennbar. Eine v2 bridge kann ansteuern:

  • ein RGB Leuchtmittel

ODER

  • ein RGBW1 Leuchtmittel

UND

  • vier Gruppen Warmwhite/Coldwhite (White)
Milight bridge v3

Die v3 bridge hört auf UDP Port 8899 und hat typischerweise ein dunkles Etikett. Eine v3 bridge kann ansteuern:

  • ein RGB Leuchtmittel

ODER

  • ein RGBW1 Leuchtmittel

UND

  • vier Gruppen Warmwhite/Coldwhite (White)

UND

  • vier Gruppen RGB + White (RGBW2)
Milight bridge v4

Die Funktionen der v4 entsprechen im wesentlichen der v3, allerdings ist das WLAN Modul ein anderes (Draft-N) und das Web Interface wurde entfernt.

Leuchtmittel

Milight Leuchtmitteltyp RGB

E27, LED Streifen Controller oder Downlight.

Dieser Typ RGB Leuchtmittel ist veraltet und von Neuanschaffungen wird abgeraten. Die Ansteuerung ist nur im Farbkreis möglich (keine volle RGB Mischung, keine Sättigung, kein Weiß). Das Protokoll zur Ansteuerung dieses Typ ist fehleranfällig und sehr langsam. Eine parallele Benutzung der FB oder der App verursacht ebenfalls Fehler.

Benötigt eine bridge ab v2.

Milight Leuchtmitteltyp RGBW1

LED Streifen Controller. (RGB mit separatem Weiß Kanal)

Dieser Typ RGB Leuchtmittel ist veraltet.

FHEM kann mit diesem Controller Farbe, Helligkeit und Sättigung komplett steuern. Durch den extra Weißkanal sind sehr angenehme Farbmischungen möglich allerdings ist das verwendete Protokoll wie beim RGB langsam und fehleranfällig. Daher eignet sich der Controller nicht für häufige dynamische Farbwechsel und nur bedingt für unbeaufsichtigten / automatischen Betrieb.

Die Sättigung wird durch die Balance des Weiß- und des Farbkanals erreicht. Bei einer Sättigung von 50% werden Weiß und Farbe jeweils voll angesteuert.

Benötigt eine bridge ab v2.

Milight Leuchtmitteltyp White

E27, LED Streifen Controller oder Downlight.

Pur weiße LED Leuchtmittel mit Unterstützung der Farbtemperatur (Kaltweiß/Warmweiß).

FHEM steuert die Helligkeit der Leuchtmittel. Ein Unterstützung der Farbtemperatur (Weiß Kelvin) ist noch nicht implementiert. Die Farbtemperatur sollte initial über die app eingestellt werden und wird von den Leuchtmitteln beibehalten. Die e27 Lampen sind zum Zeitpunkt der Erstellung dieses Artikels (04/14) ab etwa 11,- Euro bei eBay verfügbar. Erhältlich in 9Watt (Alukühlkörper) und in 6Watt (OEM, Kunststoffsockel). Die Lichtausbeute ist sehr gut.

Benötigt eine bridge ab v2. Eine bridge kann vier getrennte Gruppen White ansteuern. Wenn mehr als vier Gruppen eingesetzt werden sollen können weitere bridge eingebunden werden.

Milight Leuchtmitteltyp RGBW2

E27, LED Streifen Controller oder Downlight.

Aktuelle Typen mit neuem und robusterem Protokoll.

Dieser Typ Leuchtmittel gibt farbiges oder weißes Licht. Die Sättigung ist nicht stufenlos sondern 0% oder 100%. Die E27 Typen sind dabei wahlweise mit Warm- oder Kaltweiß bestellbar.

Erhältlich in 9Watt (Alukühlkörper) und in 6Watt (OEM, Kunststoffsockel).

Benötigt eine bridge ab v3. Eine bridge kann vier getrennte Gruppen RGBW2 ansteuern. Mehr als vier Gruppen können mit zusätzlichen bridge verwendet werden.

Die Sättigung wird wie folgt umgesetzt: S: 0..20 => 0% / S: 21..100 => 100%.

Bei Farbverläufen (Sonnenaufgang) die bei einer Farbe beginnen und bei Weiß enden kann es sinnvoll sein in zwei Schritten zuerst auf 100% Gelb zu faden, dort auf 20%..40% Weiß (typenabhängig) umzuschalten und dann Weiß weiter auf 100% zu dimmen.

Color-Picker aktivieren

Um den sog. "Color-Picker" zu aktivieren müssen die beiden folgenden Attribute gesetzt werden:

attr <name> webCmd RGB
attr <name> widgetOverride RGB:colorpicker,RGB

Weitere Informationen unter Color Wiki Artikel

Farbiges Icon

Weiterhin kann das Lampen-Icon auch farbig dargestellt werden. Dazu ist es erforderlich, das folgende Attribut zu setzen:

attr <name> devStateIcon {Color_devStateIcon(ReadingsVal($name,"RGB","000000"))}

Links