Chromoflex RC Steuerung mit RGB Fader und Color Picker

Hi Nick,

danke für Deinen schnellen Support.
Es war wie Du beschrieben hast:
Ich hatte das Hersteller Farben Script incl. Variable nicht gelöscht,
da ich dachte, dies sei eine eigene Geschichte unabhängig von dem einem Script.
Passende Zeile in „variablenidsrgbsteuerungchromoflexIIIRC“ hinzugefügt und es läuft. :smiley:
War wohl gestern zu Müde um dies selber zu erkennen.:rolleyes:

Gruß

Darklord

Mal eine kleine Frage etwas ausserhalb des Themas:
Kann ich die Farbsteuerung wie im Bild Post 39 auch für Steiners RGB868 verwenden ?
Ich habe jetzt gesucht und gesucht- ohne Erfolg

@ audi2010

Ja kann mann. Der Programmcode beschäftigt sich zu 90% mit Fariablensyncronisation. Z.B collor Picker betätigen RGB hat dan den gleichen Wert.

  • Es sind die SteuerBefehle die ausgetauscht werden müssen.
  • Das Profil „Programm“ anpassen da der RGB868 andere Interne Programme hat.
  • Die Farb Buttens sind nix anderes als vordefinierte Farbwerte in ein Profil gehämmert sollte also laufen.

Ich selber habe aber alles ChromoflexRCIII Controller.

Ich schreibe aber nur ungerne für Zeug was ich nicht Testen kann. Da kommt meistens nur verbugter Müll bei rum.

Wen mir jemand den RGB868 leiweise zu Verfügung stellt Portiere ich meine RGB Steuerung v1.2 dazu.
Ich habe noch nen haufen rest Stribes womit ich das testen könnte

Gruß Nick

Hast pm :smiley:

Gruß
Bruno

Wie Ihr bereits bestimmt mitbekommen habt ist die IPS 2.5 Beta raus.

In diesem Atemzug hat paresy ein Script für das ChromoflexIII RC geschrieben.
link
Dank hierfür von meiner Seite.

Somit ist das Steuern bald „nativ“ also ohne Modul möglich. Die RGB-Steuerung wird ab der Version 1.4 für IPS 2.5 verfügbar sein.

Ich werde versuchen die Version 1.3 für 2.4 heute Abend fertig zu bekommen.
Das Script ist schon fertig aber der Installer muss noch angepasst werden.

Gruß Nick

Version 1.3 ist fertig.

Hauptpost angepasst.

Also über die Feiertage werde ich die Steuerung auf den RGBW868 portieren.
Sollte auch in IPS 2.5 laufen da es ein Nativ Modul ist.

Ein Dank sollte an Powerfreddy gehen der mir die Hardware bereit stellt. :smiley:

Gruß Nick

Hallo Nick,
habe eben mal Deine 1.3 installiert. Hast da ne tolle Arbeit geleistet. Mit der Darstellung des Color Picker habe ich jedoch ein Problem. Denke es kommt von der Bildschirmauflösung. Habe in meinem Webfront nur ca. 650 px für den Color Picker. Wo kann man denn die Position für den Color Picker einstellen?

Grüße und nochmal Danke für deine Arbeit,

Jürgen

Hallo Jürgen danke für das Lob :wink:

Dein Problem war mein Fehler. Der Picker braucht nur 410px.
habe die Colorpicker.zip angepasst. Bitte aus dem 1 Post neu runterladen und
die Dateien ersetzen. Sollte dann ohne Probleme laufen wen nicht noch mal melden. Hatte eine nicht genutzte Zelle für Systemnachrichten drinn. Kommt aber erst später.

Gruß nick

Hallo Nick,
habe die beiden Dateien colorpicker.php und colorpicker1.php ausgetauscht. Hat aber nichts gebracht.
Konnte ein merkwürdiges Verhalten feststellen:
Wenn ich im Firefox 8.0 mein Webfront mit F5 aktualisiere kommt Bild 1. Bei Klick in den Bereich, wo ich in Bild 1 das rote Kreuz gemacht habe, verschwindet der Colorpicker (Bild 2).
Wenn ich jetzt auf den grünen OK-Button klicke, kommt Bild 3 und der Colorpicker ist plötzlich an der richtigen Stelle zu sehen. Bei Klick in den Bereich, wo ich in Bild 3 das rote Kreuz gemacht habe, verschwindet der Colorpicker wieder, usw. usw.

Grüße, Jürgen

ok Jürgen.

Ich weiss leider nicht wie sich dein Webfront aufteilt.
Das iframe steht auf 100% also von dem was ihm zu verfügung steht.

