Multiple Choice

Ich habe zurzeit 48 DMX Kanäle für meine Wohnzimmerbeleuchtung, also 16 x RGB. Hauptsächlich schalte ich das ganze über selbst definierte Lichtscenen.

Nun möchte ich aber auch jeden der 16 RGB Ausgänge über das Hexcolor-Profil schalten, aber eben keine 16 Stück in meinem Webfront haben.

Ich hab mir das so vorgestellt, das ich je nach belieben die Kanäle auswähl, die ich schalten will und dann über EINEN RGB Fader das ganze an eben die Kanäle sende.

Aber gerade bei der Auswahl komm ich nicht weiter. Ich könnte natürlich 16 Boolean Variablen nehmen aber das würde aber genau so schlimm aussehen wie 16 Fader.

Bei ner Integer Variable hätt ich alle 16 Kanäle nebeneinander aber bekomme es eben nicht hin mehrere Auszuwählen.

Habt ihr ne Idee? Ich steh aufm Schlauch :frowning:

versuchs mal so

RGB slider

Hilft leider nicht bei meinem Problem.

Im Prinzip das gleiche Problem wie hier, aber da ist nix weiter passiert. Du kannst natürlich die von mir skizzierte Lösung selber umsetzen: http://www.ip-symcon.de/forum/f56/schalter-nebeneinander-uebereinander-16258/

Dann würd ich ja gern deins nutzen… Leider versteh ich nicht wirklich wie du das meinst. Kannst du mir vielleicht auf die Sprünge helfen? Danke =D

… eventuell hilft Dir das weiter … http://www.ip-symcon.de/forum/f56/wochentagauswahl-16254/

Gruß

Swifty

Jaaa! Vielen Dank das geht schon in die richtige Richtung. Die Binärwerte schreiben klappt schon mal, jetzt „nur“ noch das ganze auswerten…

Die unzähligen Glühweine und Biere zur Weihnachtszeit haben mal wieder ihren Soll erfüllt und den Kopf frei gemacht und ich konnt dank euren Tipps die Steuerung jetzt endlich umsetzen =D Vielen Dank!

Ich poste das jetzt hier einfach mal, falls irgendwer vor ähnlichen Problemen steht.

Integer Variable anlegen -> 16 Assoziationen -> Script DMX Binwrite
Integer Variable anlegen -> ~hexcolor -> Script DMX Umsetzung
und noch eine Integer Variable für den Dezimalwert aus der DMX Binwrite

DMX Binwrite

<?
function SetAssociation($tagnr,$tagname,$fbin,$bit){
	$fbit = $fbin & $bit;
		if ($fbit != 0){
			IPS_SetVariableProfileAssociation("Channels", $tagnr, $tagname, "", -1);
         $bin = $fbin & (65535 - $bit);
		}
      else{
      	IPS_SetVariableProfileAssociation("Channels", $tagnr, $tagname, "", 0x33CC00);
         $bin = $fbin ^ $bit;
		}
	return ($bin);
}


if($IPS_SENDER == "WebFront"){
	$bin = GetValue(32779 /*[Channel 2]*/);

	switch($IPS_VALUE){
		case 1:
      $bin = SetAssociation(1, "CH1", $bin, 1);
      break;

      case 2:
      $bin = SetAssociation(2, "CH2", $bin, 2);
      break;

      case 3:
      $bin = SetAssociation(3, "CH3", $bin, 4);
      break;
        
      case 4:
      $bin = SetAssociation(4, "CH4", $bin, 8);
      break;

      case 5:
      $bin = SetAssociation(5, "CH5", $bin, 16);
      break;

      case 6:
      $bin = SetAssociation(6, "CH6", $bin, 32);
      break;

      case 7:
      $bin = SetAssociation(7, "CH7", $bin, 64);
      break;
        
      case 8:
      $bin = SetAssociation(8, "CH8", $bin, 128);
      break;
        
      case 9:
      $bin = SetAssociation(9, "CH9", $bin, 256);
      break;
        
      case 10:
      $bin = SetAssociation(10, "CH10", $bin, 512);
      break;
        
      case 11:
      $bin = SetAssociation(11, "CH11", $bin, 1024);
      break;
        
      case 12:
      $bin = SetAssociation(12, "CH12", $bin, 2048);
      break;
        
      case 13:
      $bin = SetAssociation(13, "CH13", $bin, 4096);
      break;
        
      case 14:
      $bin = SetAssociation(14, "CH14", $bin, 8192);
      break;
        
      case 15:
      $bin = SetAssociation(15, "CH15", $bin, "16384");
      break;
        
      case 16:
      $bin = SetAssociation(16, "CH16", $bin, "32768");
      break;
        

	}
}
SetValue(32779 /*[Channel 2]*/, $bin);
?>

