Разработка плагинов BTP
Публичный контракт для прикладной логики: читать разрешенные данные, выполнять расчет и публиковать результат.
Рабочий пример
Community Starter подписывается на один числовой лист USEPI, вычисляет value = input * scale + offset и публикует JSON через MQTT Host API. Это телеметрия, не команда исполнительному устройству. Пример использует настоящие PluginSession и PluginClient из Rust SDK.
Что входит в загрузку
Самодостаточный source kit 1.2.1 содержит Rust SDK, минимальный публичный контракт, Community Starter, Cargo.lock, manifest, схемы, тесты, build.py и инструменты btp.py. Закрытый репозиторий BlueTraktor не нужен. Это исходники для создания плагинов, не готовый BTP. Зависимости Cargo загружаются из публичного реестра; они не включены в архив.
Версия kit 1.2.1 обозначает Plugin API 1.2; версия crate SDK остается 0.1.0. SOURCE-MANIFEST.json фиксирует SHA-256 исходников и каждого файла. Условия SDK предоставляет правообладатель: см. SDK-TERMS.md. Архив не объявляет open-source лицензию и не предоставляет права на остальные компоненты.
SHA-256: decafcbf40b52948d2d587c50d7b96c9e194621ea023427b12c725e0915858d4Четыре отдельных условия
| Условие | Назначение |
|---|---|
| Проверка пакета | Формат, совместимость и доверие в рамках политики установки |
| Лицензия | Право запуска runtime и точного plugin ID |
| Grants экземпляра | Явно разрешенные операции и пути данных |
| Права пользователя | Установка, настройка, управление и просмотр журналов |
Границы обычного плагина
- Собственный фоновый процесс и декларативная форма настройки экземпляра.
- Чтение и подписка на разрешенный точный лист USEPI, публикация в разрешенные MQTT-топики через Host API.
- Нет произвольных React-компонентов, HTML, JavaScript, iframe, страниц или меню из пакета.
- Нет прямой сети, доступа к базе, файловой системе хоста или аппаратным устройствам.
- MQTT subscribe, secrets API и аппаратный broker не являются рабочим API этого стартера.
- Новые системные виджеты и разделы требуют отдельного согласования по контракту ui-extension.
Версии и совместимость
Для текущего стартера нужны BlueTraktor 0.1.4 или новее И менеджер Plugin API 1.2. Версии продукта недостаточно. UI-extension protocol остается 1. Сверяйте фактические версии установки: публикация руководства не означает, что она уже обновлена.
Подписки появились в API 1.1; API 1.2 добавляет привязку точных grants к настройкам экземпляра. Стартер задает диапазон 1.2–1.2. Старые пакеты API 1.0/1.1 могут согласовать свой прежний API с новым менеджером. Версия продукта, версия SDK crate и версия API различаются.