ArtDMX Steuerung per CCU

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Arminhh
Beiträge: 284
Registriert: 09.05.2011, 09:18

Re: ArtDMX Steuerung per CCU

Beitrag von Arminhh » 01.03.2013, 05:34

moin moin,
erst einmal auch von mir ein herzliches Danke an Uwe für die DMX Einbindung, echt toll umgesetzt. Der Artnet ließ sich problemlos einbinden und funktionierte auf anhieb.
Allerdings bekomme ich es nicht hin ein Programm mit dem Sonnenaufgang zum laufen zu bringen. Obwohl ich hier alles mehrmals und auch die Beschreibung gelesen habe.
Der Scriptaufruf
dom.GetObject("CUxD.CUX2802001:1.CMD_RUNS").State("/usr/local/addons/cuxd/extra/artdmxdim 192.168.167.50 0 4 400");
Versucht habe ich es mit CMD_RUNS und CMD_SETS.
CUX Seriennr. und IP stimmt.
Wenn das Prg. gestartet wird passiert nichts.
Über einen Hinweis würde ich mich freuen!
Mit freundlichen Grüßen aus Hamburg
Armin

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: ArtDMX Steuerung per CCU

Beitrag von uwe111 » 01.03.2013, 08:47

Hallo Armin,
Arminhh hat geschrieben: Der Scriptaufruf
dom.GetObject("CUxD.CUX2802001:1.CMD_RUNS").State("/usr/local/addons/cuxd/extra/artdmxdim 192.168.167.50 0 4 400");
Versucht habe ich es mit CMD_RUNS und CMD_SETS.
CUX Seriennr. und IP stimmt.
Wenn das Prg. gestartet wird passiert nichts.
da hast Du wohl das falsche CUxD-Gerät erwischt. Für diese Funktion solltest Du das System.Exec-Gerät nehmen.
Ausführlich ist das ist in der Doku beschrieben:
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("/usr/local/addons/cuxd/extra/artdmxdim 192.168.167.50 0 4 400 1");
dom.GetObject("CUxD.CUX2801001:1.CMD_RUNS").State(1);
Dann habe ich noch den Parameter für die Kanalauswahl (1-3) am Ende des Befehls ergänzt.

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

ayngush
Beiträge: 345
Registriert: 02.02.2012, 12:05
Danksagung erhalten: 7 Mal

Re: ArtDMX Steuerung per CCU

Beitrag von ayngush » 01.03.2013, 12:25

Hallo,
ist folgendes Verhalten korrekt oder war es gestern Abend mal wieder einfach zu spät für mich :) :

Ein Programm in der CCU steuert über artdmxdim auf z.b. RGB #331A00.
Dann kommt ein anderes Programm eines anderen Systems (HTPC z.B.) her und verändert die Farbeinstellungen über ArtNet - in der CCU steht jedoch weiterhin #331A00.
Wenn ich, nachdem das andere Programm fertig ist und die LEDs real alle aus sind, wieder zu meinen #331A00 zurück kehren möchte und ich dafür das HomeMatic Programm erneut auslöse, passiert nichts, die LEDs bleiben aus. Ist das soweit korrekt oder habe ich einen Fehler eingebaut? Muss ich die Farben vorher mit 0ms auf #000000 ziehen, damit die Werte in der CCU mit den Tatsächlichen überein stimmen? Kann ich die tatsächlichen Farbwerte der LEDs auslesen über den Parameter "r" von artdmxdim oder wird da nur die als DMX-Universe-Cache angelegte Datei auf der CCU ausgelesen?

Als ich mit 20ms Verzögerung dann die tatsächlich ausgeschalteten LEDs auch in der CCU ausgeschaltet habe, gingen die nämlich erst an um dann soft ausgedimmt zu werden. Deswegen meine Vermutung, dass artdmxdim in der CCU hinterlegte Farbwerte nicht erneut anfährt, korrekt?

Und wo ich schon dabei bin. Gibt es eine best practise für das Bedienen des CUxD.MultiDim? Virtuelle Tasten und diverse Programme oder gehen auch "Direktverknüpfungen"? Über HomeDroid kann ich zum Beispiel den CUxD.MultiDim nicht direkt bedienen, da der dort nur als in meinem Fall "7 Tasten" auftaucht anstatt "eine Taste mit 6 Dimmern".

