Servus zusammen,
hi Ozett
da ich auf der Suche nach einer Möglichkeit vom HS aus DMX (ArtNet) Kommandos per UDP zu senden, nur Fragen aber keine fertige Lösung gefunden habe, stell ich euch hier mal meine Lösung zur Verfügung.
Der Baustein ist noch nicht ganz fertig, sollte aber für die ersten Tests mehr als ausreichen.
Ziel ist es einfache (Dimm-) Kommandos vom HS zu senden, keine komplexen Lightshows. Dabei sollte - zumindest für die ersten Tests - günstige Hardware verwendet werden.
Derzeit Teste ich mit folgender Hardware:
beides von Ulrich Radig.
Die Umsetzung der KO wurde mir im Logikeditor schnell zu umständlich, drum hab ich alles in einen Baustein verpackt, der auch eine logarithmische Steuerkurve für LEDs beherrscht (voreingestellt).
Der HS-Baustein kann folgendes:
Was geht derzeit nicht:
Der Baustein und diverse Screenshoots liegen bei.
Anbei noch die Definition der Ein- und Ausgänge des Bausteins:
UDP-Versand:
Wie der UDP-Versand einzutragen ist, sollte den Bildern zu entnehmen sein.
Der rot markierte Wert im Bild UDP-send2.png ist die Anzahl der gesendeten DMX Werte. Zum testen sind hier nur 8 eingestellt [max=512, entsprechend mehr Werte zum Versand eintragen]
DMX-Net, Subnet und Universe stehen alle auf 0.
Wie im Bild UDP-send1.png zu sehen ist, müsst ihr hier noch eure IP-Adr. eures Art-Net Nodes eintragen.
Wahrscheinlich war ich viel zu kurz beim erklären... schaun wir mal.
Nachtrag Start
Ganz wichtig, der Baustein legt sich die ersten 90s nach Serverstart schlafen um Init Effekte zu unterdrücken.
Hier also bitte nicht wundern wenn's nicht gleich nach Serverstart klappt !
Nicht auf diesen Baustein bezogene Erklärung hierzu: aus diversen Logiken (z.B. Gatter vor Eingang) kann eine Berechnung nach Start kommen die zu allerlei Nebenffekten führen kann. Um das zu vermeiden, habe ich in den meisten Bausteinen diesen Init Blocker drin (gibts auch einzeln).
Das kann man fast immer durch geeignete Bausteinwahl oder Ersatz durch eigene Kopie "ohne Berechnug bei Neustart" auch lösen, aber mir wurde die Suche irgendwann zu dumm.
Wenn's stört können wir das auch zur Option machen.
Nachtrag Ende
frohe Weihnachten !
ciao
Michael
hi Ozett

