Package: noolite-mqtt-webserver
# NooLite MQTT Web ServerВеб интерфейс для работы с noolite устройсвами через MQTT протокол## УстановкаДля установки проекта нужен Python 3.5+ и pip### Из репозиторияВ системе должны быть установлены:- pip для третий версии python- git```bash$ pip3 install git+https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server```К примеру установка проекта на ArchLinux будет выглядеть следующим образом:```bash# Устанавливаем необходимые пакеты$ pacman -S python python-pip git# Устанавливаем noolite_api$ pip3 install git+https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server```### Из исходников```bash# Клонируем репозиторий$ git clone https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server# Заходим в созданную папку репозитория$ cd noolite-mqtt-web-server# Устанавливаем сервер$ python setup.py install```### Настройка MQTT плагина для Homebridge```bash# Устанавливаем MQTT плагин для homebridgehttps://www.npmjs.com/package/homebridge-mqtt# Добавляем в конфиг файл homebridge (config.json) параметры для подключения к MQTT{"platform": "mqtt","name": "mqtt","url": "mqtt://127.0.0.1","topic_type": "multiple","topic_prefix": "homebridge","username": "foo","password": "bar"}# Устанавливаем MQTT брокер mosquitto. в дальнейшем запускать не от админа$ pacman -Sy$ pacman -S mosquitto# Настраиваем конфигурационный файл (mosquitto.conf)nano /etc/mosquitto/mosquitto.confДобавляем строкиpid_file /var/run/mosquitto.piduser alarm# Добавляем кастомные характеристики$ nano /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js$ cp HomeKitTypes-NooLite.js /usr/lib/node_modules/homebridge/node_modules/```## Характеристики NooLite для homebridge1. Скопировать файл HomeKitTypes-NooLite.js из корня репозитория в /<путь до корня homebridge>/node_modules/hap-nodejs/lib/gen/Например `cp HomeKitTypes-NooLite.js /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/`2. Добавить строчку `var HomeKitTypesCustom = require('./HomeKitTypes-NooLite');` в конец файла /<путь до корня homebridge>/node_modules/hap-nodejs/lib/gen/HomeKitTypes.jsМожет быть здесь `nano /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js `## Запуск```$ noolite_web_server```## АвтозапускСоздаем `autorun.sh` файл:```bashcat <<end > /home/alarm/autorun.sh#!/bin/sh -avahi-daemon &sleep 10nohup mosquitto -c /etc/mosquitto/mosquitto.conf -d &>> /home/alarm/mosquitto_log&sleep 15nohup homebridge &>> /home/alarm/homebridge_log &sleep 15nohup noolite_serve &>> /home/alarm/http-api-server_log &end```Добавляем в `autorun.sh` в автозапуск:```bashcat <<end > /etc/systemd/system/autorun@root.service[Unit]Description=HomebridgeAfter=network.targetAfter=avahi-daemon.service[Service]Type=forkingUser=%iExecStart=/home/alarm/autorun.sh[Install]WantedBy=multi-user.targetend```## РаботаВеб-интерфейс находится по адресу <ip_устройства>:8080### СтруктураСтраница   | Описание---------- | --------`/`        | Страница для наглядного приема-передачи команд на силовые блоки`/api.htm` | Параметры GET запроса по этому адресу будут переданы на USB-адаптерКоманды к USB-адаптеру можно выполнять либо самостоятельно формируя GET запросы на `/api.htm` с необходимыми параметрами, передваемыми в URL,либо используя форму отправки запроса на `/` (_данная форма формирует и выполняет GET запросы на `/api.htm` с указанными в ней параметрами_)