In der Der Colorpicker.php und colorpicker1.php kann man die Breite der Tabelle einstellen.
Du musst mal da mit rumspielen welche für dich passen.


<html>
<head>
<script type="text/javascript" src="jscolor.js"></script>
<title>colorpicker</title>
</head>
<body onLoad="document.getElementById('myColor').color.showPicker()">

<form action="colorpicker1.php" method="post">

<table width="416" border="0" align="right">
  <tr>
    <td width="350" align="left" valign="top">
        <p>
          <input class="color {pickerOnfocus:true,pickerPosition:'right',pickerFaceColor:'transparent',pickerFace:3,pickerBorder:0,pickerInsetColor:'black'}" id="myColor" value=" 				<?php echo $rgbhex; ?>" name="rgbwert"readonly>
      </p>
    <p>
      <input type="image" src="ok.png" alt="Absenden">
    </p></td>
  </tr>
</table>
</body>
</html>

im body on loead wird festgelegt das der Picker Sichtbahr sein soll.


<body onLoad="document.getElementById('myColor').color.showPicker()">


der picker wird über eine Classe im Input Feld akteviert. Dort kann mann alle Einstellungen machen.


<input class="color {pickerOnfocus:true,pickerPosition:'right',pickerFaceColor:'transparent',pickerFace:3,pickerBorder:0,pickerInsetColor:'black'}" id="myColor" value=" 				<?php echo $rgbhex; ?>" name="rgbwert"readonly>

Demos of JSColor – JavaScript / HTML Color Picker, Selector, Chooser

Dort steht sehr gut beschrieben wie der Picker anzusteuern ist.

Können aber auch gerne eine temvierer session machen. PN an mich.

Gruß nick

Hallo Nick,
warum hast du eigentlich eine colorpicker.php und eine colorpicker1.php in deinem Ordner. Steige noch nicht ganz dahinter.

Würde auch gerne einen eigenen Programmablauf (Farbe rot für 2 Minuten, Fade auf Blau, Blau für 2 Minuten, Fade auf Grün, Grün für 2 Minuten usw) erstellen und den dann z.B. als User1 abspeichern um ihn per Fernbedienung ab zu rufen. Ist das möglich?

Grüße, Jürgen

Der Colorpicker ist ein Formular. Die werte werden an die Colorpicker1.php per GET übergeben.

Zu deiner Frage mit den User1 -3. Das sind Chromoflex interne Funktionen.
Um so etwas umzusetzen brauch man den Quellcode des Herstellerprograms und
sehr gute Kenntnisse in PHP sowie JScript.

Mit beidem kann ich momentan nicht dienen. Muss mich erst mal mit dem Dojo befassen.

Gruß Nick

Olla zusammen,

Habe jetzt fast die RGBW 868 und Chromosteuerung für IPS 2.5 fertig.
Bekomme aber den Colorpicker im Webfront mittels IFrame nicht mehr geladen.

Hat jemand Rat?

Gruß Nick

So die Steuerung ist jetzt in der Version 1.4 für IPS 2.5 draußen.

Gruß nick

Hallo Nick,
bei der Installation über das „install rgb“ Script wird bei mir in den Scripts colorpicker.php und colorpicker1.php dem Script „variablenidsrgbsteuerungchromoflexIIIRC“ die ID 12540 zugewiesen. In Wirklichkeit wurde dem Script „variablenidsrgbsteuerungchromoflexIIIRC“ aber die ID 35664 zugeteilt. Das gibt natürlich im Colorpicker Fehlermeldungen.

Grüße und vielen Dank für die tolle Arbeit,
Jürgen

colorpicker1.JPG

Prinzipiel würde mich der Color-Picker auch mal interessieren, hatte diesen zu Testzwecken einmal im System, flog aber zwecks nicht Bedienbarkeit wieder raus.

Besteht vielleicht die Möglickeit des Ding in einen größeren Rahmen zu basteln, so ist es mir zu klein.

Hallo Jürgen,
In den aktuellen Versionen muss die ID in den colorpicker Scripten manuell gesetzt werden.

Hast du bestimmt in der installations Anleitung oder Upgrate überlesen :smiley:

@wgreipl

Besteht vielleicht die Möglickeit des Ding in einen größeren Rahmen zu basteln, so ist es mir zu klein.

in der Version 1.5 kann man X belibige Bilder nehmen. In allen Größen und Farben. Funktioniert dan wie ein Desktop Colorpicker.

Gruß Nick

Dann warten wir der Dinge, denn gut Ding will Weile haben

