mediola RGB-Lightmanager PRO einbinden

  • Stand: Sonntag, 12 Januar 2014
  • Artikel:
  • Danke an: mediola
»mediola« bietet mit dem »RGB-Lightmanager PRO« ein interessanes Steuergerät für LED-Stripes an, mit dem u.a. auch eigene Farbüberläufe programmiert werden können. Wer also im Besitz eines entsprechenden Gateways der Firma ist lernt in diesem Artikel, wie man den Controller über HomeMatic für eigene Szenarien ansteuern kann.
HomeMatic bzw. dessen Hersteller bietet derzeit (leider noch) kein Modul zur Ansteuerung von RGB-Strips an, sodass man auf Drittanbieter oder Bastellösungen angewiesen ist. Hat man bereits ein aktuelles Gateway der Firma mediola im Einsatz, könnte der »relativ neue) »RGB-Lightmanager PRO« die Lösung sein.

Gateway über HTTP ansteuern


Alle Gateways können über einfache HTTP-Befehle von außen angesteuert werden. Dies macht man sich zu Nutze, um den Controller direkt über ein entsprechendes HomeMatic-Skript anzusprechen. Dabei hat man Kontrolle über die darzustellende Farbe, deren Helligkeit, kann die Stripes dimmen, ausschalten oder mit einem eigenen Farbverlauf programmiert ablaufen lassen.

Der prinzipielle HTTP-Aufruf sieht wie folgt aus:
http://[IP_ADRESSE]/command?XC_FNC=SendSC&type=ML&data=[DATEN]&adr=[RGB-CONTROLLER]
Die [IP-ADRESSE] ist dabei durch die Adresse des Gateways zu ersetzen. Für [RGB-CONTROLLER] trägt man wiederrum die im »a.i.o. creator« zugewiesene Adresse des Controllers ein:
rgblightmanageradr
Ein möglicher Aufruf könnte demnach wie folgt aussehen:
http://192.168.178.10/command?XC_FNC=SendSC&type=ML&data=[DATEN]&adr=01
Zu beachten ist an dieser Stelle, dann man die Controller-Adresse mit vorangestellter 0 (null) übergibt.
Kommen wir zur Übermittlung des eigentlichen Befehls, der über den Parameter [DATA] zu übergeben ist:

DataBedeutungBeispiele
80 Schaltet den RGB-Controller aus  
81 Pausiert die Abarbeitung eines Programmes (Farbverlauf)  
0-100 (HEX) Dimmt die LEDs auf den übergebenen Prozenzwert. Die Zahl muss dabei hexadezimal übergeben werden. Dimmen auf 50%:
data=32

Dimmen auf 75%:
data=4b
RRGGBB Färbt die LEDs in der angegebenen Farbe. Diese muss zweistellig hexadezimal pro Farbkanal (R = Rot, G = Grün, B = Grün) übergeben werden. Farbe rot:
data = ff0000

Farbe blau:
data = 0000ff

Farbe orange:
data = ff8d1b
RRGGBBAA Färbt die LEDs in der angegebenen Farbe. Diese muss zweistellig hexadezimal pro Farbkanal (R = Rot, G = Grün, B = Grün) übergeben werden. Zusätzlich kann direkt die Dimmstufe (bzw. Helligkeit) angegeben werden (A = Alpha). Auch dieser ist hexadezimal zu übergeben (siehe oben). Farbe rot / 50%:
data = ff000032

Türkis / 75%:
data = 1050504b
PRGDATA Übermittelt das übergebene Programm für einen Farbverlauf und führt dieses sofort aus.  

Die Daten für PRGDATA entnimmt man direkt der Datei der Code-Bibiliothek (ircodes.xml) des creators (Details, siehe weiter unten):
<?xml version="1.0" encoding="UTF-8" ?>
<ircodes>
    <rgbprogram id="1" name="SlowRed" data="ff6207414cf90d09414c"/>
    <rgbprogram id="2" name="Mixed" data="1bff264a4aff2e1d4a4a585dff4a4afaff1c4a4a000000424a"/>
