Мы развиваем IoT-платформу на базе ThingsBoard для проектов автоматизированного учёта ресурсов
(AMR) и энергоменеджмента. Ключевой принцип - dashboard-as-code: дашборды, rule chains, профили
устройств и конфигурация управляются как код (JSON + скрипты через REST API), версионируются в Git и
разворачиваются автоматизированно, а не настраиваются вручную через UI.
Ищем инженера, который будет проектировать, автоматизировать и сопровождать эту систему на всём
цикле: от развёртывания платформы до готовых дашбордов у заказчика.
Обязанности:
1 Разработка и сопровождение дашбордов ThingsBoard в подходе dashboard-as-code: генерация и
шаблонизация JSON-описаний, деплой через REST API, версионирование в Git.
2 Написание Python-инструментов автоматизации: провижининг устройств и активов, массовые
операции, миграции конфигураций между инстансами (dev → prod), CI/CD-пайплайны для
конфигурации платформы.
3 Разработка JS-конвертеров uplink/downlink (декодирование бинарных payload приборов).
4 Построение и сопровождение rule chains: обработка телеметрии, алармы, эскалации, RPC-команды.
5 Разработка кастомных виджетов (JS/HTML/CSS) там, где стандартных недостаточно.
6 Администрирование платформы: развёртывание, обновления, бэкапы, мониторинг
производительности.
7 Взаимодействие с заказчиками по требованиям к визуализации и отчётности.
Требования:
4.1. Программирование (ядро роли)
- JavaScript / TypeScript - свободно: конвертеры payload, script nodes в rule chains, кастомные виджеты. Уверенная работа с бинарными данными: HEX, little/big endian, битовые поля, побитовые операции.
- Python - уверенно: скрипты автоматизации через ThingsBoard REST API (например, tb-rest-client или requests), работа с JSON-структурами, шаблонизация (Jinja2 или аналог), CLI-инструменты.
- Git - обязательно: ветвление, code review, работа с конфигурацией как с кодом.
- CI/CD (GitLab CI / GitHub Actions): пайплайны для деплоя конфигурации платформы и дашбордов.
4.2. ThingsBoard PE
- Модель данных: устройства, активы, профили устройств, relations, атрибуты и телеметрия, customer hierarchy.
- PE-функции: Platform Integrations (LoRaWAN, MQTT, HTTP), JS-конвертеры данных на уровне интеграций, Entity Groups и гранулярная модель прав (RBAC), Scheduler, генерация отчётов (Reporting), white-labeling.
- REST API платформы: экспорт/импорт дашбордов и rule chains, управление сущностями программно.
- Rule chains: уверенная работа со стандартными rule nodes, отладка через debug mode, алармы.
- Дашборды: states, alias'ы, entity filters, устройство JSON-структуры дашборда «изнутри».
- RPC и downlink-управление устройствами.
4.3. Протоколы
- MQTT - уверенно: топики, QoS, retained messages, устройство MQTT-транспорта ThingsBoard, отладка (mosquitto_sub / MQTT Explorer).
- WebSocket - работа с WebSocket API ThingsBoard: подписки на телеметрию и атрибуты в реальном времени, использование в кастомных виджетах и внешних приложениях.
- LoRaWAN - понимание технологии: классы устройств, confirmed/unconfirmed uplink, ADR, региональные частотные планы.
- Modbus (RTU / TCP) - чтение регистров, типы данных, карта регистров прибора, физический уровень RS-485, опыт подключения Modbus-устройств через IoT Gateway или конвертеры.
- BACnet (IP / MS/TP) - объектная модель (objects, properties), обнаружение устройств, интеграция инженерных систем зданий (HVAC, диспетчеризация) в ThingsBoard через IoT Gateway.
- HTTP/REST - интеграции и вебхуки.
4.4. Интеграции и данные
- ThingsBoard IoT Gateway: конфигурация коннекторов (Modbus, BACnet, MQTT), маппинг данных.
- Подключение внешнего LoRaWAN NS (ChirpStack, TTN или аналог - понимание принципа достаточно, у нас собственный NS).
- PostgreSQL: запросы, индексы, базовая оптимизация. TimescaleDB - сильный плюс.
- Понимание принципов работы очередей сообщений (RabbitMQ / Kafka) на уровне пользователя.
4.5. Инфраструктура
- Docker / docker-compose: развёртывание и обновление ThingsBoard, миграции между версиями.
- Linux: диагностика, логи, systemd, nginx/SSL.
- Бэкапы и восстановление БД.
- Понимание поведения платформы под нагрузкой (партиционирование телеметрии, TTL, очистка данных); опыт эксплуатации ThingsBoard в продакшене на больших объёмах устройств.
4.6. Технический контекст
- ThingsBoard PE (Professional Edition), десятки тысяч устройств
- Собственный LoRaWAN Network Server (ONS), интеграция по MQTT/HTTP
- PostgreSQL + TimescaleDB
- Docker-инфраструктура, Linux-серверы
- Приборы учёта: собственная линейка ORIONMETER, бинарные payload LoRaWAN
Условия:
Оформление по ТК РК
Готовность к выездам на объекты (в пределах РК)

