Bewegtes Licht

  • Ich wollte mal berichten, was ich mit Homebridge getrieben habe. Ich habe nämlich bestimmt keine sonderlich alttägliche Konfiguration gebastelt.


    Was node.js angeht, kann man nämlich nur von Basteln sprechen. Ich bin ein erfahrener Linux-Nutzer, bin seit über 25 Jahren Unix/Linux-Admin und muss kann schon ein bisschen mehr als ein einfaches ls - aber dieses node.js-Zeugs finde ich übelst. Egal, aber kommt bloß nicht auf die Idee, mir dazu Fragen zu stellen. Mein Setup funktioniert, aber ich kann teilweise nicht sagen, warum. Gefrickel.


    Zur Sache: ich bin seit 35 Jahren auf der Suche nach schönen Lampen, und innerhalb dieser Zeitspanne habe ich genau zwei gefunden von der Sorte, die ich auch bezahlen wollte. Natürlich habe ich in der langen Zeit noch viel anderes schönes Zeugs gefunden, aber meine Bank hat immer den Kopf geschüttelt und gemeint: „so eine teure Lampe brauchen wir nicht“.


    Da fielen mir die feuchten Träume meiner Pubertät ein. Nein, nicht die Phantasien über Brigitte, Kirsten und Susanne, sondern bewegliche Bühnenbeleuchtung, heutzutage Moving Heads genannt. Warum nicht solche Wackeldackel unter die Decke hängen und damit nicht nur Farbe und Lichtstärke, sondern auch die Beleuchtungsrichtung steuern? Also beispielsweise eine Szene kreieren, in der drei oder vier Moving Heads die Bilder an der Wand beleuchten, so als Standard-Wohnzimmerszene. Und dann könnte man, wenn man das Heimkino einschaltet, alle bis auf einen ausmachen, und der eine dreht sich so, dass er nun schwach den Wohnzimmertisch beleuchtet. Oder ich bekomme Licht an den Schreibtisch, wenn ich es dort brauche. Oder ich mach ein farbige Kleckse auf den Fußboden, mal hier, mal dort. Was auch immer.


    So wie fucking Genesis 1986 mit ihren Vary*lites in der Düsseldorfer Philipshalle. Genau so.


    Für mich hörte sich das gut an, also fing ich mich an damit zu beschäftigen. Ich habe gelernt, dass es verschiedene Arten von Moving Heads gibt, die Washer, die Teams und die Spots. Wie bei allen Lampen ist auch hier die Preisskala nach oben offen. Ich hab, um zu testen, dann einen billigen Washer gekauft, ein China-Ding namens Lixada Moving Head Mini LED [1] für 70 Eurodinger .


    Um einen Moving Head zu steuern, muss man das DMX-Protokoll verwenden. Die Bühnentechnik verwendet dieses Protokoll. Nur ganz kurz: Die Lampen werden mittels eines dreipoligen Kabels in Reihe miteinander verbunden, an ein Ende kommt eine Art Endwiderstand (soll man machen, hab ich aber nicht getan) und das andere Ende wird in ein Mischpult eingestöpselt. Jeder Lampe wird per Dipswitch an der Lampe eine Adresse zugewiesen. Und am Mischpult kann man dann die Lampen steuern, unter anderem Dim (Lichtstärke), Tilt (vertikale Bewegung), Pan (horizontale Bewegung), und die Farbe des Lichts.


    Dabei kann man Lampen verschiedener Hersteller mixen. Ist alles kompatibel. Zumindest mit gutem Willen.


    Nun habe ich kein derartiges Mischpult und wollte auch keins im Wohnzimmer haben. Ich wollte für die Steuerung HomeKit verwenden. Also ging’s ans Basteln.


    Ich hab also einen Raspi 3 erworben. Auf den habe ich Homebridge installiert - mühsam per Hand - und danach eine Software namens dmx-web [2], witzigerweise auch ein node.js-Modul. Da der Raspi keinen dreipoligen Anschluss anbietet, um dort das DMX-Kabel anzuschließen, habe ich bei dmx4all ein NanoDMX USB Interface [3] für knappe 60 Euro gekauft. Dabei handelt es sich um ein Kabel, das auf der einen Seite den Dreipolstecker hat und auf der anderen Seite einen USB-Stecker. Und der passt ja in den Raspi.


    Nur mal so zwischendurch: dieses Wissen musste ich mir erstmal draufschaffen. Wie funktioniert node.js, wie funktioniert DMX, wie funktioniert die Adressierung, wie funktioniert ein Moving Head. Ich hab vorher nichts drüber gewusst, und der Lernprozess hat so seine Zeit gedauert.


    Zu dmx-web gibt es nur sehr schmale Doku. Ein einzeiliges bash-Skript hat mehr Inhalt. Nachdem ich die beiliegende Konfigurationsdatei halbwegs verstanden hatte, habe ich sie so verändert, das sie meinen Lixada Washer vernünftig beschrieb. Glückliches Lächeln verzerrte mein Gesicht, als ich den Moving Head dann nach einigen Fehlversuchen per Webinterface, das dmx-web mitliefert, von meinem PC aus steuern konnte. Links, rechts, hoch, runter, rot, blau, gelb, grün. Geilomat.


    Für Homebridge gibt es ein Plug-in, das sich homebridge-dmxuniverse [4] nennt. Dieses Plug-in arbeitet mit der API von dmx-web zusammen. Ich kann wiedi, dem Programmierer von dmx-web, nur dafür danken, dass er so was Feines wie diese API programmiert hat, und bluemaex, dem Programmierer von homebridge-dmxuniverse, dafür, dass er diese API nutzt.


    Mit dem Plug-in homebridge-dmxuniverse kommt nun zusammen, was zusammen gehört. Allerdings musste ich dafür für meinen Washer einen kleinen Treiber in JavaScript schreiben. Hässlich, hässlich sowas, vor allem, wenn man wie ich keinen blassen Schimmer von JavaScript hat. Ich habe also einen Treiber genommen, der bei homebridge-dmxuniverse für eine ganz andere Lampe dabei war und habe nach einer Weile herausbekommen, wie ich den so verändern konnte, dass damit mein Moving Head funktioniert.


    Und was soll ich sagen: die Scheiße geht! Der Washer taucht jetzt in Apples Home App auf, und weil ich noch fies getrickst habe, kann ich nun mit der App Dim, Tilt und Pan einstellen. Und ja, das ist eindeutig besser als das, was mir Brigitte, Kirsten und Susanne damals hätten bieten können.


    Kleine Problemchen gibt dann natürlich doch: HomeKit kennt keine Lampen, die sich bewegen können. HomeKit kennt nur Lichtstärke und Farbe, nicht aber eine Richtung. Das bedeutet, dass es kein richtiges Userinterface für Tilt oder Pan gibt. Ich habe mir damit beholfen, dass ich drei Treiber zusammengefrickelt habe: einen für Lichtstärke, einen für Tilt und einen für Pan. Daher taucht der Washer nun dreimal in der Home App auf: als lixada-led, lixada-tilt und lixada-pan. Bei letzteren beiden schiebe am Helligkeitsregler und die Lampe bewegt sich.


    Darüber hinaus sind meine Anpassungen der JavaScript-basierten Treiber nicht gerade ein großes Werk. Es funktioniert halt, aber schön ist es nicht.


    Und, ok, ich muss es zugeben, so wie Genesis 1986 isses jetzt gerade auch nicht mit dem einen Washer, aber wenn man die Augen zusammenkneift, kann man's so ein bisschen erahnen.


    Mein Test ist damit beendet. Demnächst werde ich also drei oder vier Cameo NanoSpot 120 Moving Head Spots [5] beschaffen. Und dann wollen wir mal sehen, ob mein Plan am Ende auch in Gänze aufgeht und das ganze cool funktioniert. Ich muss noch ein bisschen an den Moving Heads basteln, die haben alle laute Lüfter für die Servos und die will ich noch durch leisere austauschen oder schaltbar machen. Und in diesen Dingen bin ich noch schlechter als in JavaScript-Programmierung. Mit dem Lötkolben, über den ich verfüge, kann man auch Dachrinnen reparieren. Immerhin habe ich die erweitere Alexa-Version von Homebridge installiert und kann den Washer nun auch per Alexa steuern.


    Dieses Setup ist bestimmt nichts für jedermann, aber ich wollte es euch trotzdem mal vorstellen.


    Gruß,

    Stefan


    [1] https://www.amazon.de/Lixada-D…+head&tag=hktips-forum-21

    [2] https://github.com/wiedi/node-dmx

    [3] http://www.shop.dmx4all.de/de/…anoDMX-USB-Interface.html

    [4] https://github.com/bluemaex/homebridge-dmxuniverse

    [5] https://www.thomann.de/de/cameo_nanaspot_120.htm

  • Respekt, das klingt sehr interessant und auch äußerst kompliziert !


    Sehr nett geschrieben. Was jetzt noch fehlt sind ein paar Bilder dann wäre es was für den showroom :)

  • Ich bin noch nicht so weit. Geldmangel hat das Projekt verschoben. Was jetzt prompt dazu führte, dass die ausgesuchten Moving Heads nicht mehr im Handel erhältlich sind... Ich denke, dass ich im Mai so weit bin, und dann komm ich mit einem Filmchen rüber.


    Stefan

  • Ich sehe das erst jetzt gerade, weil ich nach einer Einbindung für DMX in Homebridge suchte... Respekt, klingt gut. Und wenn du vielleicht inzwischen das Budget wieder auf Stand gebracht hast: Auf http://www.gebrauchte-veranstaltungstechnik.de gibts oft Vari*lites fürn Appel undn Ei. Ok, Genesis musste dann halt noch bezahlen, und vielleicht die Wohnzimmerdecke etwas verstärken, die Dinger wiegen dann leider immer noch ordentlich ;)

  • Das Projekt ist bereits beendet. Trotzdem danke für den Link. Da darf ich eigentlich gar nicht reinschauen :D. Unter der Decke hängen jetzt billige China-Kracher (ein Lixada Washer und vier PicoSpots). Deren Lüfter habe ich durch bessere ersetzt, man hört sie aber trotzdem. Als Traverse nutze ich zwei DecoTruss, die sich aber als etwas zu schwach erwiesen haben.


    An der Traverse hängt auch ein Raspi namens Lichtmaschine, der die erforderliche Software bereitstellt. An den Strom angeschlossen sind alle Komponenten über zwei Koogeek-Mehrfachsteckdosen.


    Die Steuerung der Moving Heads erfolgt über Szenen. Dabei aktiviere ich eine Szene und belasse sie dann über Stunden so. Beispielsweise drehen sich die Lampen so, dass sie meine Gitarrensammlung beleuchten, oder wenn mal wieder Kino-Abend ist, dann gehen alle aus bis auf eine, die sich dann so dreht, dass sie mit nur 10 Prozent Helligkeit den Wohnzimmertisch anleuchtet, damit ich meinen Drink wiederfinde. Es gibt noch eine Handvoll anderer Szenen, die alle Lampen oder nur einzelne ansteuern.


    Die Lampen einzeln zu steuern ist nicht so einfach: über die Regler in der Home-App für Tilt und Pan ist es ein Geduldsspiel und über Siri ist es auch nicht einfach: "Hey Siri, stelle wz-p1-tilt-26 auf 63%" überfordert hier gleich zwei - erst mich beim Aussprechen und danach Siri. Da ich nicht ständig die Lampen bewegen will, so wenig wie andere ständig die Farbe ihrer Lightstrips ändern wollen, läuft halt alles über voreingestellt Szenen, wie bei den anderen Kindern auch.


    Um Programmierung kommt man nicht herum. Die Treiber der Lampen sind in Javascript programmiert. Hier habe ich die Vorlagen von homebridge-dmxuniverse so angepasst, dass sie auf meine Moving Heads passen. Weiterhin habe ich Node Red verwendet, damit ich Szenen auch über Alexa aufrufen kann. Ich habe festgestellt, dass die Lichtleistung für ein Wohnzimmer unerheblich ist. Tatsächlich dimme ich sie auf Parties herunter (per Hue Dimmschalter).


    War ein tolles Projekt und hat eine Menge Spaß gemacht und macht es immer noch. Die billigen Moving Heads tun ihre Arbeit, und da sie sich ja auch nicht allzusehr bewegen, werden die wohl eine Weile halten. Richtig Rambazamba mit voll Power machen die nur auf meiner Silvesterparty. Wenn ich das ganze noch mal machen sollte, würde ich eine stabilere Aufhängung wählen. Leider bin ich ein wirklich mieser Handwerker. Bessere Moving Heads sollten lüfterlos sein oder über einen Temperatur gesteuerten Lüfter verfügen, was aber in der Billig-Preisklasse nicht zu bekommen ist. Und natürlich muss man auch über den Stromverbrauch nachdenken: die fünf Moving Heads brauchen um die 180 Watt.


    Gekostet hat mich das Ganze etwa 900€ (fünf Moving Heads + Traverse + Raspi + DMX-Interface + Koogeeks + Kabelgedöns).


    Stefan