Grüße

Arminhh
Beiträge: 284
Registriert: 09.05.2011, 09:18

Re: ArtDMX Steuerung per CCU

Beitrag von Arminhh » 01.03.2013, 14:38

da hast Du wohl das falsche CUxD-Gerät erwischt. Für diese Funktion solltest Du das System.Exec-Gerät nehmen.
Ausführlich ist das ist in der Doku beschrieben:
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("/usr/local/addons/cuxd/extra/artdmxdim 192.168.167.50 0 4 400 1");
dom.GetObject("CUxD.CUX2801001:1.CMD_RUNS").State(1);
Dann habe ich noch den Parameter für die Kanalauswahl (1-3) am Ende des Befehls ergänzt.

Viele Grüße,

Uwe.
Hallo Uwe,
so funktioniert es! Super herzlichen Dank!
mfg
Armin

chka
Beiträge: 2483
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 302 Mal
Danksagung erhalten: 116 Mal

Re: ArtDMX Steuerung per CCU

Beitrag von chka » 01.03.2013, 19:55

uwe111 hat geschrieben: Mit der aktuellen CUxD-Version kannst Du jetzt auf das Ende von artdmxdim triggern und Deine Steckdosen abschalten.
Kannst du das bitte noch mal genauer erklären ich finde in der aktuellen doku nichts darüer oder hast du den cux einfach an an den code von mir angepasst
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: ArtDMX Steuerung per CCU

Beitrag von uwe111 » 01.03.2013, 20:02

Hallo ayngush,
ayngush hat geschrieben: Ein Programm in der CCU steuert über artdmxdim auf z.b. RGB #331A00.
Dann kommt ein anderes Programm eines anderen Systems (HTPC z.B.) her und verändert die Farbeinstellungen über ArtNet - in der CCU steht jedoch weiterhin #331A00.
Wenn ich, nachdem das andere Programm fertig ist und die LEDs real alle aus sind, wieder zu meinen #331A00 zurück kehren möchte und ich dafür das HomeMatic Programm erneut auslöse, passiert nichts, die LEDs bleiben aus. Ist das soweit korrekt oder habe ich einen Fehler eingebaut?
Das sollte eigentlich so funktionieren.
ayngush hat geschrieben: Muss ich die Farben vorher mit 0ms auf #000000 ziehen, damit die Werte in der CCU mit den Tatsächlichen übereinstimmen?
Nein.
ayngush hat geschrieben: Kann ich die tatsächlichen Farbwerte der LEDs auslesen über den Parameter "r" von artdmxdim oder wird da nur die als DMX-Universe-Cache angelegte Datei auf der CCU ausgelesen?
artdmxdim funktioniert als dmx-Sender nur in eine Richtung. Also können auch nur die intern gespeicherten Werte angezeigt werden. Diese Werte sind übrigens während der Befehlsverarbeitung im Shared-Memory und werden erst danach in der Datei gespeichert. Der Parameter "r" liest die Daten direkt aus dem Shared-Memory.
Mit dem Parameter "w" kann der aktuelle Zustand des DMX-Universums erneut gesendet werden.
ayngush hat geschrieben: Als ich mit 20ms Verzögerung dann die tatsächlich ausgeschalteten LEDs auch in der CCU ausgeschaltet habe, gingen die nämlich erst an um dann soft ausgedimmt zu werden. Deswegen meine Vermutung, dass artdmxdim in der CCU hinterlegte Farbwerte nicht erneut anfährt, korrekt?
So sollte es nicht sein. Aber ich kann das bei Gelegenheit einmal nachprüfen und ggf. korrigieren.
ayngush hat geschrieben: Und wo ich schon dabei bin. Gibt es eine best practise für das Bedienen des CUxD.MultiDim? Virtuelle Tasten und diverse Programme oder gehen auch "Direktverknüpfungen"?
Direktverknüpfungen können nicht funktionieren. :shock: Wie soll das denn technisch gehen?
Programmverknüpfungen funktionieren aber.
ayngush hat geschrieben: Über HomeDroid kann ich zum Beispiel den CUxD.MultiDim nicht direkt bedienen, da der dort nur als in meinem Fall "7 Tasten" auftaucht anstatt "eine Taste mit 6 Dimmern".
Am besten fragst Du den HomeDroid-Entwickler, ob er das Gerät einbaut.

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

