wifilight für DMX

Begonnen von ujaudio, 22 Januar 2016, 23:44:31

Vorheriges Thema - Nächstes Thema

ujaudio

Ich habe mir etwas gegönnt und gerade eben den LAN-to-DMX-Controller bestellt, um aus FHEM über LAN meine Terrasse mit entsprechenden Scheinwerfern zu beleuchten. Etwas Doku gibt es auch und lernen will ich auch noch etwas. Ich werde berichten und möglicherweise auch Hinweise benötigen. Jetzt erst einmal auf Lieferung warten.

Die Schnittstelle von wifilight sollte sein, damit man die set, dim, RBG und H,S,V Kommandos genauso nutzen kann - das hat Jörg so gut gemacht, da muss man ja das Rad nicht neu erfinden.

Adressiert wird das Teil über eine IP-Adresse und den Port 10001. In der Doku steht dann weiter:
The sent and received data are RAW-data packets with the DMX4ALL command data inside.

Ein einfacher RBG-Strahler hat 3 Kanäle (0, 1 und 2), so dass ich 50% Grün wie folgt bekomme:
Transmit character: C001L128
Receive character: G

Soweit die Theorie.

Um einen Scheinwefer zu definieren brauche ich also die IP-Adresse und die 3 Kanäle. Eine bestimmte Farbe entsteht durch Versenden 3er Telegramme.
Einen lieben Gruß
Jürgen

herrmannj

ein nicht unerheblicher Teil von wifilight beschäftigt sich mit den transitions, timing, Farbkorrektur etc.

Wenn das man dem device über tcp byte sequenzen sagen kann welche Farben kann man das sogar mit überschaubarem Aufwand implementieren.
Aus dem anderen thread habe ich mitgenommen das die über ein usb device angesteuert werden ?

Hier wäre das Protokoll ? https://domotiga.nl/attachments/download/925/DMX4ALL_Commands.pdf

vg
joerg

herrmannj

wenn ich das richtig interpretiere kann man absolute RGB werte setzen:

CaaaLbbb

Kanal 1 ist R, 2 ist G, 3 ist B wenn ich das richtig verstehe ?

Wenn man also einen konkret #FF00FF setzen möchte dann sendet man:

C001L255
C002L000
C003L255


Ist das richtig ?

vg
joerg

ujaudio

Ich habe ja schon folgendes bei mir realisiert: 2 wifilight devices, wobei ich nur eines direkt mit Werten versorge und das andere einfach über ein notify die RBG-Werte weiterreiche. Insofern wäre meine erste Idee, dass ich eben auch nur die RBG-Werte an das LAN-to-DMX weitergebe und den Rest erst einmal ignoriere. Jetzt muss ich "nur" noch herausfinden mit welchen FHEM oder Perl Mitteln ich die Daten transferiere - aber nicht mehr heute Nacht! Mal sehen, was mir morgen das FHEM Wiki und die commandref sagen.
Einen lieben Gruß
Jürgen

ujaudio

Zitat von: herrmannj am 22 Januar 2016, 23:58:22
wenn ich das richtig interpretiere kann man absolute RGB werte setzen:

CaaaLbbb

Kanal 1 ist R, 2 ist G, 3 ist B wenn ich das richtig verstehe ?

Wenn man also einen konkret #FF00FF setzen möchte dann sendet man:

C001L255
C002L000
C003L255


Ist das richtig ?

vg
joerg

ja aber es geht noch kürzer mit dem Array-Kommando:
FF 00 00 03 FF 00 FF

1. FF = Array-Transfer
2. 00 = Low Byte Startkanal
3. 00 = High Byte Startkanal
4. 03 = Anzahl Kanäle
5. FF = Wert Kanal 0
6. 00 = Wert Kanal 1
7. FF = Wert Kanal 2
Einen lieben Gruß
Jürgen

herrmannj

perfekt. RGBW wären FF 00 00 04 FF 00 FF xx ?