</ircodes>
Die gewünschten Daten kopiert man einfach aus der entsprechenden Zeile heraus und fügt sie in den HTTP-Befehl ein:
http://192.168.178.10/command?XC_FNC=SendSC&type=ML&data=ff6207414cf90d09414c&adr=01

HomeMatic Skript erstellen

Für die eigentliche Ansteuerung des Controllers über HomeMatic benötigen wir abschließend noch ein Programm mit einem kleinen Skript, das die oben beschriebenen HTTP-Befehle unter definierten Bedingungen auslöst. So ließe such z.Bsp. zeitgesteuert abends ein warmer Orangeton programmieren, während nachts eine Art Orientierungslicht den Weg weist.

Die einfachste Art, einen Befehl in einem Skript abzusetzen, ist der der Aufruf von »system.exec«. Dies sollte in der Praxis aber unbedingt vermieden werden(!), da die Zentrale sonst Gefahr läuft, während des Betriebs abzustürzen. Eine sichere Alternative bietet hier ein Modul des AddOns »CUx-Daemon«:
CUx-D
Falls noch nicht geschehen, ist dazu ein neues CUx-D Gerät vom Typ "(28) System > Funktion: Exec" anzulegen. Nach der Übernahme aus dem Posteingang im WebUI, ist die vergebene Seriennummer zu notieren. Ein entsprechender Aufruf dieses Geräts sieht dann wie folgt aus:
string url="[MEINE_URL]";
dom.GetObject("CUxD.[SERIENNUMMER]:1.CMD_EXEC").State("wget -q -O - '"#url#"'");
Unter [MEINE_URL] ist dann der HTTP-Befehl nach obigem Schema einzusetzen, z.Bsp:
string url="http://192.168.178.10/command?XC_FNC=SendSC&type=ML&data=ff8d1b&adr=01";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'");
Tipp:

Um einen HTTP-Befehl vorab zu testen, kann dieser auch einfach in die Adresszeile eines Browser eingegeben werden. Wird dieser dann vom Gateway richtig erkannt, sollte eine Webseite mit folgendem Inhalt zu sehen sein:

{XC_SUC}

Das entsprechende Skript muss dann nur noch innerhalb eines Programmes (z.Bsp. über ein Zeitmodul oder einen Bewegungsmelder) ausgelöst werden.

Eigene Farbverläufe programmieren

Neben der Vergabe einer Fixfarbe, lässt sich der Controller (unter Zuhilfenahme des »a.i.o.-creators«) auch für eigene Farbverläufe programmieren. Diese können nahezu beliebig komplex sein und bestehen aus folgenden Bestandteilen:
  • Farbe
  • Helligkeit (Dimmwert)
  • Einblenddauer (in Millisekunden, Sekunden oder Minuten)
  • Dauer (in Millisekunden, Sekunden oder Minuten)
Der Editor mit den oben vorgestellten Farbverläufen (SlowRed/Mixed) sieht dann z.Bsp. wie folgt aus:
rgbeditor
Alle hier definierten Programme werden mit dem vergebenen Namen in die Datei "ircodes.xml" geschrieben, die sich im Dokumentenverzeichnis des angemeldeten Benutzers befindet:
C:\Benutzer\<Benutzername>\Documents\a.i.o. Creator\ircodes.xml
Aus dieser lassen sich die entsprechenden Daten einfach herauskopieren und in das Skript zur Ansteuerung einfügen.

Einen eigenen Kommentar verfassen

Du musst auf dieser Seite angemeldet sein, um einen Kommentar für diesen Artikel verfassen zu können.
Soll es schnell gehen? Dann melde Dich jetzt einfach über Dein soziales Netzwerk an:

Kommentare // TecBase

Gonzalo Jacob

Gonzalo Jacob

31. Dezember, 2016 |

Hallo, Admin !
vielleicht können Sie mir helfen, Ich habe keine Ahnung, wie ich einen Anwesenheitsimulator zum Ein- und Ausschalten...

thi

thi

16. November, 2016 |

Hallo Petrus,

dieses Jahr hat mir das Script den Buß- und Bettag auf den 17.11.berechnet. Ursache ist offenbar eine falsche...