Настройка ПО Абром
ПО Абром можно использовать с веб интерфейсом или без. Второй вариант подразумевает менее удобную настройку, но занимает меньше места на вашем контроллере. Веб интерфейс устанавливается отдельно, подробнее ниже.
Мы будем использовать следующие определения:
- логика - скрипт управления вашими устройствами. Например HEAT для создания логики термостата. IRCONDITIONER для создания логики кондиционера и т.д.
- контрол - панель управления созданной логикой. Например сам термостат или кондиционер.
- WEB UI - веб интерфейс
ПО с WEB UI. Все настройки логик производятся непосредственно в веб интерфейсе, управление контролами доступно в веб интерфейсе Abrom и в веб интерфейсе Wirenboard.
ПО без WEB UI. Все настройки логик в файле "config.yaml", управление контролами доступно только в веб интерфейсе Wirenboard.
Установка ПО Абром
Создаем SSH подключение с помощью программы putty или через аналогичное приложение
Скачиваем скрипт установки:
wget --user abrom --password abromlogic http://185.185.69.19/install_v2.sh
Предоставляем права файлу на редактирование:
chmod +x install_v2.sh
Запускаем установку бэкенда:
./install_v2.sh backend
Запускаем установку веб интерфейса
- фронт в данный момент недоступен для скачивания. Подробности можно узнать у менеджера в телеграм @abrom_tech
ПО с WEB UI
пока в тестировании, не доступно для установки
ПО без 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. Переходим в веб интерфейс контроллера
В браузере пишем в поисковой строке адрес контроллера. В веб интерфейсе переходим во вкладку (->Устройства)
