Skip to main content
# 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 плагин для homebridge
https://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.pid
user 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 для homebridge


1. Скопировать файл 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` файл:
```bash
cat <<end > /home/alarm/autorun.sh
#!/bin/sh -
avahi-daemon &
sleep 10
nohup mosquitto -c /etc/mosquitto/mosquitto.conf -d &>> /home/alarm/mosquitto_log&
sleep 15
nohup homebridge &>> /home/alarm/homebridge_log &
sleep 15
nohup noolite_serve &>> /home/alarm/http-api-server_log &
end
```

Добавляем в `autorun.sh` в автозапуск:
```bash
cat <<end > /etc/systemd/system/autorun@root.service
[Unit]
Description=Homebridge
After=network.target
After=avahi-daemon.service

[Service]
Type=forking
User=%i
ExecStart=/home/alarm/autorun.sh

[Install]
WantedBy=multi-user.target
end
```
## Работа

Веб-интерфейс находится по адресу <ip_устройства>:8080

### Структура

Страница | Описание
---------- | --------
`/` | Страница для наглядного приема-передачи команд на силовые блоки
`/api.htm` | Параметры GET запроса по этому адресу будут переданы на USB-адаптер


Команды к USB-адаптеру можно выполнять либо самостоятельно формируя GET запросы на `/api.htm` с необходимыми параметрами, передваемыми в URL,
либо используя форму отправки запроса на `/` (_данная форма формирует и выполняет GET запросы на `/api.htm` с указанными в ней параметрами_)

Release files for noolite-mqtt-webserver 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for noolite-mqtt-webserver 0.1.2
File Size Uploaded
noolite-mqtt-webserver-0.1.2.tar.gz 504.5 kB Details

Release files / noolite-mqtt-webserver-0.1.2.tar.gz

Download URL noolite-mqtt-webserver-0.1.2.tar.gz
Size 504.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d320ce5b51d3ca57f9ba793625ada3966d8cb5e194b0e1298725a5822e313b95
BLAKE2b-256 checksum
How to use checksums
02f8eb5ab93aecf7d82b3f89989fe38a786f9eba60c093844e62f1992997f44b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.2 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page