# Пользовательские команды CLI

На этой странице описаны толко специфичные для MeshCoreTel-firmware команды CLI, добавленные в этой прошивке.

Она не пытается повторить весь интерфейс CLI оригинального MeshCore.  Документацией по остальным командам смотрите на официальном сайте MeshCore:

 - <https://docs.meshcore.io/cli_commands/>

## Команды Repeater MQTT

### Статус MQTT и маршрутизация

- `get mqtt.status`: показывает состояние Wi-Fi, NTP, код IATA, статус конечных точек, статус публикации состояния и статус отправки.
- `get mqtt.statuscfg`: показывает, включена ли периодическая отправка сообщений о состоянии, в виде простого значения `on` или `off`. Большинству пользователей достаточно `get mqtt.status`.
- `get mqtt.client_version`: показывает строку `client_version` MQTT, публикуемую ретранслятором.
- `get mqtt.iata`: показывает код IATA/локации, используемый в топиках MQTT.
- `set mqtt.iata <code>`: устанавливает код IATA/локации, например `MOW`.
- `set mqtt.iata UNSET`: помечает код IATA как ещё не настроенный. Пока он `UNSET`, включённые MQTT брокеры не подключаются, пока не будет сохранён реальный код.

### Идентификация в MQTT

- `get mqtt.owner`: показывает сохранённый публичный ключ владельца.
- `set mqtt.owner <64-символьный-шестнадцатеричный-публичный-ключ>`: задаёт публичный ключ владельца, используемый в метаданных JWT.
- `mqtt.owner <64-символьный-шестнадцатеричный-публичный-ключ>`: краткая форма для установки публичного ключа владельца.
- `get mqtt.email`: показывает сохранённый email владельца.
- `set mqtt.email <email>`: задаёт email владельца, используемый в метаданных JWT.
- `mqtt.email <email>`: краткая форма для установки email владельца.

### Управление сообщениями MQTT

- `get mqtt.packets`: показывает, публикуются ли сообщения о пакетах.
- `set mqtt.packets on|off`: включает или отключает публикацию пакетов.
- `get mqtt.raw`: показывает, публикуются ли сырые данные пакетов.
- `set mqtt.raw on|off`: включает или отключает отдельный топик `raw` в MQTT.
- `set mqtt.status on|off`: включает или отключает периодическую публикацию статуса MQTT.
- `get mqtt.tx`: показывает, включены ли передаваемые (TX) пакеты.
- `set mqtt.tx on|off`: включает или отключает публикацию переданных пакетов.

### Конечные точки MQTT

- `get mqtt.meshcoretel`
- `set mqtt.meshcoretel on|off`
- `get mqtt.letsmesh-eu`
- `set mqtt.letsmesh-eu on|off`
- `get mqtt.letsmesh-us`
- `set mqtt.letsmesh-us on|off`

Примечания:

- новые установки MQTT ретранслятора по умолчанию имеют `mqtt.iata = UNSET`
- `letsmesh-eu` и `letsmesh-us` по умолчанию выключены, если они уже не были настроены в сохранённых настройках
- если `mqtt.iata` имеет значение `UNSET`, `meshcoretel`, `letsmesh-eu` и `letsmesh-us` не будут подключаться, даже если они включены

Также принимаются устаревшие псевдонимы с точкой:

- `mqtt.letsmesh.eu`
- `mqtt.letsmesh.us`

### Настройки Wi-Fi для MQTT ретрансляторов

- `get wifi.status`: показывает SSID, состояние подключения, код статуса Wi-Fi и IP-адрес при подключении.
- `get wifi.ssid`: показывает настроенный SSID Wi-Fi.
- `set wifi.ssid <ssid>`: задаёт SSID Wi-Fi.
- `set wifi.pwd <password>`: задаёт пароль Wi-Fi.
- `get wifi.powersaving`: показывает текущий режим энергосбережения Wi-Fi.
- `set wifi.powersaving none|min|max`: задаёт режим энергосбережения Wi-Fi.