chka
Beiträge: 2483
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 302 Mal
Danksagung erhalten: 116 Mal

Re: ArtDMX Steuerung per CCU

Beitrag von chka » 01.03.2013, 20:24

So Nachtrag:

Ich starte den Sonnenauf oder Untergang mittels

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("/usr/local/addons/cuxd/extra/artdmxdim 192.168.X.90 0 1 30 1:255 2:255 3:0");
dom.GetObject("CUxD.CUX2801002:1.CMD_SETS").State("/usr/local/addons/cuxd/extra/artdmxdim 192.168.X.90 0 3 4000 1");
var v = dom.GetObject("CUxD.CUX2801002:1.CMD_RETS").State();
integer World = v.Find("ArtDMXdim"); 
if(World >= 0)
{
WriteLine("AUS");
dom.GetObject("CUxD.CUX0200101:1.STATE").State(false);
dom.GetObject("CUxD. CUX0200105:1.STATE").State(false);
}
Startzeitpunkt: 20:04
Ab jetzt ist keine Zeitgesteuete Funktion in der CCU Möglich!
Also wird auch keine Systemeintrag für den Watchdog gesetzt.
Die CPU der CCU ist gegen 19%
20:22 ReGa Error
20:23 Watchdog greift (Killtime 15)
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: ArtDMX Steuerung per CCU

Beitrag von uwe111 » 01.03.2013, 20:43

Hallo chka,

probiere es so. Eigentlich brauchst Du dafür überhaupt kein HM-Script mehr.
Denn nachdem Du das Script das 1. Mal aufgerufen hast, sind die Werte für CMD_SETS fest im CUxD gespeichert und Du musst dann nur noch die Taste drücken um CMD_RUNS erneut auszulösen.

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("/usr/local/addons/cuxd/extra/artdmxdim 192.168.X.90 0 1 30 1:255 2:255 3:0;/usr/local/addons/cuxd/extra/artdmxdim 192.168.X.90 0 3 4000 1");
dom.GetObject("CUxD.CUX2801001:1.CMD_RUNS").State(1);
Zusätzlich benötigst Du die folgende Programmverknüpfung für das Ausschalten der Aktoren:

wenn
CUxD.CUX2801001:1.CMD_RETS kleiner gleich 0 (auslösen bei Änderung)
dann
CUxD.CUX0200101:1.STATE = false
CUxD.CUX0200105:1.STATE = false

Viel Erfolg,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

ayngush
Beiträge: 345
Registriert: 02.02.2012, 12:05
Danksagung erhalten: 7 Mal

Re: ArtDMX Steuerung per CCU

Beitrag von ayngush » 02.03.2013, 11:41

Hallo,

wenn ich das Universum mit dem Parameter "w" erneut sende, nachdem ich vom HTPC sozusagen zur HomeMatic zurückkehre, funktioniert alles bestens.

Grüße

Arminhh
Beiträge: 284
Registriert: 09.05.2011, 09:18

Re: ArtDMX Steuerung per CCU

Beitrag von Arminhh » 02.03.2013, 11:57

Hallo Uwe,
so richtig funktioniert es bei mir doch noch nicht. Ich habe wie Du geschrieben hast das Script so verfasst.
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("/usr/local/addons/cuxd/extra/artdmxdim 192.168.167.50 0 6 0 1 2 3");
dom.GetObject("CUxD.CUX2801001:1.CMD_RUNS").State(1);
Dadurch soll ein Zufalls Farbwechsel gestartet werden.
Die LED gehen an, aber es wird kein Farbwechsel vorgenommen.
Beim Sonnenaufgang gehen die LEDs auch an, aber es wird nicht hoch gedimmt.
HAst Du dafür noch ein Tip?
Schönes Wochenende noch!
mfg
Armin

Antworten

Zurück zu „CUxD“