Настройка ПО Абром Софт
ПО Абром Софт можно использовать с веб интерфейсом или без него.
Помощь в настройке - телеграм @abrom_tech далее будете перенаправлены в тематическую группу
Мы будем использовать следующие определения:
- логика - скрипт управления вашими устройствами. Например HEAT для создания логики термостата. IRCONDITIONER для создания логики кондиционера и т.д.
- контрол - панель управления созданной логикой. Например сам термостат или кондиционер.
- WEB UI - веб интерфейс
ПО с WEB UI. Все настройки логик производятся непосредственно в веб интерфейсе, управление контролами доступно в веб интерфейсе Abrom и в веб интерфейсе Wirenboard.
ПО без WEB UI. Все настройки логик в файле "config.yaml", управление контролами доступно только в веб интерфейсе Wirenboard.
Установка ПО Абром Софт
Создаем SSH подключение с помощью программы putty или через аналогичное приложение
Шаг 1. Запускаем скрипт установки:
curl -fsSL -u abrom:abromlogic https://get.abrom.ru/install_AbromSoft.sh | bash
Автоматически скачается файл config.yaml с небольшим примером правила
Шаг 2. Переходим к настройке системы, по ссылке доступны Примеры правил
Правила хранятся в файле config.yaml Вы можете редактировать его в любом редакторе или воспользоваться сервисным меню настроек правил в веб интерфейсе Абром.
Также можно воспользоваться редактором из веб интерфейса.
(Храните копии файла config.yaml для избежания недоразумений, также этот файл используется в качестве резервной копии или для переноса скриптов на другой контроллер)
Шаг 6. После настройки правил необходимо применить изменения. Воспользуйтесь любым вариантом:
- Перезагрузите сервис (systemctl restart AbromSoft)
- или нажмите на "Сохранить" в интерфейсе ПО Абром
- или Включите свитч reload в устройстве abrom в WEB UI Wirenboard
Работа с сервисом и удаление ПО
Скрипт установки автоматически скачивает и добавляет сервис AromSoft2.service
Команды для работы с сервисом
systemctl status AbromSoft
systemctl restart AbromSoft
systemctl stop AbromSoft
Для удаления ПО с вашего контроллера
- удалите папку abromLogic (в директории mnt/data)
- сервис AbromSoft.service (в дииректории etc/systemd/system)
- скрипт установки install_AbromSoft.sh (в ~root)
ПО будет полностью удалено с вашего контроллера. Просим написать причину удаления ПО Абром в tg @abrom_tech
Обновление ПО
Для обновления достаточно заменить файл abromLogic-0.2-beta-all.jar на новый
ПО с WEB UI
Веб интерфейс доступен по следующему адресу (замените ip_adress на актуальный адрес контроллера)
http://ip_adress:4000/
Главная страница со списком настроенных правил, отражает список правил из config.yaml

Файл config.yaml можно править из интерфейса (кнопка "дополнительно" -> Настройки )

На странице Устройства отображены все доступные контролы. Контролы также продублированы в Web UI Wirenboard