### Управление веб-панелью

- `get web`
- `get web.status`: показывает, доступна ли локальная HTTPS панель.
- `get web.stats.status`: показывает, включены ли страница `/stats` и подсистема истории, активна ли недавняя история, доступна ли история с поддержкой PSRAM и смонтирован ли архив на SD-карте. Если он включён, сбор истории теперь охватывает и поддерживаемую телеметрию окружения, а не только исходные ряды батареи/радио. Устройства с GPS также записывают ежесекундные данные о спутниках для представления истории в `/stats`.
- `set web on|off`
- `set.web on|off`: включает или отключает локальную HTTPS панель.
- `set web.stats on|off`
- `set.web.stats on|off`: включает или отключает страницу `/stats` и сбор исторической статистики.

### Диагностика времени выполнения

- `memory`: показывает использование heap и PSRAM.
- `stats-core`: показывает батарею, время работы, число зафиксированных ошибок и глубину очереди исходящих сообщений.
- `stats-radio`: показывает уровень собственных шумов радио, последний RSSI, последний SNR и эфирное время TX/RX.
- `stats-packets`: показывает общее количество принятых/отправленных пакетов, разбивку на лавинные/прямые сообщения и ошибки приёма.

> Если `noise_floor` сообщает `0`, проверьте `get agc.reset.interval`; если он не равен `0`, попробуйте выполнить `set agc.reset.interval 0` и проверьте снова.

### Отчёт о батарее устройства

- В сборках repeater MQTT фоновый сбор данных о батарее, используемый для истории MQTT/статуса, ограничен примерно одним замером в минуту. Явные запросы статуса и телеметрии по-прежнему обновляют показания немедленно.

### Управление вентилятором T-Beam 1W

Эти команды доступны только в сборках `LilyGo_TBeam_1W_*` ретранслятора.

- `get fan`: показывает текущий режим вентилятора, его состояние и последнюю температуру устройства с NTC-датчика, если доступна.
- `set fan auto`: возвращает вентилятор в автоматический режим и сохраняет этот режим после перезагрузки.
- `set fan on`: принудительно включает вентилятор и сохраняет этот режим после перезагрузки.
- `set fan off`: принудительно выключает вентилятор и сохраняет этот режим после перезагрузки.
- `set fan timeout <Ns>`: изменяет время автоматической работы вентилятора после TX (в секундах) и сохраняет его после перезагрузки, например `set fan timeout 45s`.

Поведение автоматического режима:

- принудительно включает вентилятор во время передачи и удерживает его включённым в течение заданного тайм-аута после TX
- в остальное время включает вентилятор при `48°C`
- выключает при `42°C`
- оставляет вентилятор включённым, если показания NTC недоступны

Примечания:

- режим вентилятора по умолчанию для ретранслятора: `auto`
- тайм-аут после TX по умолчанию: `30s`
- режим и тайм-аут сохраняются в настройках ретранслятора и переживают перезагрузку
- только сборки `LilyGo_TBeam_1W_*` ретранслятора используют эти сохранённые настройки вентилятора
- допустимый диапазон: от `0s` до `600s`

## Доступ к CLI через веб-панель

Когда веб-панель ретранслятора включена и вы аутентифицированы, CLI-панель в браузере может выполнять те же команды, которые принимает ретранслятор.

Примечания:

- панель по-прежнему использует пароль администратора ретранслятора для доступа
- команды выполняются с той же осторожностью, как если бы вы вводили их непосредственно в CLI ретранслятора
- это предназначено для локального администрирования в доверенной сети
- команда `start ota` освобождает локальный HTTP-редирект на порту 80, чтобы HTTP-приёмник OTA мог занять порт, не останавливая остальные службы ретранслятора, независимо от того, выполняется ли команда из веб-панели, последовательного CLI или удалённого компаньона/приложения
