a:1:{i:0;a:7:{s:5:"TITLE";s:8:"MiLight2";s:5:"NOLOG";s:1:"0";s:11:"DESCRIPTION";s:0:"";s:8:"TEMPLATE";N;s:7:"METHODS";a:13:{i:0;a:7:{s:5:"TITLE";s:7:"PowerOn";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:317:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SWITCH_ON)]);
$this->setProperty('Status',1);";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:03:03";s:15:"EXECUTED_PARAMS";s:33:"{"ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:1;a:7:{s:5:"TITLE";s:8:"PowerOff";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:318:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SWITCH_OFF)]);
$this->setProperty('Status',0);";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:03:02";s:15:"EXECUTED_PARAMS";s:33:"{"ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:2;a:7:{s:5:"TITLE";s:13:"SetBrightness";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:355:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
$brightness = (int)$this->getProperty('Brightness');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_BRIGHTNESS,$brightness)]);";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:39:03";s:15:"EXECUTED_PARAMS";s:63:"{"VALUE":"70","OLD_VALUE":"57","ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:3;a:7:{s:5:"TITLE";s:8:"SetColor";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:372:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
$color = (int)$this->getProperty('Color');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_COLOR,$color)]);
$this->setProperty('Mode','Color');";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:34:53";s:15:"EXECUTED_PARAMS";s:33:"{"ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:4;a:7:{s:5:"TITLE";s:8:"SetWhite";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:329:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SWITCH_ON_WHITE,0)]);
$this->setProperty('Mode','White');";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:36:46";s:15:"EXECUTED_PARAMS";s:63:"{"VALUE":"0","OLD_VALUE":"100","ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:5;a:7:{s:5:"TITLE";s:8:"SetNight";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:329:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SWITCH_ON_NIGHT,0)]);
$this->setProperty('Mode','Night');";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 20:45:31";s:15:"EXECUTED_PARAMS";s:74:"{"object":"Zone1","op":"m","m":"SetNight","ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:6;a:7:{s:5:"TITLE";s:11:"SetColorHex";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:1636:"function validate_hex($hex) {
    if(preg_match("/^#([0-9a-fA-F]{6})$/", $hex) || preg_match("/^#([0-9a-fA-F]{3})$/", $hex)) {
        $hex = substr($hex, 1);
    }
    if(preg_match("/^([0-9a-fA-F]{6})$/", $hex)) {
        return $hex;
    }
    if(preg_match("/^([0-9a-f]{3})$/", $hex)) {
        return substr($hex, 0, 1) . substr($hex, 0, 1) . substr($hex, 1, 1) . substr($hex, 1, 1) . substr($hex, 2, 1) . substr($hex, 2, 1);
    }
    return "000000";
}
function hex2hsl($hex) {
    $hex = validate_hex($hex);
    $hex = str_split($hex, 2);
    $r = (hexdec($hex[0])) / 255;
    $g = (hexdec($hex[1])) / 255;
    $b = (hexdec($hex[2])) / 255;
    return rgbToHsl($r,$g,$b);
}
function rgbToHsl( $r, $g, $b ) {
	$oldR = $r;
	$oldG = $g;
	$oldB = $b;
	$r /= 255;
	$g /= 255;
	$b /= 255;
    $max = max( $r, $g, $b );
	$min = min( $r, $g, $b );
	$h;
	$s;
	$l = ( $max + $min ) / 2;
	$d = $max - $min;
    	if( $d == 0 ){
        	$h = $s = 0; // achromatic
    	} else {
        	$s = $d / ( 1 - abs( 2 * $l - 1 ) );
		switch( $max ){
	            case $r:
	            	$h = 60 * fmod( ( ( $g - $b ) / $d ), 6 ); 
                        if ($b > $g) {
	                    $h += 360;
	                }
	                break;
	            case $g: 
	            	$h = 60 * ( ( $b - $r ) / $d + 2 ); 
	            	break;
	            case $b: 
	            	$h = 60 * ( ( $r - $g ) / $d + 4 ); 
	            	break;
	        }			        	        
	}
	return round( $h, 2 );
}
$this->setProperty('Color',hex2hsl($this->getProperty('ColorHEX')));
$this->CallMethod('SetColor');";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:34:53";s:15:"EXECUTED_PARAMS";s:73:"{"VALUE":"#4352a3","OLD_VALUE":"#ffe300","ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:7;a:7:{s:5:"TITLE";s:8:"SetDisco";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:387:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
$disco = (int)$this->getProperty('DiscoProgram');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_DISCO_PROGRAM,$disco)]);
$this->setProperty('Mode','Disco');";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 20:55:35";s:15:"EXECUTED_PARAMS";s:76:"{"object":"Bridge","op":"m","m":"SetDisco","ORIGINAL_OBJECT_TITLE":"Bridge"}";}i:8;a:7:{s:5:"TITLE";s:13:"SetSaturation";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:355:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
$saturation = (int)$this->getProperty('Saturation');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_SATURATION,$saturation)]);";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:37:29";s:15:"EXECUTED_PARAMS";s:64:"{"VALUE":"100","OLD_VALUE":"57","ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:9;a:7:{s:5:"TITLE";s:11:"PowerToggle";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:128:"$status = (int)$this->getProperty('Status');
if ($status==0) $this->CallMethod('PowerOn');
else $this->CallMethod('PowerOff');";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:03:03";s:15:"EXECUTED_PARAMS";s:77:"{"object":"Zone1","op":"m","m":"PowerToggle","ORIGINAL_OBJECT_TITLE":"Zone1"}";}i:10;a:7:{s:5:"TITLE";s:14:"SetDiscoSlower";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:292:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_DEC_DISCO_SPEED,0)]);";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 20:54:13";s:15:"EXECUTED_PARAMS";s:82:"{"object":"Bridge","op":"m","m":"SetDiscoSlower","ORIGINAL_OBJECT_TITLE":"Bridge"}";}i:11;a:7:{s:5:"TITLE";s:14:"SetDiscoFaster";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:292:"$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_INC_DISCO_SPEED,0)]);";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 20:54:05";s:15:"EXECUTED_PARAMS";s:82:"{"object":"Bridge","op":"m","m":"SetDiscoFaster","ORIGINAL_OBJECT_TITLE":"Bridge"}";}i:12;a:7:{s:5:"TITLE";s:12:"SetWhiteTemp";s:11:"DESCRIPTION";s:0:"";s:4:"CODE";s:392:"$type = (int)$this->getProperty('Type');
$temp = (int)$this->getProperty('WhiteTemp');
$brightness = (int)$this->getProperty('Brightness');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_TEMPERATURE,$temp)]);
$this->setProperty('Mode','White');";s:11:"CALL_PARENT";s:1:"0";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 21:37:24";s:15:"EXECUTED_PARAMS";s:63:"{"VALUE":"64","OLD_VALUE":"39","ORIGINAL_OBJECT_TITLE":"Zone1"}";}}s:10:"PROPERTIES";a:11:{i:0;a:7:{s:5:"TITLE";s:4:"Zone";s:11:"DESCRIPTION";s:23:"0 (All);
1;
2;
3;
4";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:0:"";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}i:1;a:7:{s:5:"TITLE";s:4:"Type";s:11:"DESCRIPTION";s:34:"0 - RGBW;
1 - BRIDGE;
2 - RGBWW;";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:0:"";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}i:2;a:7:{s:5:"TITLE";s:4:"Host";s:11:"DESCRIPTION";s:21:"Controller IP-Address";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:0:"";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}i:3;a:7:{s:5:"TITLE";s:5:"Color";s:11:"DESCRIPTION";s:24:"HSL color format (0-359)";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:8:"SetColor";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}i:4;a:7:{s:5:"TITLE";s:6:"Status";s:11:"DESCRIPTION";s:6:"On/Off";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:0:"";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"1";s:9:"DATA_TYPE";s:1:"0";}i:5;a:7:{s:5:"TITLE";s:10:"Brightness";s:11:"DESCRIPTION";s:5:"0-100";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:13:"SetBrightness";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}i:6;a:7:{s:5:"TITLE";s:10:"Saturation";s:11:"DESCRIPTION";s:5:"0-100";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:13:"SetSaturation";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}i:7;a:7:{s:5:"TITLE";s:4:"Mode";s:11:"DESCRIPTION";s:12:"Current mode";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:0:"";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"1";s:9:"DATA_TYPE";s:1:"0";}i:8;a:7:{s:5:"TITLE";s:12:"DiscoProgram";s:11:"DESCRIPTION";s:3:"1-9";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:8:"SetDisco";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}i:9;a:7:{s:5:"TITLE";s:9:"WhiteTemp";s:11:"DESCRIPTION";s:5:"0-100";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:12:"SetWhiteTemp";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}i:10;a:7:{s:5:"TITLE";s:8:"ColorHEX";s:11:"DESCRIPTION";s:16:"Color in hex rgb";s:12:"KEEP_HISTORY";s:1:"0";s:8:"ONCHANGE";s:11:"SetColorHex";s:6:"SYSTEM";s:0:"";s:8:"DATA_KEY";s:1:"0";s:9:"DATA_TYPE";s:1:"0";}}s:7:"OBJECTS";a:2:{i:0;a:6:{s:5:"TITLE";s:6:"Bridge";s:11:"DESCRIPTION";s:0:"";s:11:"LOCATION_ID";s:1:"0";s:12:"KEEP_HISTORY";s:1:"0";s:6:"SYSTEM";s:0:"";s:7:"METHODS";a:1:{i:0;a:7:{s:5:"TITLE";s:11:"PowerToggle";s:11:"DESCRIPTION";N;s:4:"CODE";s:0:"";s:11:"CALL_PARENT";s:1:"1";s:9:"SCRIPT_ID";s:1:"0";s:8:"EXECUTED";s:19:"2018-02-10 20:20:16";s:15:"EXECUTED_PARAMS";s:46:"{"object":"Bridge","op":"m","m":"PowerToggle"}";}}}i:1;a:6:{s:5:"TITLE";s:5:"Zone1";s:11:"DESCRIPTION";s:0:"";s:11:"LOCATION_ID";s:1:"0";s:12:"KEEP_HISTORY";s:1:"0";s:6:"SYSTEM";s:0:"";s:7:"METHODS";a:0:{}}}}}