function Entertainment_ReceiveData($CommParams, $MessageType=c_MessageType_Action) { if (!Entertainment_Before_ReceiveData($CommParams, $MessageType)) { return true; } $CommProperties = get_CommProperties($CommParams); if ($CommProperties !== false) { $CommType = $CommProperties[c_Property_Comm]; $DeviceName = $CommProperties[c_Property_Device]; IPSLogger_Trc(__File__, 'Received Data "'.implode($CommParams, '.').'" for Device '.$DeviceName); switch ($CommType) { case c_Property_CommPower: case c_Property_CommPower2: Entertainment_SetDevicePower(get_ControlIdByDeviceName($DeviceName, c_Control_DevicePower), c_Value_Toggle, $MessageType); break; case c_Property_CommPowerOn: case c_Property_CommPowerOn2: Entertainment_SetDevicePower(get_ControlIdByDeviceName($DeviceName, c_Control_DevicePower), true, $MessageType); break; case c_Property_CommPowerOff: case c_Property_CommPowerOff2: Entertainment_SetDevicePower(get_ControlIdByDeviceName($DeviceName, c_Control_DevicePower), false, $MessageType); break; case c_Property_CommMute: case c_Property_CommMute2: Entertainment_SetMuting(get_ControlIdByDeviceName($DeviceName, c_Control_Muting), c_Value_Toggle, $MessageType); break; case c_Property_CommMuteOn: case c_Property_CommMuteOn2: Entertainment_SetMuting(get_ControlIdByDeviceName($DeviceName, c_Control_Muting), true, $MessageType); break; case c_Property_CommMuteOff: case c_Property_CommMuteOff2: Entertainment_SetMuting(get_ControlIdByDeviceName($DeviceName, c_Control_Muting), false, $MessageType); break; case c_Property_CommVol: case c_Property_CommVol2: Entertainment_SetVolume(get_ControlIdByDeviceName($DeviceName, c_Control_Volume), (int)$CommProperties[c_Template_Value], $MessageType); break; case c_Property_CommBal: case c_Property_CommBal2: Entertainment_SetBalance(get_ControlIdByDeviceName($DeviceName, c_Control_Balance), (int)$CommProperties[c_Template_Value], $MessageType); break; case c_Property_CommTre: case c_Property_CommTre2: Entertainment_SetTreble(get_ControlIdByDeviceName($DeviceName, c_Control_Treble), (int)$CommProperties[c_Template_Value], $MessageType); break; case c_Property_CommMid: case c_Property_CommMid2: Entertainment_SetMiddle(get_ControlIdByDeviceName($DeviceName, c_Control_Middle), (int)$CommProperties[c_Template_Value], $MessageType); break; case c_Property_CommBas: case c_Property_CommBas2: Entertainment_SetBass(get_ControlIdByDeviceName($DeviceName, c_Control_Bass), (int)$CommProperties[c_Template_Value], $MessageType); break; case c_Property_CommMode: case c_Property_CommMode2: Entertainment_SetMode(get_ControlIdByDeviceName($DeviceName, c_Control_Mode), $CommProperties[c_Template_Value], $MessageType); break; case c_Property_CommRemSrc: $ControlId = get_ControlIdByDeviceName($DeviceName, c_Control_RemoteSourceType); $Value = $CommProperties[c_Template_Value]; Entertainment_SetRemoteControlType($ControlId, $Value, c_Control_RemoteSource); break; case c_Property_CommRemVol: Entertainment_SetRemoteControlType(get_ControlIdByDeviceName($DeviceName, c_Control_RemoteVolumeType), $CommProperties[c_Template_Value], c_Control_RemoteVolume); break; case c_Property_CommSrc: case c_Property_CommSrc2: $SourceIdx = $CommProperties[c_Property_SourceIdx]; $RoomName = $CommProperties[c_Property_Room]; IPSLogger_Inf(__file__, "Switch Source for $RoomName to $SourceIdx"); Entertainment_SetSource(get_ControlIdByRoomId(get_RoomId($RoomName), c_Control_Source), $SourceIdx, $MessageType); break; case c_Property_CommPrg: case c_Property_CommPrg2: Entertainment_SetProgram(get_ControlIdByDeviceName($DeviceName, c_Control_Program), $CommProperties[c_Template_Value], $MessageType); break; case c_Property_CommPrgPrev: case c_Property_CommPrgPrev2: Entertainment_SetProgramPrev(get_ControlIdByDeviceName($DeviceName, c_Control_Program), $MessageType); break; case c_Property_CommPrgNext: case c_Property_CommPrgNext2: Entertainment_SetProgramNext(get_ControlIdByDeviceName($DeviceName, c_Control_Program), $MessageType); break; default: IPSLogger_Err(__File__, 'Found unknown CommunicationType "'.$CommType.'"'); } Entertainment_After_ReceiveData($CommParams, $MessageType); return true; } Entertainment_After_ReceiveData($CommParams, $MessageType); return false; }
* */ include_once "Entertainment.inc.php"; // --------------------------------------------------------------------------------------------------------------------------- // WebFront // --------------------------------------------------------------------------------------------------------------------------- if ($IPS_SENDER == "WebFront") { $ControlType = get_ControlType($IPS_VARIABLE); switch ($ControlType) { case c_Control_RoomPower: Entertainment_SetRoomPower($IPS_VARIABLE, $IPS_VALUE); break; case c_Control_DevicePower: Entertainment_SetDevicePower($IPS_VARIABLE, $IPS_VALUE); break; case c_Control_Source: Entertainment_SetSource($IPS_VARIABLE, $IPS_VALUE); break; case c_Control_Group: Entertainment_SetGroupControlVisibility($IPS_VARIABLE, $IPS_VALUE); break; case c_Control_Muting: case c_Control_Volume: case c_Control_Balance: case c_Control_Treble: case c_Control_Middle: case c_Control_Bass: case c_Control_Mode: case c_Control_Program: