logo

История разработки ПО

Накопитель электроэнергии Volts задумывался как интеллектуальный продукт: синтез программного обеспечения и оборудования. Программное обеспечение осуществляет фундаментальную часть работы, собирая и оптимизируя данные, помогает пользователям Volts эффективно использовать накопители, а разработчикам – модернизировать продукт.

Мы создавали программное обеспечение Volts внутри компании, собственными силами, параллельно с развитием аппаратной части. Так как аналогичных решений на рынке (и особенно, на российском рынке) практически не представлено, мы решили открыто рассказать о том, как мы проходили этот процесс, с какими сложностями сталкивались, какие задачи решали и как двигаемся дальше.

Стадия MVP

MVP (или Minimum Viable Product или минимально жизнеспособный продукт) - это ранняя, тестовая версия продукта, у которой есть минимальный набор функций, достаточный для презентации публике и проверке на первых потребителях.

На стадии MVP мы разработали для продукта первую версию мобильного приложения, которое имело клиентское и техническое назначение. «Интеллект» нашей системе обеспечивали плата управления (Control PCB) собственной разработки и сервер, который связывал оборудование с приложением. С помощью приложения пользователи следили за своими накопителями и управляли ими, а инженеры Volts занимались первичной настройкой системы.

Технический мониторинг велся посредством анализа лог файлов, выгружаемых с сервера, с телеметрией.

Телеметрия — это сообщения, отправляемые с платы управления на сервер каждые 5 секунд, которые содержат более ста текущих параметров системы.

Сергей Смирнов, главный инженер Volts: «Особенность заключается в том, что наш накопитель отправляет информацию каждые 5 секунд – это довольно часто, и позволяет показывать данные о режиме работы системы с малой задержкой. Известные нам мировые аналоги имеют более низкую «скорость отклика». То есть режим меняется, и в приложении это можно увидеть только через пару минут. Но для отображения графиков в приложении такие частые значения неудобны: графики получаются слишком ломанными и долго грузятся и обрабатываются смартфоном. Поэтому для отрисовки графиков на сервере телеметрия сначала усредняется до дискретизации в 5 минут и уже по этим данным строятся графики. Так они получаются более плавными для их наблюдения на маленьком экране, но быстрые изменения режима на них не заметны. Это и стало причиной необходимости анализа «сырой» телеметрии, о которой написано в «первых сложностях».


Пока мы вели пилотные установки накопителей, обработка велась в ручном режиме, но, когда стартовали продажи, и количество установленных пользователям накопителей становилось больше – потребовался более наглядный и удобный мониторинг.

