Почему я вообще начал писать свой софт

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

Освоение умных домов началось с пары щитов на оборудовании HITE PRO, но я довольно быстро перешел на проводные решения. Так я пришел к Wiren Board. Сейчас занимаюсь проектированием и сборкой щитов электрики и автоматики. Монтажом я не занимаюсь — для этого работают две бригады электриков. 

Как и многие интеграторы, я начинал с Excel. Для подготовки смет использовал большую таблицу со сложными формулами и базой примерно из тысячи позиций. В среднем приходилось делать от пяти до десяти смет в месяц. При этом значительная часть расчетов так и оставалась на стадии коммерческого предложения и до реализации не доходила.

О терминах «проект» и «смета»

Здесь и далее я использую слова «проект» и «смета» для удобства и по привычке — так их называю не только я, но и многие пользователи программы. Я знаю, что в нормативной документации по строительству эти термины имеют другое, строго определенное значение. Однако в контексте работы с программой привычные названия понятнее, чем специально придуманные термины.

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

Со временем его функциональность вышла далеко за рамки расчета стоимости оборудования. В приложении появились инструменты для проектирования щитов, настройки оборудования Wiren Board и конфигурирования Home Assistant. В результате калькулятор смет вырос в полноценный рабочий инструмент, который я использую в собственных проектах. Позднее он стал доступен и другим интеграторам. Ознакомиться с приложением можно по ссылке.

Проектирование щитов и подготовка документации

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

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

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

Интерфейс табличный. В его основе лежат горизонтальные связи между элементами системы. Пользователь собирает цепочку оборудования, начиная от аппаратов защиты и заканчивая потребителем. Например, в одной цепочке последовательно располагаются УЗО, автоматический выключатель, релейный модуль Wiren Board, клемма, кабель и блок розеток. Такая цепочка занимает одну строку в таблице. 

Если несколько линий подключаются к одному устройству, соответствующие ячейки можно объединять. Например, после одного УЗО можно установить несколько автоматических выключателей. В этом случае ячейка с УЗО растягивается на несколько строк с автоматами. Механизм работает по тому же принципу, что и объединение ячеек в Excel. 

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

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

Кроме сметы программа формирует кабельную карту — кабельный журнал в терминах СПДС. Она содержит информацию о подключениях, но отличается от классического кабельного журнала более удобным и понятным представлением. 

Проектирование силовых линий в ElectroSmeta
Проектирование силовых линий в ElectroSmeta
Дополнительные фото
Кабельная карта с группировкой линий по распределительным коробкам 
Кабельная карта с группировкой линий по распределительным коробкам 
Кабельная карта линий DC и линий управления 
Кабельная карта линий DC и линий управления 
Смета на электрощит с разбивкой по группам оборудования 
Смета на электрощит с разбивкой по группам оборудования 
Итоговая смета и график поэтапной оплаты 
Итоговая смета и график поэтапной оплаты 

Автоматическая настройка Wiren Board и Home Assistant

В приложении есть функции, которые помогают не только сконструировать щит, но и настроить оборудование Wiren Board. На основании имеющихся данных программа формирует bash-скрипт, который копируется в буфер обмена и запускается в терминале контроллера. После его выполнения настраивается сеть и служба времени, обновляется ПО контроллера и формируется конфигурация подключенного оборудования. 

Следующий этап — установка и настройка Home Assistant. Метод тот же: программа формирует скрипт, который запускается на контроллере. В результате все помещения и оборудование из проекта появляются в Home Assistant. 

После работы на объекте, где использовалось 114 клавиш, я добавил функцию исследования входов. Прозванивать 25 витых пар с общей маркировкой «выключатели» оказалось слишком трудоемко. Поэтому кабели от выключателей подключили к модулям WB-MCM8 в произвольном порядке. После этого монтажник последовательно нажимал выключатели, в интерфейсе отображался адрес входа, на котором произошло переключение, и его можно было привязать к нужному светильнику. 

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

Проектирование линий постоянного тока и подключение кнопок к WB-MCM8 
Проектирование линий постоянного тока и подключение кнопок к WB-MCM8 
Дополнительные фото
Закупка оборудования по проекту с разбивкой по поставщикам 
Закупка оборудования по проекту с разбивкой по поставщикам 
Изменение Modbus-адресов устройств на шине RS-485 
Изменение Modbus-адресов устройств на шине RS-485 
Настройка устройств Wiren Board по портам RS-485 
Настройка устройств Wiren Board по портам RS-485 
Подготовка маркировки автоматики и клемм с экспортом в PDF 
Подготовка маркировки автоматики и клемм с экспортом в PDF 

Заключение

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

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

Пока приложение работает в виде веб-сервиса. Сейчас я разрабатываю iOS-приложение с аналогичным функционалом, а также standalone-версию для macOS. В планах остается и создание англоязычного интерфейса.