Das kann man mit vertretbarem Aufwand in wifilight integrieren. LW12_setHSV als Beispiel.

Extern über notifys stimmen timing farbkorrektur etc alles nicht.

vg
joerg

herrmannj

btw, wofür haben die DMX eigentlich so viele Kanäle ?

liegen RGB immer auf 1,2,3 ?

vg
joerg

ujaudio

Zitat von: herrmannj am 23 Januar 2016, 00:37:40
perfekt. RGBW wären FF 00 00 04 FF 00 FF xx ?

Das kann man mit vertretbarem Aufwand in wifilight integrieren. LW12_setHSV als Beispiel.

Extern über notifys stimmen timing farbkorrektur etc alles nicht.

vg
joerg

Ich versuche gerade mal dein Modul zu verstehen, insbesondere wie die Kommunikation über LAN abläuft.
Einen lieben Gruß
Jürgen

ujaudio

#8
Zitat von: herrmannj am 23 Januar 2016, 00:38:37
btw, wofür haben die DMX eigentlich so viele Kanäle ?

liegen RGB immer auf 1,2,3 ?

vg
joerg

Es gibt ja in der Lichtszene noch mehr als nur Farbmischung, Stroboskobeffekte oder Blackout, was in der Zeit vor LEDs ganz sicher nicht das Ausschalten der Leuchtmittel war. Der DMX-Profi bin ich aber nicht, ich will nur mein Haus und meine Terrasse in buntes Licht tauchen. Die DMX-Kanäle liegen wohl immer hintereinander, aber der 1. Kanal muss nicht 0 sein, im Gegenteil: wenn ich 10 Schweinwerfer an einer Leitung habe, dann müssen die ja auf unterschiedlichen Kanälen angesprochen werden.
Einen lieben Gruß
Jürgen

Markus Bloch

Aus der praktischen Erfahrung mit DMX im Veranstaltungsbereich, möchte ich darauf hinweisen, dass viele Leuchten noch einen Master-Kanal haben, der quasi die Gesamthelligkeit steuert. Wenn man nun alle 3 Kanäle für RGB aufdreht, muss man auch den Masterkanal aufdrehen, bevor die Lampe leuchtet.

Bei manchen Lampen liegt der Masterkanal ganz vorne (relativ gesehen: Kanal 0), danach 3 Kanäle für RGB und noch ein paar zusätzliche Effektkanäle (Strobe, Farblauf, ...). Bei anderen liegt der Masterkanal ganz hinten (R, G, B, Effekte ..., Master). Ander wiederrum haben keinen Master.

Daher muss man hier eine Flexibilität anbieten, die es dem Nutzer ermöglicht zu sagen, welche Lampe auf welchem Kanal relativ zum Startkanal die einzelnen Kanäle liegen. Ist besonders lustig, wenn man Lampen von verschiedenen Herstellern hat und die dann auf einem Lichtpult unterkriegen möchte, was ein solches individuelles Mapping nicht ermöglicht.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

holzwurm83

Hallo zusammen,

ich habe vor einigen Wochen auch bereits nach einer möglichen DMX Steuerung über Fhem gesucht. Dabei bin ich auch über DMX4ALL gestolpert und habe aufgrund des Preises gleich weiter gesucht. Ich finde die Preise sind absolut überzogen und DMX4ALL ist denke ich auch von einer Integration in Fhem nicht gerade begeistert, da sie schließlich auch ihre eigene Software vertreiben wollen.

Auf der Suche nach einer Preiswerten alternative bin ich auf folgende sehr günstige Hardware gestoßen.
Diese gibt es als Bausatz (ArtNet-Node-Bausatz):
http://shop.ulrichradig.de/Bausaetze/Uli-s-DMX-Kit-s/AVR-ArtNet-Node-Bausatz.html
und auch schon fertig mit dem passenden Gehäuse (Art-Net-Box-Bausatz):
http://shop.ulrichradig.de/Bausaetze/Uli-s-DMX-Kit-s/Art-Net-Box-Bausatz.html?listtype=search&searchparam=Art%20Net%20Box

