Wie schaltet ihr ein LED Stripe ein?

Hi,

stehe auf dem Schlauch.

Ich möchte mit Hilfe eines Tasters (Tastereingang auf 2 fach wired Schaltaktor Homematic) bei Betätigung einen DMX Kanal auf Wert 255 setzen und bei der nächsten Betätigung auf Null setzen. Quasi EIN/AUS.

Ich habe das bereits erfolgreich mit einem „normalen“ Ausgang an der Homematic umgesetzt mithilfe einer Ereignisvariable.
Hier habe ich ein Ausführungsskript implementiert, dass mithilfe von if und else abhängig vom Ausgangsstatus true/false den jeweiligen anderen Zustand schaltet.
Nun gibt es aber bei DMX kein Getvalue.

Hat einer eine Idee?
Evtl mit einer Zählschleife? Startvariable = 0, Erster Tastendruck = 0+1 , zweiter Tastendruck = 1+1 >> wenn 1 dann Wert 255, Wenn 2 dann Wert 0, nach 2. Tastendruck Startvariable wieder auf 0 setzen.

So was in der Art. Oder gibt es was einfacheres?

Als nächstes würde ich gern mi Hilfe eines Tasters bestimmte Farben durchschalten. Geht das?

Danke im Voraus

Grüße

m.

Hi,

kenne mich mit DMX leider nicht aus, aber versuche dir trotzdem zu helfen.

Nun gibt es aber bei DMX kein Getvalue.

Du sendest doch eine Code an DMX. Diesen in eine Integer-Variable schreiben. Darauf dein GetValue.

Eine Farbe durchschalten ist schon etwas schwieriger. Im WF kein Problem mit entsprechendem Variablenprofil. Für einen Taster könnte evtl. ein Array die Lösung sein.
lfd.nr – Farbwert

Gruß, Peter

Der Umweg ist ne gute Idee. Muss ich testen. Danke!

Kann jemand bezüglich Farben durchschalten helfen?

Geht ganz leicht:

Du nimmst eine Integer Variable welche du bei jedem Tastendruck um eins hochzählst.
also so etwa:
$myFarbe= GetValue(xxxx)
$myFarbe = $myFarbe+1
If $myfarbe = 4 Then $myFarbe = 0

SetValue(xxxxx,$myFarbe)

Danach setzt du den DMX abhängig vom Inhalt von $myFarbe

If $myfarbe = 0 Then DMXRGB= (0,0,0)
If $myfarbe = 1 Then DMXRGB= (255,0,0)
If $myfarbe = 2 Then DMXRGB= (0,255,0)
If $myfarbe = 3 Then DMXRGB= (0,0,255)

Das ist jetzt nur Pseudocode um das Prinzip zu verdeutlichen, du mußt natürlich noch ins sauberes PHP schreiben.

gruß
bb

Peters Lösung zum ein- und ausschalten funktioniert schon mal. Danke!

Farbwahl kann ich im Moment nicht testen aus Zeitgründen (in 2 Wochen ist Umzug ins neue Haus)

Klingt aber plausibel. Danke

Hi,

Farben schalten per Taster geht.

<?

$myfarbe = GetValue(56560 /*[EG\Küche\DMX\DMXFarbenkueche]*/);
$myfarbe = ($myfarbe+1);

if ($myfarbe==4)
{
$myfarbe = 0;
}

SetValue(56560 /*[EG\Küche\DMX\DMXFarbenkueche]*/,$myfarbe);

//DMX abhängig vom Inhalt von $myFarbe

If ($myfarbe == 0)
{
dmx_setvalue(43537 /*[Licht\DMX]*/, 1, 255);
dmx_setvalue(43537 /*[Licht\DMX]*/, 2, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 3, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 4, 0);
}
If ($myfarbe == 1)
{
dmx_setvalue(43537 /*[Licht\DMX]*/, 1, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 2, 255);
dmx_setvalue(43537 /*[Licht\DMX]*/, 3, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 4, 0);
}
If ($myfarbe == 2)
{
dmx_setvalue(43537 /*[Licht\DMX]*/, 1, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 2, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 3, 255);
dmx_setvalue(43537 /*[Licht\DMX]*/, 4, 0);
}
If ($myfarbe == 3)
{
dmx_setvalue(43537 /*[Licht\DMX]*/, 1, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 2, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 3, 0);
dmx_setvalue(43537 /*[Licht\DMX]*/, 4, 0);
}
?>

Danke.

Gruß

m.