Мы собирали с накопителей, в том числе, следующую информацию:

    • Напряжение электросети
    • Текущая мощность потребления
    • Температурные параметры системы
    • Объем вырабатываемой солнечными панелями (в случае их наличия) электроэнергии
    • Ток/напряжение/мощность по фазам
    • Текущий уровень заряда батареи
    • Токи заряда и разряда батареи
    • и прочее.


    Первые сложности

    Первая проблема заключалась в увеличении объема лог файлов, которые стали весить по несколько гигабайт. Работать даже с одной такой несколькогигабайтной таблицей Excel было затруднительно. Решение подобрали довольно простое – парсер на Python, с помощью которого можно было вытаскивать из .csv файла в Excel требуемые данные. Однако это не отменяло необходимости каждый раз скачивать нужный лог файл. Это занимало время, и каждая новая продажа усложняла ситуацию. Оформление таблиц и графиков осуществлялось буквально в hand made режиме.

    Работа с уведомлениями об ошибках и обновление прошивки

    Еще одной сложностью стала логистика уведомлений об ошибках в работе оборудования или неисправностях, которые приходили клиентам.

    Что мы понимаем под ошибками:

      • Слишком быстрый разряд аккумуляторов
      • Низкий уровень заряда батареи
      • Параметры электроэнергии (в том числе из сети), выходящие за рамки допустимых
      • Неисправности оборудования разных типов
      • Необходимость сервисной поддержки


      Работа накопителя электроэнергии тесно связана с работой общей электрической сети, накопитель становится связующим звеном между сетью и домашней системой электроснабжения и участвует в ее работе вне и во время отключений электричества, это живая система, процессы в которой сложно спрогнозировать, поэтому здесь наличие ошибок – естественная часть процесса, а не маркер качества продукта.

      Изначально была заложена следующая логика: если в работе накопителя возникает ошибка, клиенту приходит пуш-уведомление от приложения. Клиент оставляет заявку для сервисной службы Volts, и она начинает заниматься устранением. Так все работали какое-то время, но мы быстро поняли, что наша команда должна узнавать об ошибках раньше клиентов, чтобы оперативно решать проблемы и приходить на помощь. Иначе выходило, что наши первые клиенты сами становились ещё и линией поддержки, от которой сервисные инженеры узнавали, что что-то пошло не так.

      Вначале мы нашли временное решение: сервисные инженеры получили аккаунты, к которым были привязаны накопители для мониторинга. Мониторинг шел через мобильное приложение и бесконечный поток пуш-уведомлений, которые прилетали на смартфоны инженеров. Разобраться в таком хаосе было непросто.

      Главной болю сервисной службы стало обновление прошивки плат управления. Как и у всякого нового продукта, у Volts было немало несовершенств, которые исправлялись фиксами на уровне ПО. Кроме того, добавление новых функций или переменных для мониторинга требовало обновление прошивок. Проблема состояла в том, что загрузить этот фикс можно было только локально подключившись к плате управления. Учитывая широкую географию наших продаж, это было не очень оперативно для клиентов и довольно затратно для компании Volts (сервисная поддержка для клиентов оказывалась бесплатно).

      Каждый день от клиентов, сервисных инженеров, специалистов службы поддержки поступало всё больше пожеланий и предложений о том, как сделать работу Volts надежнее и эффективнее.

      Мы поняли, что преградой для дальнейшего развития продукта является именно IT-составляющая. Для масштабирования нам была нужна единая система сервисного мониторинга и управления всеми накопителями – как уже проданными, так и теми, что будут проданы в будущем. Тогда мы приступили к разработки полноценной админ-панели Volts.

      Админ-панель Volts

      Описанные проблемы — это классические «боли роста» hardware-стартапа, который упирался в ограничения собственных IT решений. Разработав админ-панель Volts, мы внедрили не просто инструмент для сервисной поддержки, а заложили фундамент полноценной IT-платформы для мониторинга и управления в области возобновляемой энергии.

      Что она включила?

      1. Управление и удалённое обновление плат управления (Firmware) — полноценное решение для проблемы невозможности оперативного обновления прошивок.

      История разработки программного обеспечения системы накопления энергии Volts - фото 2
        • Контроль версионности и журнал обновлений. История обновлений каждого устройства сохраняется. Мы видим, какая прошивка была, когда и кем была установлена новая, и чем это обновление характеризовалось (исправление бага, новая функциональность).
        • Управление группами обновления. Можно выбрать не просто отдельный накопитель, а отфильтровать их по hardware-версии, прошивке, местоположению или статусу. Это позволяет точечно тестировать новые фичи на ограниченной группе или экстренно исправлять критические уязвимости на конкретной партии оборудования.
        • Автоматическое отслеживание статусов. Сервисный инженер наблюдает за всем процессом обновления в реальном времени: «ожидание», «скачивание», «установка», «успех/ошибка». В случае сбоя лог ошибки сразу доступен для анализа, без необходимости удалённого доступа или звонка клиенту.


        В результате сервисная служба избавилась от необходимости выездов на объекты, время распространения критических исправлений сократилось с недель до минут. Это позволяет быстро и итерационно улучшать продукт, непосредственно влияя на удовлетворённость клиентов.


        • 2. Управление ESS (Energy Storage Systems) — решение для масштабирования.

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

          • Цифровая карточка устройства. Каждый накопитель получает в системе уникальный профиль. В нём хранится всё: серийный номер, привязка к клиенту и его локации, история всех сервисных обращений, гарантийный статус, текущие настройки и конфигурации. Это единый источник информации для всех отделов: поддержки, сервиса, продаж.
          • Удалённая конфигурация накопителя. Всё можно сделать из панели администратора: задать тип подключения к сети (одно-/трехфазное), настройка временных зон и географических параметров, кастомизация ESS (цвета, логотипы), определение параметров солнечных панелей. Это ускоряет процесс ввода системы в эксплуатацию.


          В результате появился полный контроль над растущим парком устройств. Сервисный инженер может мгновенно получить исчерпывающую информацию о любом накопителе.


          3. Мониторинг и телеметрия в реальном времени.

          Мы заменили ручной парсинг CSV-файлов на автоматизированную систему визуализации.

            • Графики вместо таблиц. Более 100 параметров с каждой платы управления в реальном времени отображаются на интуитивно понятных дашбордах. Напряжение по фазам, ток, мощность, состояние заряда батареи (SOC), температура — всё представлено в виде графиков и индикаторов, а не в строках текста.
            • Анализ истории событий. Вся телеметрия пишется в оптимизированную базу данных. Теперь чтобы проанализировать проблему, произошедшую три дня назад, не нужно скачивать гигабайтные логи. Достаточно в панели выбрать устройство, временной промежуток и нужный параметр — система мгновенно построит график.
            • Статус системы онлайн. Администратор видит общую картину по всем устройствам: какие онлайн, какие офлайн, какие работают в штатном режиме, а какие испытывают проблемы.


            В результате время на анализ данных с нескольких часов рутинной работы сократилось до минут. Сервисные инженеры и разработчики получили мощный инструмент для диагностики без необходимости отвлекать клиентов.

            • Аналитика генерации и потребления электроэнергии

            Этот модуль превращает сырые данные в ценную бизнес-информацию.

              • Визуализация данных. Система автоматически строит графики, которые наглядно показывают эффективность работы накопителя: сколько энергии было куплено из сети, сколько потреблено из собственной генерации, сколько сохранено и использовано.
              • Техническая аналитика. Мы можем анализировать эффективность системы: как меняется КПД при разных температурах, как ведёт себя батарея в различных режимах разряда/заряда. Это бесценные данные для отдела разработки.


              В результате появился инструмент для удобного восприятия текущего состояния системы наглядно отображающий синергетический эффект от работы системы накопления с солнечной генерацией и сетью.

              5. Система оповещений и уведомлений.

              Система, которая сама сообщает о проблемах, а не ждёт жалоб от клиентов.

                • Автоматическое распределение по типам уведомлений (Info, warning, fail). Критические оповещения (Fail) приходят напрямую назначенным сервисным инженерам, позволяя незамедлительно отреагировать.
                • Структурирование, а не хаос. Все уведомления структурированы в едином журнале событий. Их можно фильтровать по уровню важности, типу устройства, дате и статусу (новое/в работе/решено).
                • Проактивное реагирование: система автоматически эскалирует инциденты, если они долго не решаются. Уведомления побуждают инженеров к действию, а не просто информируют.


                В результате сервисная служба узнаёт о проблеме раньше клиента и уже готовит решение, превращаясь из реактивной в проактивную команду. Это кардинально повышает воспринимаемое качество сервиса.

                Будущее

                Сегодня мы активно работаем над внедрением системы предиктивной аналитики на основе ИИ, которая будет оперировать с данными телеметрии и сможет прогнозировать неисправности, развитие неблагоприятных процессов в системе. Это позволит нам планировать сервисные мероприятия, своевременно приходить на помощь заказчикам.

                6. Предиктивная аналитика и диагностика — Фундамент для будущего внедрения искусственного интеллекта

                Это эволюция от реагирования на проблемы к их предупреждению.

                Обнаружение аномалий: Система обучается нормальным паттернам работы каждого накопителя и начинает предупреждать о девиациях — аномальных отклонениях, которые часто предшествуют поломке (например, деградация ячеек аккумулятора, учащённые микросбои).