Des weiteren habe ich auch noch jemanden gefunden, der sich bereits mit der Integration in Fhem auf basis der o.g. Hardware 2014 schon mal damit befasst hat.
https://github.com/fdemmer/fhem-artdmx/tree/master
Ich habe den Florian mal angeschrieben und ihn gefragt ob das noch funktioniert. Er hat das leider nicht für sich selbst gemacht und benutzt seit dem auch kein Fhem mehr. Er konnte daher leider nicht mehr sagen ob es mit der aktuellen Fhementwicklung noch funktioniert. Wir dürfen allerdings seinen Code weiterverwenden.

Ich hätte mir die Hardware schon fast bestellt, war mir dann doch unsicher, da ich selbst keine Programmierkenntnisse besitze, falls doch etwas angepasst werden müsste.

Ich würde die Entwicklung auch gerne unterstützen! Könnt ihr euch die Hardware und das Fhemmodul anschauen, ob dass uns weiter helfen kann und eine bessere Alternative darstellt?

Ich habe mal meine LED-Steuerung (ab Seite 11) mit DMX-Schnittstelle angehängt. Vielleicht könnt ihr das bei der Weiterentwicklung mit berücksichtigen.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

herrmannj

#11
Hi Markus,

DMX Kenntnisse helfen hier sehr (ich habe keine ;) ) VIELEN DANK.

First: WifiLight ist kein DMX Spezial modul, wirds auch nicht werden weil zu DMX mehr gehört als nur farbiges Licht.

Die Frage die sich Jürgen gestellt, und zum Projekt gemacht hat, lautet ja ob sich SEIN LAN/WIFI DMX controller damit so einbinden lässt wie jede andere LED.

Nach erster evaluierung sage ich mal: geht. Mit überschaubarem Aufwand.

Zum DMX: soweit ich verstehe bekommt also jede LAMPE eine Anzahl X der vorhandenen 255 Kanäle zugeteilt. In unserem Kontext hier wäre dann nur interessant welche Kanalnummern je Lampe für R,G,B und evtl noch Weiß konfiguriert sind. Plus dem Master brightness.

Systematisch würden sich also einige Lampen den Controller teilen. Das wäre analog zu den Milights. 

In der physischen Ausgabe müsste das modul also schauen wie das mapping Lampe / Channel (RGB) zu den Kanälen ist, sicherheitshalber einmal master auf 0xff und dann "Kanalnummer von R" auf XX / "Kanalnummer von G" usw.

Dazu am einfachsten den Array Befehl, je nach Kanalkonstellation evtl mehrfach. Wenn RGB = Kanal 1,2,3 in einem Rutsch - wenn R,G,B = Kanal 23,27,12 dann eben 3x array ..

So richtig ?

Wenn ja würde ich Jürgen vorschlagen im define die Kanäle zu zuordnen:

define x WifiLight RGB DMX4ALL:192.168.1.99 1,23,27,12

master = 1 und R,G,B = Kanal 23,27,12

Macht Sinn ?

vg
joerg

ujaudio

@Markus, ja das ist mir bekannt, aber ich gehe aktuell noch davon aus, dass wenn die Leuchte nur 3 Kanäle hat, diese RGB sind.

@Holzwurm, meine Herausforderung ist, dass ich zwar Strom auf der Terrasse habe, aber keine weiteren Leitungen durch die Hauswand bohren kann. Insofern geht es bei mir über WLAN oder Power-LAN nach draußen und dort brauche ich dann einen LAN-to-DMX. Außerdem muss das absolut stabil laufen, Bastellösung scheidet aus. Ich habe auch lange gezögert, bevor das Teil nun bestellte.

