ChromoFlex

… so, nachdem ich zum X-ten mal die DLL ins falsche Verzeichnis kopiert habe, funktioniert es endlich :rolleyes:
Fazit: ein weißes (wg. der additiven Farbmischung) Geflacker - die RGB-Stripes sind aus meiner Sicht als Lichtorgel nicht geeignet.
Als Deko- u. Stimmungsbeleuchtung: SUPER

MST

Hallo,

wie ist denn das Übertragungsprotokoll der RS232 8,1,N oder anderst.

In der Beschreibung ist dieses leider nicht ersichtlich.

Hat jemand das Set von ELV.

Edit: Protokoll hat sich erledigt.

Hat jemand das Set von ELV.

Dann will ich mir mal selbst Antwort geben :smiley:

Heute eingetroffen und soeben in Betrieb genommen.

Das LED-Band ist genial und superhell :slight_smile:

Hier mal paar Bilder

Led1.jpg

Led2.jpg

Led3.jpg

Led4.jpg

Hi RWN was für Led Strips hast du gekauft ?

Hallo,

diese hier. http://barthelme.de/produktseiten/pdf_download/11_13.pdf

gibt es bei EV und Reichlt als RGB Ausführung

Steiner´s Script angepasst. CRC Berechnung HJH.
Sollte jemand an weiteren Daten interessiert sein, stelle ich diese soweit es möglich ist gerne zur Verfügung.

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Chromoflex.ips.php
Trigger  : OnUpDate
Interval : Dateneingang
*/


$Xbee       = 15562;           // InstanceID Xbee/Comport

$Chromoflex = GetValueString("Dateneingang");

// Daten aus empfangenem String extrahieren, Zuweisung der einzelnen Bytes
$Graph       = String2Value($Chromoflex,3,1);
$DatenGraph  = String2Value($Chromoflex,4,1);

$Startbyte   = "\xCA";          // StartByte (Muss nicht verändert werden)
$Adresse     = "\x00\x00\x00";  // Adresse 0,0,0 = Broadcast
$GraphRot    = 1;               // BarGraph 1 Rot
$GraphGruen  = 2;               // BarGraph 2 Gruen
$GraphBlau   = 3;               // BarGraph 3 Blau
$Helligkeit  = 4;               // BarGraph 4 Dimmer

// Werte BarGraph setzen 0-100%
 if ($GraphRot == $Graph)
  {
  SetValueInteger("Rot", $DatenGraph);
  }
    if ($GraphGruen == $Graph)
    {
    SetValueInteger("Gruen", $DatenGraph);
    }
      if ($GraphBlau == $Graph)
      {
      SetValueInteger("Blau", $DatenGraph);
      }
        if($Helligkeit == $Graph)
        {
        SetValueInteger("Dimmer", $DatenGraph);
        }


// Werte holen und umrechnen auf max 255
$Rot = GetValueInteger("Rot");
if ($Rot == 1) {
SetValueInteger("Rot", 0); }
else {
$Rot = $Rot*2.55; }

$Gruen = GetValueInteger("Gruen");
if ($Gruen == 1) {
SetValueInteger("Gruen", 0); }
else {
$Gruen = $Gruen*2.55; }

$Blau = GetValueInteger("Blau");
if ($Blau == 1) {
SetValueInteger("Blau", 0); }
else {
$Blau = $Blau*2.55; }

$Dimmer = GetValueInteger("Dimmer");


switch ($Chromoflex)
{
// Nach Reset startet das Default Programm

case "Reset":   // Reset
Reseten();      // Funktion aufrufen
return;
break;

// Programmnummer aufrufen 0-7 und 9. Es erfolgt erst ein Reset,
// danach wird das Programm mit einer kleinen Verzögerung aufgerufen, diese muss sein, sonst startet das Programm nicht.
// Programm = 200+3*Programmnummer. Hier als Beispiel Nr.3, 200 + 3 * 3 = 209 entspricht 0xD1

case "PrgAus":
Reseten();     // Funktion aufrufen
IPS_Sleep(700);
$cmd = chr(0).chr(3).chr(0x7D).chr(0x15).chr(0).chr(0xD1); //Programm. 0xD1 startet Programm 3
$txt = $Adresse.$cmd;
$crc = CRC16r($Startbyte.$txt);
$txt = str_replace(chr(0xCB), chr(0xCB).chr(0x01), $txt);
$txt = str_replace(chr(0xCA), chr(0xCB).chr(0x00), $txt);
COMPort_SendText($Xbee, $Startbyte.$txt.$crc);
return;
break;
}

