Импорт контакт-листов DMRhub в OpenGD77, AnyTone и TYT
Каждый раз, когда новый участник сети заводит codeplug с нуля, он тратит десятки минут на ручной ввод одних и тех же talkgroup и позывных операторов. DMRhub предлагает готовые контакт-листы сети в кабинете (/contacts) — скачал нужный формат, импортировал в CPS, и все актуальные группы и пользователи уже в рации. На этой странице разберём, как именно это сделать для трёх самых распространённых платформ.
Что такое контакт-лист и зачем его импортировать
В терминах DMR контакт — это запись «имя + DMR ID + тип вызова». Записи бывают двух видов:
- Групповой вызов (Group Call) — talkgroup. Ваш голос уйдёт всем, кто слушает эту группу на мастер-сервере.
- Приватный вызов (Private Call) — конкретный оператор по его личному DMR ID.
Контакт-лист — это CSV-файл с таким списком, готовый к загрузке в CPS. Его не надо путать с базой позывных (userdb / DMR ID database) — это разные вещи. База позывных содержит сотни тысяч записей и нужна только чтобы рация подписывала на дисплее входящий ID («кто звонит»). Контакт-лист — ваш рабочий список групп и абонентов, десятки или сотни строк, именно его вы задаёте вручную или импортируете из файла DMRhub.
OpenGD77 CPS: импорт CSV
OpenGD77 CPS работает через CSV-файл. Формат строгий: первая строка — заголовок, который программа читает дословно, менять его нельзя. Порядок колонок:
#,Name,ID,Type,TS Override,DTMF ID
Типичная строка для talkgroup:
1,Локальный DMRhub,9,Group Call,None,0
Где:
- # — порядковый номер, сквозной от 1;
- Name — отображаемое имя (до 16 символов);
- ID — числовой DMR ID talkgroup или оператора;
- Type — Group Call для talkgroup, Private Call для приватного;
- TS Override — таймслот-перекрытие, обычно None;
- DTMF ID — 0 в большинстве случаев.
Порядок действий:
- В OpenGD77 CPS откройте вкладку Contacts.
- В меню выберите File → Import CSV → Contacts.
- Укажите скачанный файл dmrhub_opengd77.csv.
- CPS предложит режим добавления или замены — выберите по ситуации. При замене старые контакты будут удалены.
- Проверьте список, запишите codeplug в рацию.
AnyTone CPS: импорт Digital Contacts
AnyTone (D868UV, D878UV, D578UV и другие) хранит контакты в разделе Digital Contacts. Импорт идёт через CSV с пятью колонками:
No.,Radio ID,Name,Call Type,Call Alert
Пример строки для группы:
1,9,Локальный DMRhub,Group Call,None
- No. — порядковый номер (с точкой — именно так);
- Radio ID — числовой ID;
- Name — имя до 16 символов;
- Call Type — Group Call или Private Call;
- Call Alert — обычно None.
Порядок действий:
- Откройте AnyTone CPS и загрузите текущий codeplug из рации (или создайте новый).
- В меню выберите Tools → Import.
- В открывшемся окне нажмите Digital Contacts и укажите файл dmrhub_anytone.csv.
- Подтвердите импорт. Существующие контакты будут дополнены или перезаписаны — уточните поведение в вашей версии CPS.
- Запишите codeplug обратно в рацию.
TYT (MD-380, MD-390, MD-UV380): импорт контактов
TYT использует собственную CPS, формат CSV немного отличается от AnyTone. Типичный заголовок:
No,Name,Call_ID,Call_Type,Receive_Tone,Ring_Style
Пример:
1,Локальный,9,Group Call,0,None
Порядок действий:
- В TYT CPS откройте или создайте codeplug.
- Перейдите в Contacts (или Digital Contact, зависит от версии CPS).
- В меню File → Import или через кнопку Import CSV выберите файл dmrhub_tyt.csv.
- Проверьте список — в старых версиях CPS MD-380 лимит контактов в рации составляет около 1000 записей.
- Запишите codeplug.
Разница: контакты vs база позывных (userdb)
Новички часто путают два разных файла. Важно понимать разницу:
- Контакт-лист (то, что мы импортируем выше) — небольшой список talkgroup и операторов нашей сети. Именно он определяет, в какие группы вы можете выйти на передачу и что видите в меню. Файл DMRhub содержит именно это.
- База позывных / userdb (в OpenGD77 — «Write DMR IDs», в AnyTone — «Radio ID List» или отдельный файл) — огромный файл на сотни тысяч строк со всеми зарегистрированными DMR ID в мире. Нужен только для того, чтобы на дисплее рации отображался позывной входящего, а не просто его номер. Этот файл обновляется отдельно и в кабинете DMRhub не выдаётся.
Импортируйте контакт-лист — получаете нужные группы. Заливайте userdb — получаете подписи входящих. Одно не заменяет другое.
Типичные ошибки и диагностика
Контакты импортировались, но не видны в канале
Наличие контакта в списке не означает автоматической привязки к каналу. После импорта нужно зайти в настройки каждого канала и в поле Contact (TX Contact) выбрать нужную группу из импортированных. Аналогично обновите RX Group List, если хотите слышать эти группы на приём.
Кириллица отображается символами «?» или «□»
Проблема кодировки. Для TYT — преобразуйте в Windows-1251 (ANSI). Для OpenGD77 и AnyTone — оставьте UTF-8. Не открывайте CSV в Excel двойным кликом — Excel может неправильно определить кодировку; используйте Import from Text с явным указанием UTF-8.
CPS говорит «неверный формат» или не читает файл
Проверьте разделитель: откройте CSV блокнотом. Если видите запятые между полями — нужна запятая; если точки с запятой — точка с запятой. Разные версии CPS одной и той же рации могут ожидать разные разделители. При необходимости замените в Notepad++ через «Найти и заменить» (Ctrl+H).
Порядковые номера нарушены
В OpenGD77 CPS и TYT нумерация в первой колонке должна быть строго последовательной: 1, 2, 3… Пропуски или дубликаты дадут ошибку или молчаливое усечение списка. Если редактировали файл вручную — пересчитайте нумерацию.
Контакт-лист DMRhub уже ждёт вас
Все актуальные talkgroup сети и позывные операторов — в одном файле под вашу рацию. Скачайте нужный формат в кабинете, импортируйте по инструкции выше и выходите в эфир. Нет DMR ID? Регистрация через портал выдаёт приватный номер из блока 10 000 000+ за пару минут.
Источники
- OpenGD77 CPS: документация CSV-функций (G4EML) — opengd77.com
- OpenGD77 User Guide (LibreDMR) — github.com/LibreDMR/OpenGD77_UserGuide
- AnyTone AT-D868UV Programming Guide v1.25 — sbarc.org
- Tytera MD-380: import contacts (IZ2UUF) — iz2uuf.net