DMX Umsetzung

<?
SetValue($IPS_VARIABLE, $IPS_VALUE);

$Color = GetValueInteger(43551 /*[RGB Master-Control]*/);
    $rot   = floor($Color/65536);
    $blau  = floor(($Color-($rot*65536))/256);
    $gruen = $Color-($blau*256)-($rot*65536);

$dez = GetValueInteger(32779 /*[Channel 2]*/);
	 $tobin = decbin($dez);
	 $bin = sprintf("%016s
",$tobin);
    $binrev = strrev($bin);

for ($i = 1; $i <= 16; $i++) {

$a = $i*3-2;
$b = $i*3-1;
$c = $i*3;

	if ($binrev[$i] == 1) {
		DMX_fade(47912 /*[DMX Output Devices]*/, $a, $rot, 0.5);
		DMX_fade(47912 /*[DMX Output Devices]*/, $b, $blau, 0.5);
		DMX_fade(47912 /*[DMX Output Devices]*/, $c, $gruen, 0.5);
	}
}
?>

=D Vielen Dank nochmal

Hallo …

Ich möchte gerne so etwas ähnliches machen mit IPS-RGBW-868.

Das soll dann nach Räume aufgeteilt werden . (Küche, Flur usw.).

Ich habe da auch noch ein Farbwechsel Skript das dann auch noch
mitlaufen soll .

Ich habe dann mal versucht Dein Skript umzubauen aber leider fehlt mir
die Erfahrung mit PHP .
Kannst Du mit da ein wenig auf die Sprünge helfen ??

Wie das ganze genau mit dem RGBW-868 aussieht kann ich dir leider gar nicht genau sagen weil ich damit noch nicht gearbeitet hab.

Aber vielleicht sagst du uns erstmal wo genau dein Problem liegt, dann kann man dir vielleicht ein wenig weiter helfen. Notfalls schaltet sich sicher jemand ein der ein RGBW-868 im Einsatz hat.

Hallo …

Ich glaube ich habe es soweit hin … Jedenfalls im Kopf.
Testen kann ich es erst am Freitag.

Habe da aber noch mal ein paar Fragen …

  1. Bei mir in der Raumauswahl bei Dir (Integer Variable anlegen -> 16 Assoziationen -> Script DMX Binwrite) ist der eine Raum immer heller hervorgehoben als die Anderen. Habe ich da irgendwas beim Anlegen der Integer Variable falsch gemacht. ?

Wie ich gelesen habe hast Du viel mit DMX am laufen.? Bin am überlegen sowas auch für mein Obergeschoss zu verbauen. Brauche ich da spezielle LED Strips (Hatte mal gelesen 5V) oder kann ich auch Handelsübliche 12V LED Strips und LED Spot`s (12V) nutzen. ??

Ist DMX für Anfänger (Einsteiger) geeignet ?? Ich möchte so wenig wie möglich mit Funk machen.

Holli …

Bei mir in der Raumauswahl bei Dir (Integer Variable anlegen -> 16 Assoziationen -> Script DMX Binwrite) ist der eine Raum immer heller hervorgehoben als die Anderen

Hast du mal bei deinen Assoziationen geguckt ob du dem vielleicht aus Versehen ne andere Farbe zugeordnet hast?

Anders hervorgehoben sollten nur die Ausgewählten Assoziationen sein. In meinem Fall grün.

Für die anderen Fragen schreib ich dir ne pm, das passt hier nich wirklich zum Thema.

Nein alles so gelassen wie es ist …

Ich werde heute Abend noch mal die Integer Variable überprüfen. Vieleicht ist da was falsch …

Hallo …

habe statt einer Integer Variable eine Float genommen …
Jetzt gehts …

Holli