Files
ha-reticulum/custom_components/reticulum/translations/ru.json
claude 9ae6bb09c4 Count sent messages at send time; implement first-contact greeting
- messages_sent now increments when a message is queued (async_send_message),
  not only when a delivery proof returns. LXMessage's delivery callback only
  fires on a returned proof (LXMessage.py ~566), which many peers/methods never
  send, so the "Messages sent" sensor was stuck at 0 for messages that were
  actually delivered. The delivery callback now only emits the event.
- Implement the previously-inert "greeting" option: send it automatically the
  first time each sender contacts HA (tracked per sender in RuntimeData).
- Clarify the notify entity (rename to "Send message" / "Отправить сообщение")
  and document greeting + notify in strings/translations/README.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 19:28:26 +03:00

166 lines
8.3 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"config": {
"step": {
"user": {
"title": "Подключение к Reticulum",
"description": "Home Assistant запустит экземпляр Reticulum и подключится к вашему стеку Reticulum по TCP (на соседней машине должен быть настроен TCPServerInterface).",
"data": {
"target_host": "Хост",
"target_port": "Порт",
"display_name": "Отображаемое имя",
"interface_name": "Название интерфейса"
},
"data_description": {
"target_host": "Имя хоста или IP-адрес машины с TCP-сервером Reticulum.",
"target_port": "TCP-порт TCPServerInterface Reticulum (по умолчанию 4242).",
"display_name": "Имя, анонсируемое другим узлам Reticulum для этого Home Assistant.",
"interface_name": "Метка соединения в конфигурации Reticulum."
}
}
},
"error": {
"cannot_connect": "Не удалось подключиться к TCP-серверу Reticulum по указанному адресу и порту."
},
"abort": {
"already_configured": "Reticulum уже настроен.",
"single_instance_allowed": "Допускается только один экземпляр Reticulum."
}
},
"options": {
"step": {
"init": {
"title": "Параметры Reticulum",
"data": {
"enable_assist": "Направлять входящие сообщения в Assist",
"assist_agent": "Агент Assist (id сущности/агента, пусто = по умолчанию)",
"assist_language": "Язык Assist (пусто = язык системы)",
"allow_all_senders": "Отвечать любому отправителю",
"allowed_identities": "Разрешённые адреса отправителей",
"default_recipient": "Адрес получателя по умолчанию (для сущности notify)",
"greeting": "Приветствие при первом обращении",
"delivery_method": "Способ доставки по умолчанию",
"announce_interval": "Интервал анонсов",
"propagation_node": "Адрес узла ретрансляции (propagation node)",
"sync_interval": "Интервал синхронизации с узлом ретрансляции",
"loglevel": "Уровень логирования Reticulum (0-7)"
},
"data_description": {
"enable_assist": "Если включено, входящие сообщения LXMF обрабатываются агентом Assist, а ответ отправляется обратно через Reticulum.",
"allowed_identities": "По одному адресу в строке (или через запятую). Используется только если «Отвечать любому отправителю» выключено.",
"default_recipient": "16-байтовый hex-адрес LXMF, на который отправляет сущность notify.reticulum.",
"greeting": "Отправляется автоматически при первом сообщении от каждого отправителя (один раз на отправителя до перезапуска). Оставьте пустым, чтобы отключить.",
"announce_interval": "Как часто (в секундах) анонсировать наш адрес. 0 отключает периодические анонсы.",
"propagation_node": "Необязательный узел ретрансляции LXMF для доставки по принципу store-and-forward.",
"sync_interval": "Как часто (в секундах) забирать сообщения из очереди узла ретрансляции. 0 отключает."
}
}
}
},
"entity": {
"sensor": {
"lxmf_address": { "name": "Адрес LXMF" },
"messages_received": { "name": "Сообщений получено" },
"messages_sent": { "name": "Сообщений отправлено" },
"messages_failed": { "name": "Сообщений не доставлено" },
"peers": { "name": "Известные узлы" },
"last_message": { "name": "Последнее сообщение" },
"last_message_time": { "name": "Время последнего сообщения" },
"rx_bytes": { "name": "Принято" },
"tx_bytes": { "name": "Передано" },
"bitrate": { "name": "Битрейт" },
"rssi": { "name": "RSSI" },
"snr": { "name": "SNR" },
"link_quality": { "name": "Качество канала" }
},
"binary_sensor": {
"connected": { "name": "Подключено" }
},
"button": {
"announce": { "name": "Анонсировать" },
"sync": { "name": "Синхронизировать узел ретрансляции" }
},
"notify": {
"message": { "name": "Отправить сообщение" }
}
},
"selector": {
"delivery_method": {
"options": {
"direct": "Прямая (установить канал)",
"opportunistic": "Оппортунистическая (один пакет)",
"propagated": "Через ретрансляцию (store-and-forward)"
}
}
},
"device_automation": {
"trigger_type": {
"message_received": "Получено сообщение",
"message_delivered": "Сообщение доставлено",
"message_failed": "Сбой доставки сообщения",
"announce_received": "Получен анонс (услышан узел)"
}
},
"services": {
"send_message": {
"name": "Отправить сообщение",
"description": "Отправить сообщение LXMF узлу Reticulum.",
"fields": {
"destination": {
"name": "Получатель",
"description": "16-байтовый hex-хэш адреса LXMF получателя."
},
"content": {
"name": "Текст",
"description": "Тело сообщения."
},
"title": {
"name": "Заголовок",
"description": "Необязательный заголовок/тема сообщения."
},
"method": {
"name": "Способ",
"description": "Используемый способ доставки."
},
"fields": {
"name": "Поля",
"description": "Необязательный словарь расширенных полей LXMF."
}
}
},
"announce": {
"name": "Анонсировать",
"description": "Анонсировать адрес LXMF этого Home Assistant в сети."
},
"request_path": {
"name": "Запросить маршрут",
"description": "Запросить у сети маршрут до узла.",
"fields": {
"destination": {
"name": "Получатель",
"description": "Хэш адреса, до которого нужно найти маршрут."
}
}
},
"set_propagation_node": {
"name": "Задать узел ретрансляции",
"description": "Задать исходящий узел ретрансляции LXMF.",
"fields": {
"destination": {
"name": "Получатель",
"description": "Хэш адреса узла ретрансляции."
}
}
},
"sync_propagation": {
"name": "Синхронизировать узел ретрансляции",
"description": "Забрать сообщения из очереди настроенного узла ретрансляции.",
"fields": {
"max_messages": {
"name": "Макс. сообщений",
"description": "Максимальное число сообщений для получения."
}
}
}
}
}