ПО без WEB UI
Основным нашим файлом будет "config.yaml", расположенный в директории abromSoftware.
config.yaml - распространенный вариант хранения конфигов. В нашем примере конфиг состоит из типов правил, каждый тип правил состоит из параметров.
Информации много, поэтому советуем настройку выполнять в следующей последовательности:
- определиться с 1 задачей и узнать топики всех устройств. Хочу управлять светом по кнопке. Свет - "wb-mr6c_72/K2", Кнопка - "wb-gpio/EXT1_IN14"
- Ищем в списке типов правил подходящий под нашу задачу. Для нашего примера подойдет switchButton
- открываем стандартный файл config.yaml и ищем заполненный шаблон для типа switchButton
- В заполненном шаблоне можно интуитивно понять какой параметр за что отвечает. Описание параметров каждого типа правила ниже.
- редактируем и запускаем.
Пример типа правила с заполненными параметрами:
switchButton:
- name: 114s_72k2_street
topic: wb-gpio/EXT1_IN14
rules:
- outputTopics: ['wb-mr6c_72/K2']
onCondition: '{wb-mr6c_72/K2} == 1'
onValue: 1
offValue: 0
onDelayMillis: 0
offDelayMillis: 0
tapType: SINGLE
ПО Абром поддерживает следующие типы правил:
- switchButton - для привязки выключателей к осветительным приборам или дргугим устройствам
- conditionButton - для привязки изменения топика к осветительным приборам или дргугим устройствам
- led - диммирование света по кнопке
- rgb - переливание rgb света
- floor - логика термостата. После создания данной логики появляется контрол
- irConditioner - логика для ИК кондиционера. После создания данной логики появляется контрол
- custom - для создания простых логик. Если "выражение", отправка состояния
- scenario - логика для создания сложных логик. Исполнение полноценного кода на javascript
- telegram - телеграм оповещения
- watering - логика автополива
Описание параметров каждого типа правила:
switchButton: # тип switchButton для привязки света к кнопке
- name: 114s_72k2_street # название правила
topic: wb-gpio/EXT1_IN14 # топик выключателя
rules:
- outputTopics: ['wb-mr6c_72/K2'] # управляемые группы реле
onCondition: '{wb-mr6c_72/K2} == 1' # важный параметр для синхронизации правила с другими триггерами. Так правило понимает что свет включен когда ==1 или штора открыта когда ее ползунок > 80% и т.д.
onValue: 1 # значение на включение
offValue: 0 # значение на выключение
onDelayMillis: 0 # задержка на включение
offDelayMillis: 0 # задержка на выключение
tapType: SINGLE # тип нажатия. SINGLE - одинарное нажатие, DOUBLE - двойное нажатие, HOLD - удерживание.
conditionButton: # тип conditionButton для фиксирования изменения топика, можно ипользовать для привязки входа одного модуля реле к реле другого модуля.
- name: 121i3_121ch1ch2_garderobmaster
outputTopics: ['wb-led_121/Channel 1', 'wb-led_121/Channel 2']
onCondition: '{wb-led_121/Channel 1}==1 || {wb-led_121/Channel 2}==1' # важный параметр для синхронизации правила с другими триггерами. Так правило понимает что свет включен когда ==1 или штора открыта когда ее ползунок > 80% и т.д.
onValue: 1
offValue: 0
onDelayMillis: 0
offDelayMillis: 0
changeCondition: 'changed({wb-led_121/Input 3 Counter})' # топик, изменение которого вызывает правило
floor:
- name: a202f233_r21_toilet1nd
relays: ['wb-gpio/EXT2_K1'] # реле, которое непосредственно обогревает. Сервопривод отопления, электрический ТП, радиатор и т.д.
floorTemp: 'wb-m1w2_233/External Sensor 1' # датчик температуры пола. Можно не использовать для водяного теплого пола
roomTemp: 'wb-m1w2_202/External Sensor 1' # датчик температуры воздуха. Можно не использовать, будет доступен режим по таймеру
inverted: true # для электрического ТП значение false, для НО Сервопривода значение true
isWater: true # водяной или электрический обогреватель. Этот параметри определяет нужно ли использовать датчик пола.
irConditioner:
- name: aс_160_girlroom
device: 'wb-mir_v2_160' # топик ИК устройства
roomTemp: '' # топик датчика температуры воздуха
conditionerTemp: 'wb-mir_v2_160/External Temperature Sensor' # топик датчика температуры кондиционера
custom:
- name: powersupply_autoON_1st
isWithState: false
onCondition: '{wb-led_177/Channel 1}+{wb-led_177/Channel 2}+{wb-led_177/Channel 3}+{wb-led_179/Channel 3}>=1'
onDelay: 0
onMessage: "1"
outputTopics: ['wb-mr6cv3_145/K2', 'wb-mr6cv3_145/K3']
Работа с ПО через веб интерфейс Wirenboard
1. Переходим в веб интерфейс контроллера
В браузере пишем в поисковой строке адрес контроллера. В веб интерфейсе переходим во вкладку (->Устройства)

Удаленный доступ к ПО Абром через wirenboard cloud.
Шаг 1: Скачиваем конфиг
wget --user abrom --password abromlogic https://get.abrom.ru/abromRemote.conf -P /etc/nginx/includes/default.wb.d/
Шаг 2: перезагружаем сервис
systemctl restart nginx
Далее переходим к веб интерфейсу ПО Абром через wirenboard cloud. Пример url ниже, необходимо добавить abromRemote, закрывающий слеш "/" обязательный
https://ax6xxuxx.http.wirenboard.cloud/abromRemote/