@Jörg / alle, ich will ja keinen "fully featured" DMX-Controller haben sondern nur konstant-buntes Licht auf der Terrasse und der Hauswand. Da genügt RGB, bzw. RGBW vollkommen. Und die vorhandene Wifilight-Steuerung kann jeder bedienen. Die Bedienerschnittstelle mit Helligkeit und Farbauswahl ist einfach genau richtig und hat sich in unserem Heim-Wellness voll bewährt. Nächste Woche bekomme ich den Umsetzer hoffentlich, dann kann ich auf meinem 2. Raspberry mal ein Testsystem aufbauen - und dann schauen wir mal, wie sich das in FHEM einbinden lässt.
Mangels Wissen und Erfahrung muss ich da noch durch ganz viele Themen durch, aber irgendwann muss man ja mal anfangen. Für mich bedeutet das: jetzt. Ich sehe 3 Möglichkeiten:

  • über die 99_MyUtils eine Funktion bauen, die einfach dem vorhanden Wifilight folgt - da muss ich mich nur in die Kommunikation einarbeiten, was schon eine Herausforderung an sich ist, z.B. die triviale Frage, wer denn Server und wer Client ist und wie ich non-blocking genau realisiere
  • Anhand von Wifilight ein komplettes eigenes Modul bauen, das sollte dann irgendwie 47_LanToDMX heißen, wobei ich noch nirgends gefunden habe, wie sich die Nummer bestimmt und welche Namensspielregeln einzuhalten sind, wenn man glaubt das der FHEM-Gemeinde anbieten zu wollen.
  • In das vorhandene Wifilight integrieren, was mich aber dann von der weiteren Entwicklung abkoppeln würde, ich muss dann auch aufpassen, dass ich kein Update mache - also eher keine Alternative
  • Theoretisch könnte ich auch noch Jörg zuarbeiten, so dass es Bestandteil von Wifilight wird, aber ich setze das keineswegs voraus, ich hoffe das auch nicht hintergründig. Zumal ich auch noch lernen möchte und das geht am besten an einem konkretem Projekt. Selbst wenn Jörg hier aktiv werden möchte, muss ich ja noch irgendeinen Weg finden mein Wissen zu vertiefen, ich habe nämlich noch ein paar weitere LAN-Geräte, die eingebunden werden wollen (Solaranlage, Stromspeicher, BluRayPlayer, CD-Player/Streamer und den T&A Caruso, der zum Luxus-Wecker in FHEM eingebunden mutieren soll). Das Licht scheint mir aber der einfachere Start zu sein.

Einen lieben Gruß
Jürgen

holzwurm83

Zitat von: ujaudio am 23 Januar 2016, 16:25:37
@Holzwurm, meine Herausforderung ist, dass ich zwar Strom auf der Terrasse habe, aber keine weiteren Leitungen durch die Hauswand bohren kann. Insofern geht es bei mir über WLAN oder Power-LAN nach draußen und dort brauche ich dann einen LAN-to-DMX. Außerdem muss das absolut stabil laufen, Bastellösung scheidet aus. Ich habe auch lange gezögert, bevor das Teil nun bestellte.

Hallo Jürgen,

warum soll das eine Bestelllösung sein? Der LAN-to-DMX hat doch auch keine WLAN!? Man muss sich ja nicht den Bausatz kaufen! Die Hardware ist im Grund kein bisschen besser oder schlechter, aber wesentlich günstiger!

Hast du dir das angeschaut?
http://www.ulrichradig.de/home/index.php/dmx/art-net-box
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

ujaudio

#14
Ja, hatte ich kurz auf dem Schirm, aber wg. "ART NET" gleich wieder weggeklickt. Jetzt habe ich es genauer gelesen.

Und wie muss man das Teil ansteuern? Wie ist die Schnittstelle definiert, da habe ich erst einmal nichts gefunden, ich muss doch irgendwelche Daten auf die Ethernetleitung geben, damit ich z.B. meine 50% Grün bekomme.
Einen lieben Gruß
Jürgen