Hallo Nick,
habe ich tatsächlich überlesen.
Da ich verschiedene Module in verschiedenen Netzen betreibe, habe ich mir das ganze mal ein bisschen nachgerüstet:
Im Script HauptscriptRGBSteuerung die Zeilen 72, 116, 127, 135, 154 und im Script colorpicker1 die Zeile 41 um folgendes ergänzt:

IPS_RunScriptEx(chromo_id, Array("Net" => 7, "DeviceID" => "108935","Action".........

Es wurde also jeweils noch „Net“ und „DeviceID“ hinzugefügt.
Wäre natürlich toll, wenn man das mit integrieren könnte; wegen Upgrade.

Grüße, Jürgen

Hallo, ich habe mir mal erlaub die essentials da rauszufiltern und habe einen normalen Hex-Color Regler an den Color Picker mit Ajax gekoppelt. Heißt man klickt auf dem Color Picker wohin und die Farbe am Hex Color ändert sich direkt mit.

Aufruf durch eine HTML String Variable wie bei dir. Einziger Unterschied, man muss die ID des Reglers mit zurückgeben:

<iframe src=„user/colorpicker/colorpicker.php?id=18300“ border=„0“ frameborder=„0“ style=„top: 0pt; bottom: 0pt; left: 0pt; right: 0pt; width: 100%; height: 130px;“/></iframe>

(Die Größe könnte man noch anpassen, da ich den Submit Button, sowie das Feld was den Hexocode enthält entfernt habe)

Dann wie gehabt die ganzen Datein in C:\ips\webfront\user\colorpicker.

Hier die neue colorpicker.php:

<?php
// v1.4 11.01.2012 Autor: NickBlue
// Colopicker Standalone Mod by Anti


// Wert aus dem GET arrey auslesen
$id = $_GET["id"];
?>

<!-- Ab hier steht der Formularcode und der jScript Aufruf nichts ändern-->
<html>
<head>
<script type="text/javascript" src="jscolor.js"></script>
<script type="text/javascript"><!--
function send (color) {
	
	httpRequest = new XMLHttpRequest();
	//httpRequest.onreadystatechange = getResponse;
	httpRequest.open("POST", "colorpicker-receive.php", true);
	httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	httpRequest.send("col="+color+"&id=<?php echo $id; ?>");
}
--></script>
<title>colorfader</title>
</head>
<body onLoad="document.getElementById('myColor').color.showPicker()">

<table width="410" border="0" align="right">
  <tr>
    <td width="410" align="left" valign="top"><p>
        <input type = "hidden"  onchange="send(this.color)" class="color {pickerOnfocus:true,pickerPosition:'right',pickerFaceColor:'transparent',pickerFace:3,pickerBorder:0,pickerInsetColor:'black'}" id="myColor" value="<?php echo $rgbhex; ?>" name="rgbwert" readonly>
      </p>
      <p>
      </p></td>
  </tr>
</table>
</body>
</html>

Und hier eine neue Namens colorpicker-receive.php

<?php

// Wert aus dem POST arrey auslesen
//@$rgbhex = $_GET["rgbwert"];
$rgbhex = $_POST["col"];
$id = $_POST["id"];
// funktionsauruf mit HEX wert des Color Pickers
//print_r ($rgbhex);
if (! empty($rgbhex)) {
	
	$farb_rgb = hex2rgb($rgbhex);

// Setzen der Variablen aus dem Funktionsarray
		$rot            = $farb_rgb[0];
		$gruen        =  $farb_rgb[1];
		$blau            = $farb_rgb[2];
		$sum = $rot * 65536 + $gruen *256 + $blau;
		SetValue(intval($id), $sum);// 18300
//echo "$rot, $gruen, $blau - $sum<br>";
}

// Funktion wandelt den RGB wert aus der RGB Fader Variable von Hex nach Dec und zerlegt sie in  R G B Werte
function hex2rgb ( $hex )
	{
    $hex = preg_replace("/[^a-fA-F0-9]/", "", $hex);
    $rgb = array();
        	$rgb[0] = hexdec ( $hex[0] . $hex[1] );
        	$rgb[1] = hexdec ( $hex[2] . $hex[3] );
        	$rgb[2] = hexdec ( $hex[4] . $hex[5] );
				return $rgb;
	}
?>

Ich brauch das nicht für Cromoflex deswegen von etwas „Ballast“ befreit, aber das kann man natürlich auch wieder einsetzen wenn man möchte :wink: Ich denke mal so ist die Nutzung noch schöner :wink: Und ein Installscript habe ich jetzt nicht gebastelt, aber das wäre fürs aufsetzen einer String Var und eines Hex Color vielleicht auch etwas übertrieben :).

Gruß,
Anti aka Jan