Данная документация устарела, начиная с релиза Smarty 2.8, актуальный модуль сбора телесмотрения — MiStats.
Статистика телесмотрения
Прежде всего необходимо поднять MongoDB-сервер, на котором будут храниться данные телесмотрения абонентов. Минимальная поддерживаемая версия MongoDB — 3.4.
Далее, в секции INSTALLED_APPS файла конфигурации Smarty необходимо добавить модуль viewstats, а также указать данные для подключения к поднятому серверу MongoDB:MONGODB_HOST — Адрес сервера MongoDB, тип данных str;MONGODB_PORT — Порт сервера MongoDB, тип данных int;MONGODB_NAME — Название базы данных, тип данных str;MONGODB_USERNAME — Имя пользователя для авторизации, тип данных str;MONGODB_PASSWORD — Пароль для авторизации, тип данных str;MONGODB_AUTH_METHOD — Метод авторизации (зависит от версии MongoDB), тип данных str;
И установить все недостающие миграции командой:
smarty_manage migrate --settings=settings.smarty
Пример конфигурации:
INSTALLED_APPS += ( 'viewstats', // ... )MONGODB_HOST = '127.0.0.1' MONGODB_PORT = 27017 MONGODB_NAME = 'Test' MONGODB_USERNAME = 'Test' MONGODB_PASSWORD = 'Password' MONGODB_AUTH_METHOD = 'SCRAM-SHA-1'
Для того, чтобы абонентские устройства начали отправлять статистику на сервер, необходимо включить ее отправку в панели администрирования на странице «Настройки STB и приложений» (чекбокс «Включить сбор статистических данных на сервер Smarty»).

Создание умной сортировки каналов
smarty_manage create_channel_sorting_by_popularity --settings=settings.
При выполнении данной команды создается сортировка каналов на основании статистики телесмотрения, исходя из указанных параметров в команде.
Необходимые параметры для выполнения данной команды:
--client_id – список идентификаторов клиентов, через запятую, для которых нужно провести кеширование;
--days_number — количество дней, в течение которых стоит учитывать телесмотрение;
--criterion — характеристика, по которой оценивать популярность. Возможные значения:watch_time — по общему времени просмотра канала;watch_sessions — по количеству включений канала;average_watch_time — по среднему времени просмотра канала;median_watch_time — по медианному времени просмотра канала.
Дополнительные параметры команды:--devices — список устройств, для которых стоит учитывать статистику телесмотрения (передаются системные имена устройств, по умолчанию — все);--tariffs — список тарифов для которых стоит учитывать статистику телесмотрения (передаются идентификаторы тарифов, по умолчанию — все);--accounts_active — учитывать статистику только с активных аккаунтов.
Создание подборки популярных телеканалов
smarty_manage create_channel_selection_by_popularity --settings=settings.<settings name>
Параметры:--client_id – данный параметр обязателен и определяет идентификатор Client, для которого будет создана подборка.--days_number – данный параметр обязателен и определяет количество дней, в течение которых стоит учитывать телесмотрение.--criterion – данный параметр обязателен и определяет характеристику, по которой будет создана подборка. Возможные значения: watch_time (общее время просмотра каналов), watch_sessions (количество сессий просмотра каналов), average_watch_time (среднее время просмотра каналов), median_watch_time (медианное время просмотра).--devices – параметр для создания подборки по определенным устройствам (по умолчанию подборка создается по всем устройствам).--accounts_active – параметр позволяет создать подборку только на основе активных аккаунтов. Возможные значения: true, false. По умолчанию false.--tariffs – выборка определенных тарифов для создания подборки (по умолчанию учитываются все тарифы).--selection_size – параметр определяет размер создаваемой подборки. При отсутствии информации о достаточном количестве каналов происходит добавление каналов без статистики до нужного количества. По умолчанию 17.
Пример использования команды:
Создание для Client=1 подборки недельных популярных каналов по времени просмотра:
smarty_manage create_channel_selection_by_popularity --client_id=1 --days_number=7 --criterion=watch_time --settings=settings.<settings name>
Создание подборки популярных телепередач
smarty_manage create_epg_selection_by_popularity --settings=settings.<settings name>
Параметры:--client_id – данный параметр обязателен и определяет идентификатор Client, для которого будет создана подборка.--days_number – данный параметр обязателен и определяет количество дней, в течение которых собирается информация по передачам.--devices – параметр для создания подборки по определенным устройствам (по умолчанию подборка создается по всем устройствам).--tariffs – выборка определенных тарифов для создания подборки (по умолчанию учитываются все тарифы).--selection_size – параметр определяет размер создаваемой подборки. При отсутствии информации о достаточном количестве передач происходит добавление передач без статистики до нужного количества. По умолчанию 17.--categories – параметр для создания подборки по определенным категориям каналов (по умолчанию учитываются все категории), id категорий можно увидеть в разделе Настройки контента — Категории ТВ.--channels – учитываются передачи только тех каналов, id которых указаны в данном параметре.--selection_name – название подборки. Если не указано, то подборка будет иметь название «Название подборки $days_number ($selection_size)».
Пример использования команды:
Создание подборки 27 популярных передач для Client=1 за 30 дней с категориями «Детские» (id=2) и «Познавательные» (id=7):
smarty_manage create_epg_selection_by_popularity --selection_name="Детские познавательные" --client_id=1 --days_number=30 --selection_size=27 --categories=2 --categories=7 --settings=settings.<settings name>
Создание подборки популярных фильмов архивной видеотеки
Команда:
smarty_manage create_vodpvr_selection_by_popularity --client_id=1 --days_number=3 --settings=settings.<settings name>
Команда создаёт подборку популярных видео из архивной видеотеки на основании телесмотрения пользователей.
Обязательные параметры:
--client_id – определяет идентификатор Client, в рамках которого будет произведено формирование подборки.
--days_number – количество дней, за которые берется статистика телесмотрения.
Необязательные параметры:
--channels – список каналов, по передачам которых учитывается статистика телесмотрения.
--categories — список категорий каналов, по передачам которых учитывается статистика телесмотрения.
--selection_size — максимальное количество контента в подборке. По умолчанию 17.
--selection_name — название подборки. По умолчанию «Популярные фильмы X (Y)» или «Popular videos X (Y)», где X — значение days_number, а Y — selection_size.
Пример использования команды:
Удаление фильмов/сериалов, записи передач которых были сделаны более 2-х недель назад:
smarty_manage create_vodpvr_selection_by_popularity --client_id=1 --days_number=7 --selection_size=30 --selection_name="Популярное в архиве" --channels=1 --channels=2 --categories=1 --categories=2 --settings=settings.<settings name>