// Status setzen
$cmd = chr(0).chr(2).chr(0x7E).chr(0x12).chr(0x01);
$txt = $Adresse.$cmd;
$crc = CRC16r($Startbyte.$txt);
$txt = str_replace(chr(0xCB), chr(0xCB).chr(0x01), $txt);
$txt = str_replace(chr(0xCA), chr(0xCB).chr(0x00), $txt);
COMPort_SendText($Xbee, $Startbyte.$txt.$crc);

/*
// Track setzen
$cmd = chr(0).chr(3).chr(0x7E).chr(0x11).chr(0x01).chr(0x01);
$txt = $Adresse.$cmd;
$crc = CRC16r($Startbyte.$txt);
$txt = str_replace(chr(0xCB), chr(0xCB).chr(0x01), $txt);
$txt = str_replace(chr(0xCA), chr(0xCB).chr(0x00), $txt);
COMPort_SendText($Xbee, $Startbyte.$txt.$crc);

/*
//INKREMENTIERUNG FESTLEGEN -> 255 = sofort, 1 = 2,55ms für Änderungen von 0 auf 255
define('Rot',   255);
define('Gruen', 255);
define('Blau',  255);
$cmd = chr(0).chr(5).chr(0x7E).chr(8).chr(Rot).chr(Gruen).chr(Blau).chr(0x64);
$txt = $Adresse.$cmd;
$crc = CRC16r($Startbyte.$txt);
$txt = str_replace(chr(0xCB), chr(0xCB).chr(0x01), $txt);
$txt = str_replace(chr(0xCA), chr(0xCB).chr(0x00), $txt);
COMPort_SendText($Xbee, $Startbyte.$txt.$crc);
*/

//Farben setzen ==> Set
$cmd = chr(0).chr(5).chr(0x7E).chr(4).chr($Rot).chr($Gruen).chr($Blau).chr($Dimmer);
$txt = $Adresse.$cmd;
$crc = CRC16r($Startbyte.$txt);
$txt = str_replace(chr(0xCB), chr(0xCB).chr(0x01), $txt);
$txt = str_replace(chr(0xCA), chr(0xCB).chr(0x00), $txt);
COMPort_SendText($Xbee, $Startbyte.$txt.$crc);

//Level setzen
$cmd = chr(0).chr(5).chr(0x7E).chr(0).chr($Rot).chr($Gruen).chr($Blau).chr($Dimmer);
$txt = $Adresse.$cmd;
$crc = CRC16r($Startbyte.$txt);
$txt = str_replace(chr(0xCB), chr(0xCB).chr(0x01), $txt);
$txt = str_replace(chr(0xCA), chr(0xCB).chr(0x00), $txt);
COMPort_SendText($Xbee, $Startbyte.$txt.$crc);


// Funktion zur Checksummenberechnung
function CRC16r($s)       // CRC16 reverse
{
 $CRCreg = 0xffff << 1;   // Startwert
 $PLYreg = 0xA001 << 1;   // Polynom
 $len = strlen($s);

 for ($cp=0; $cp<$len; $cp++)
 {
  $CRCreg ^= ord($s[$cp]) << 1;
  for ($bp=0; $bp<8; $bp++)
  {
   $CRCreg >>= 1;
   if ($CRCreg & 0x01) $CRCreg ^= $PLYreg;
  }
 }
 $crc = $CRCreg >> 1;
 $crcLo = $crc & 0xff;
 $crcHi = $crc >> 8;
 return chr($crcHi). chr($crcLo);
}

// Funktion zur Umwandlung eines Teil eines String in eine Zahl, Zählung beginnt bei Null
function String2Value($str, $p, $c) // String, Position, Anzahl Characters
{
 $val = 0;
 for ($i=0; $i<$c; $i++)
 {
  $val <<= 8;
  $val += ord($str[$p+$i]);
 }
 return $val; // Rückgabe: Zahl
}

// Funktion Reseten
function Reseten()
{
 SetValueInteger("Rot", 0);
 SetValueInteger("Gruen", 0);
 SetValueInteger("Blau", 0);
 $cmd = chr(0).chr(0).chr(0xFE);
 $txt = "\x00\x00\x00".$cmd;
 $crc = CRC16r("\xCA".$txt);
 $txt = str_replace(chr(0xCB), chr(0xCB).chr(0x01), $txt);
 $txt = str_replace(chr(0xCA), chr(0xCB).chr(0x00), $txt);
 COMPort_SendText(15562, "\xCA".$txt.$crc);
}

?>

Mal ne Frage, hat schon jemand die RC Versionen eingebunden (mit dem USB Dongel?)
Oder zumindest versucht einzubinden, und hat zu dem USB Dongel technische Dokumentation

gruß snoopy

im forum für den Chromoflex RC gibt es auch so eine schöne Visualisierung für die Symconoberfläche.

ist hier sowas auch möglich?

Sorry ich bin noch ziemlicher Anfänger in der Materie :slight_smile:

schöne Visualisierung für die Symconoberfläche.

diese Visualisierung ist für das Webfront. Dieses kannst Du über Variablenprofile selbst erstellen.

Hallo
Ich habe auch das Chromoflex vom Reich*lt. Mit der mitgelieferten Software funktioniert die ganze Ansteuerung über Visual Basic. Das Programm was eben mit dabei ist. schaut aber nicht gerade schön aus.

Ich möchte das jetzt auch über IPS ansteuern. Häng direkt auf COM1 am PC. Kriegt man das schon zum Laufen mit der Weboberfläche oder muss ich mir doch das RCIII kaufen? ich bin im moment ein bisschen ratlos.

Vielen Dank schonmal

Könnte funktionieren: http://www.ip-symcon.de/forum/f30/chromoflex-3458/

paresy

Yeeep, tuts auch. Sehr gut sogar.
Hab mir vor ein paar Tagen die von paresy verlinkten Scripte etwas netter umgebastelt.

greez
bb

@BB

die da nun wie aussehen und welches Ergebnis mit sich bringen ?

Denke das könnte für einige hier interessant sein.

Gruss
B71

Hi

kann ich heute Abend gerne einstellen, bin nur zzt. im Büro.
Ist im wesentlichen aus mehreren anderen Posts interessantes zusammengeklaut und dann in ein eigenes verpackt. :smiley:

Bei großem (?) Interesse kann ich ja auch mal probieren es 1-klick installierbar zu machen.
Jetzt muß man die Variablen und Profile noch händisch einpflegen.

gruß
bb

das Interesse hiermit mal vergrößert :slight_smile:

Was meint Ihr, ob da was in die Richtung von Ambilight möglich ist.
Am TV von Philips siehts grosse Klasse aus.
Nur wie bekommt man die Signale aus dem Tv :confused: und in IPS.

Gruss
Frank

Ich behaupte dass das kein Job für IPS ist. Wenn es sowas Autarg gäbe (gibts ja) dann schon.

Toni

Hatten wir das nicht schonmal :smiley:

Zum Ambilight gibts ein paar Selbstbauprojekte.

Mit IPS geht da aber definitiv nichts. Du müßtets ja die Bildinformation in Echtzeit analysieren. Das ist eine ganz andere Baustelle.
Auch eine klassische „Lichtorgel“, naja so nannten wir die musikgesteuerten Rot/Gelb/Blau Lampen damals in den 80ern ist nicht wirklich machbar.

gruß
bb

Jo stimmt wohl.

Gruss
Frank