NeverHard

Инженер IoT-платформы ThingsBoard (Dashboard-as-Code) at Орион Система — NeverHard

Инженер IoT-платформы ThingsBoard (Dashboard-as-Code) at Орион Система in Алматы. Skills: CI/CD, CSS, Dashboarding, GIT, HTML. Apply on NeverHard.

Company
Орион Система
Location
Алматы
Type
full_time

Required skills:

Мы развиваем 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 Условия: Оформление по ТК РК Готовность к выездам на объекты (в пределах РК)