Beiträge von sschuste

    Wie bist du eigentlich auf : cmd="npm start gekommen ? Würde es mit cmd = node server.js auch laufen?

    Nun, das stand ja so in der Installationsanleitung auf https://www.mkshb.de/howto-node-sonos-http-api-installation/ . Unter der Überschrift Der erste Start steht, ich solle


    npm start


    eintippern. Da ich immer alles mache, was man mir sagt, hab ich diesen Befehl auch für das Startscript verwendet. Allerdings funktioniert das bei mir auch mit cmd="node server.js".


    Da ich diesen ganzen Node-Verhau unübersichtlich und gruselig finde, kann ich Detailfragen dazu leider nicht beantworten.

    Ich kannte sie bislang nicht. Das ist ja das schöne an diesem Forum - ständig wird man hier mit der Nase auf neues Spielzeug gestoßen. Jetzt muss ich erstmal ausprobieren, was das kann und ob ich es brauchen kann.

    Quatsch. Vergiss es. Ich arbeite dran.

    Sodele. Bei mir startet der Server mit diesen Zeilen:


    dir="/home/pi/node-sonos-http-api-master"

    cmd="npm start"

    user="pi"


    Das Startscript heißt bei mir


    /etc/init.d/sonos-http-api-master


    und ich habe ihm die notwenigen Rechte mit dem Befehl


    sudo chmod 755 /etc/init.d/sonos-http-api-master


    gegeben.

    Vielleicht funktionieren die ja mit Alexa nicht, weil glücklicherweise andere die Privatsphäre höher einschätzen 8o

    :thumbup:Allerdings finde ich es jetzt nicht soooo wichtig, wie hoch andere den Wert meiner Privatsphäre einschätzen. Ich hab mir nämlich die Mühe gemacht, über diese nachzudenken und sie sozusagen auf den "Prüfstand" zu setzen. Ist nicht viel übrig geblieben, was unbedingt privat bleiben müsste :huh: Ist der Ruf erst ruiniert... Aber das ist natürlich jedermanns eigene Sache.


    Das ich Alexa einsetzen muss, finde ich höchst ärgerlich und ich habe mich eine Weile dagegen gesträubt. Aber von Apple kommt schlichtweg nichts Brauchbares. Siri ist ein bisschen "schlauer" als Alexa, und Alexa ist viel umständlicher, kann dafür aber viel weniger - trotz Skills! Die sind oft halbherzig gemacht und nicht bis zu Ende gedacht. "Alexa, öffne $SKILL und $VORGEFERTIGTER_SATZ": nee, das ist völlig unelegant.


    Ist so ähnlich wie der Apple Newton vs. den Palm Pilot. Ersterer lernte meine Schrift, letzterer zwang mich, seine Schrift zu lernen. Das war vor 25 Jahren, aber ich werd auch nicht jünger und hab dementsprechend noch weniger Lust, Alexas Befehle auswendig zu lernen.


    Demgegenüber steht ein Echo Dot für 35 Euros, der mich in der ganzen Wohnung versteht, teilweise durch mehrere Zimmer hindurch, ohne dass ich sonderlich laut sein müsste. Das Gegenstück von Apple heißt HomePod, kostet das Zehnfache und kann Sachen, die ich nicht brauche - Lautsprecher hab ich hier nämlich schon genug. Das kann ich leider nicht gebrauchen. Leider! Apple, ihr seid ein paar Penner und überlasst Amazon diesen Markt mit allem Schnickschnack - ohne Steve Jobs seid ihr zu doof, wirklich coole Sachen zu entwickeln.


    Egal, gehört alles nicht zum Thema hier und deswegen nehm ich jetzt mein Lieblingskissen und heul da rein.

    Man kann ein Gerät einschalten, so was wie eine Lampe oder eine Waschmaschine. Eine Szene ist aber kein Gerät, sondern eine Gruppe von Aktionen, wie beispielsweise:


    [Szene weihnachtliches Haus]

    Baumbeleuchtung ein

    Playlist Weihnachtslieder spielen

    Feuerlöscher gelb beleuchten


    Wenn diese Szene ausgelöst wird, macht sie genau das. Bitte beachten: die Szene wird ausgelöst, nicht etwa eingeschaltet. Deshalb kann man sie auch nicht ausschalten. Wenn das Auslösen einer Szene rückgängig gemacht werden könnte, so müsste Homebridge die Geräte, die nun ihren Status verändert haben (Baumbeleuchtung ist ein, Musik läuft, Feuerlöcher wird gelb beleuchtet) auf den Status bringen, den sie vorher hatten. Die müssen ja vorher nicht unbedingt ausgeschaltet gewesen sein. Vielleicht war ja der Feuerlöscher ja schon vorher weiß oder blau beleuchtet.


    Eine Statusänderung deiner Geräte ausgelöst durch eine bestimmte Szene kann nur durch das Auslösen einer weiteren Szene erreicht werden. Du benötigst also eine Szene, die Baumbeleuchtung ausschaltet, die Musik stoppt und den Feuerlöscher im Dunkeln verschwinden lässt. Geht nur so.


    Stefan

    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