da ich auf der Suche nach einer Möglichkeit vom HS aus DMX (ArtNet) Kommandos per UDP zu senden, nur Fragen aber keine fertige Lösung gefunden habe, stell ich euch hier mal meine Lösung zur Verfügung.
Der Baustein ist noch nicht ganz fertig, sollte aber für die ersten Tests mehr als ausreichen.
Ziel ist es einfache (Dimm-) Kommandos vom HS zu senden, keine komplexen Lightshows. Dabei sollte - zumindest für die ersten Tests - günstige Hardware verwendet werden.
Derzeit Teste ich mit folgender Hardware:
- DMX AVR ArtNetNode (Bausatz für 33,- Euro)
- DMX RGB LED Controller (Bausatz für 15,- Euro)
beides von Ulrich Radig.
Die Umsetzung der KO wurde mir im Logikeditor schnell zu umständlich, drum hab ich alles in einen Baustein verpackt, der auch eine logarithmische Steuerkurve für LEDs beherrscht (voreingestellt).
Der HS-Baustein kann folgendes:
- 4 Kanäle von KNX % + Ein/Aus auf DMX 8 bit umsetzen
(4 für RGB+W) - Wandlung wahlweise linear oder logarithmisch (für LEDs) mit Definition einer minimalen DMX Schwelle (von z.B. 3) um Flackern von günstigen Wandlern unterhalb eines Grenzwertes vermeiden zu können
- Generierung des Triggers für den UDP Datenversand
- ausserdem versuche ich den UDP Versand auf ein Minimum zu beschränken - gesendet wir nur bei Änderung und natürlich Unicast
Die DMX Dauersendung läuft nur auf dem DMX Bus, nicht zwischen HS und Gateway. - Wird am Baustein ein Ein/Aus Kommando für einen Dimmkanal gegeben, gibt es eine Rückmeldung auf die %-KO's, damit die Visuanzeige stimmt.
Was geht derzeit nicht:
- Eine Hardware-Statusmeldung aus der DMX Welt in die KNX Welt. Hierfür wäre weitere Hardware nötig (DMX->KNX oder DMX->Artnet Gateway).
- Ein Sendetimeout für den Fall "group send", hierzu weiter unten mehr. Das wird wohl als erstes folgen.
-> wurde mit V1.2 (s.u.) eingeführt, ist erledigt !
Der Baustein und diverse Screenshoots liegen bei.
Anbei noch die Definition der Ein- und Ausgänge des Bausteins:
- Eingänge 1-4: KNX %-Dimmwerte[0..100%] der Kanäle 1-4
- Eingänge 5-8: KNX Ein/Aus Werte[0,1] der Kanäle 1-4
- Eingang 9: steuert die Dimmkurve [0=linear, 1=logarithmisch]
- Eingang 10: löst manuell [Wert=1] den UDP Versand aus
Dies sollte normalerweise unnötig sein.
Vorsicht bei Einsatz mehrerer Bausteine in einem DMX-Universum - sicherheitshalber diesen Eingang nur bei einen Baustein verbinden. - Eingang 11 steuert wann der UDP Versand ausgelöst wird
Wert 1: bei jedem Eingang auf irgendeinem Kanal erfolgt der UDP Versand - z.B. wenn die 4 Kanäle als unabhängige Kanäle (weiß) genutzt werden
Wert 7: Versand erfolgt nur wenn CH1-3 alle einen neuen Wert bekommen haben (Anwendunugsfall RGB-Steuerung)
Wert 15: Wie 7, aber für RGB+W (CH1-4)
Achtung zu diesem Verfahren gehört auch ein Timeout, falls z.B. nicht alle RGB Kanäle geändert wurden - dieser Timeout ist noch nicht aktiv, kommt aber...
Ratschlag: vorerst nur mit Wert 1 testen. - Eingang 12: reserviert für Timeout
- Eingang 13: definiert eine untere Schwelle der DMX Werte als Ausgangswert für die Wandlung (lin + log)
Falls die LEDs wie in meinem Beispiel bei den Werten 1 und 2 noch sichtbar flackern (gemessen mit 400Hz, trotzdem sichtbar ?) kann der unterste Wert so weit erhöht werden das auch bei KNX-WERT=1% nichts flackert - 0%, spricht aus, gibt es natürlich trotzdem. - Eingang 14: Hier kommt eine Statusmeldung vom UDP Versand zurück (1=Versand war ok, 0=Fehler)
Eine 1 führt dazu das anstehende Sendungen bis zum nächsten Eingang eines Wertes nicht ausgeführt werden, da offensichtlich Während der Verarbeitung schon (von einem anderen Baustein) die Sendung ausgelöst wurde.
Ob das so perfekt funktiniert muß der Feldtest zeigen.
- Ausgänge 1-4: sind die DMX-Werte[0..255] der Kanäle 1-4 für den UDP Versand
- Ausgang 5: Trigger für den UDP Versand
- Ausgänge 6-9: sind die KNX %-Werte[0..100%] als Feedback nach Schalten, damit die Visu Anziege stimmt
Hier bitte auch die KO's der Eingänge 1-4 verbinden - Ausgänge 10,11: nur für's Debuging, werden später verschwinden
UDP-Versand:
Wie der UDP-Versand einzutragen ist, sollte den Bildern zu entnehmen sein.
Der rot markierte Wert im Bild UDP-send2.png ist die Anzahl der gesendeten DMX Werte. Zum testen sind hier nur 8 eingestellt [max=512, entsprechend mehr Werte zum Versand eintragen]
DMX-Net, Subnet und Universe stehen alle auf 0.
Wie im Bild UDP-send1.png zu sehen ist, müsst ihr hier noch eure IP-Adr. eures Art-Net Nodes eintragen.
Wahrscheinlich war ich viel zu kurz beim erklären... schaun wir mal.
Nachtrag Start
Ganz wichtig, der Baustein legt sich die ersten 90s nach Serverstart schlafen um Init Effekte zu unterdrücken.
Hier also bitte nicht wundern wenn's nicht gleich nach Serverstart klappt !
Nicht auf diesen Baustein bezogene Erklärung hierzu: aus diversen Logiken (z.B. Gatter vor Eingang) kann eine Berechnung nach Start kommen die zu allerlei Nebenffekten führen kann. Um das zu vermeiden, habe ich in den meisten Bausteinen diesen Init Blocker drin (gibts auch einzeln).
Das kann man fast immer durch geeignete Bausteinwahl oder Ersatz durch eigene Kopie "ohne Berechnug bei Neustart" auch lösen, aber mir wurde die Suche irgendwann zu dumm.
Wenn's stört können wir das auch zur Option machen.
Nachtrag Ende
frohe Weihnachten !
ciao
Michael
Kommentar