# Notify.Events для Homebridge

[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
![npm](https://img.shields.io/npm/v/homebridge-notifyevents)
![npm](https://img.shields.io/npm/dw/homebridge-notifyevents)

Интеграция позволяет отправлять уведомления от умных устройств, подключенных к Homebridge в [40+ мессенджеров и другие средства связи](https://notify.events/#sRecipients).

Получайте мгновенные оповещения в Telegram, Viber, Zoom, Signal, VK, Discord, по SMS, в виде push-уведомлений и другими способами. Применяйте простое форматирование текста, назначайте уведомлениям уровень и приоритет, задавайте фильтрацию по времени, чтобы сортировать сообщения от умных устройств и направлять их нужному члену семьи.

Посмотрите полный список поддерживаемых мессенджеров [здесь](https://notify.events/features).

#### Инструкция на других языках

- [English](../../README.md)

## Notify.Events конфигурация

1. Зарегистрируйтесь в сервисе [Notify.Events](https://notify.events/user/sign-in)
2. Создайте канал
3. Добавьте [источник Homebridge](https://notify.events/source/homebridge) в ваш канал
4. Скопируйте токен и сохраните интеграцию

## Установка

Перед установкой этого плагина вам необходимо установить Homebridge используя [официальную инструкцию](https://github.com/homebridge/homebridge/wiki).

### Установка через Homebridge Config UI X

1. Введите `Notify.Events` в строку поиска плагинов в интерфейсе плагина [Config UI X](https://www.npmjs.com/package/homebridge-config-ui-x).
2. Установите `Notify.Events` плагин и используйте форму для формирования accessories.

### Ручная установка

1. Установите плагин используя команду: `sudo npm install -g homebridge-notifyevents`.
2. Измените `config.json` для добавления записи о нотификации. Посмотрите инструкцию ниже.

## Конфигурация

### Конфигурация платформы

| Параметр | Обязателен | Описание                                                                |
|----------|------------|-------------------------------------------------------------------------|
| action   | да         | [Конфигурация обработчика действий](#Конфигурация-обработчика-действий) |
| channels | да         | [Список каналов Notify.Events](#Конфигурация-канала)                    |

### Конфигурация обработчика действий

Все созданные Действия становятся кнопками, которые вы увидите в уведомлении, чтобы дать вам возможность отреагировать на событие прямо из чата.

После того, как вы нажмете одну из этих кнопок, Notify.Events вызовет событие в Homebridge, которое вы можете использовать в качестве триггера для своей автоматизации.

Для того, что бы Notify.Events мог взаимодействовать с Homebridge вам необходимо включить поддержку действий и настроить обработчик:

| Параметр | Обязателен        | Описание                                                                                   |
|----------|-------------------|--------------------------------------------------------------------------------------------|
| enabled  |                   | Включена поддержка действий                                                                |
| listen   | да (если enabled) | Адрес сервера (укажите "0.0.0.0" (IPv4) или "::" (IPv6) для прослушивания всех интерфейсов |
| port     | да (если enabled) | Порт сервера                                                                               |
| host     | да (если enabled) | Адрес вашего сервера                                                                       |
| path     | да (если enabled) | Путь обратного запроса действия                                                            |

**Внимание**: Убедитесь, что ваш Homebridge сервер доступен через интеренет по указанному адресу.

### Конфигурация канала

| Параметр | Обязателен  | Описание                                                  |
|----------|-------------|-----------------------------------------------------------|
| title    | да          | Название канала                                           |
| token    | да          | [Токен канала Notify.Events](#Notify.Events-конфигурация) |
| messages | да          | [Список сообщений](#Конфигурация-сообщения-(аксессуара))  |

### Конфигурация сообщения (аксессуара)

| Параметр | Обязателен | Описание                                                                       |
|----------|------------|--------------------------------------------------------------------------------|
| name     | да         | Название аксессуара                                                            |
| text     | да         | Текст сообщения (допустимые html теги: `<b>`, `<i>`, `<a href="">`, `<br>`)    |
| priority |            | Приоритет сообщения (`highest`, `high`, `normal`, `low`, `lowest`)             |
| level    |            | Уровень сообщения (`verbose`, `info`, `notice`, `warning`, `error`, `success`) |
| images   |            | [Список избражений](#Конфигурация-изображения--файла)                          |
| files    |            | [Список файлов](#Конфигурация-изображения--файла)                              |
| actions  |            | [Список действий](#Конфигурация-действия-(аксессуара))                         |

### Конфигурация изображения / файла

| Параметр | Обязателен | Описание                     |
|----------|------------|------------------------------|
| filename | да         | Имя и путь Файла/Изображения |


### Конфигурация действия (аксессуара)

| Параметр | Обязателен | Описание                   |
|----------|------------|----------------------------|
| name     | да         | Название аксессуара        |
| title    | да         | Название действия (кнопки) |

### Пример записи в `config.json`:

```json
{
    "platforms": [
        {
            "platform": "NotifyEvents",
            "action": {
                "enabled": true,
                "listen": "0.0.0.0",
                "port": 53535,
                "host": "<your-homebridge-host>",
                "path": "/"
            },
            "channels": [
                {
                    "title": "My Channel",
                    "token": "<your-notifyevents-token>",
                    "messages": [
                        {
                            "name": "My Message",
                            "title": "My Message Title",
                            "text": "Hello <b>Dolly</b>",
                            "priority": "normal",
                            "level": "info",
                            "images": [
                                {
                                    "filename": "/tmp/1.jpg"
                                }
                            ],
                            "files": [
                                {
                                    "filename": "/tmp/1.txt"
                                }
                            ],
                            "actions": [
                                {
                                    "name": "My Action",
                                    "title": "Click Me"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
```
