Настраиваем уведомление в телеграм через Homebridge

13 ноября 2018, 17:10

1. Настроим Homebridge

Доброго времени суток, уважаемые читатели. Пропустим цикл статей про установку и настройку Homebridge на Raspberry, и сразу перейдем к нашему делу. Подключаемся по SSH к "малине" и устанавливаем плагин:

sudo npm install -g homebridge-telegram
Аналогичную операцию так же можно сделать через WebUI - плагины - Homebridge telegram - установить
Теперь нам нужен бот, который и будет отправлять нам уведомления. Для этого в Telegram пишем @BotFather:

 /newbot - создадим бота

На первом вопросе дадим имя нашему боту (абсолютно любое, всегда можно изменить)

На втором вопросе нужно придумать логин (писать без @), уникальное имя, оканчиваться должно на "bot" (к примеру - @myhomebestbot)

После этого получим токен бота, ниже пример:

>Done! Congratulations on your new bot. You will find it at t.me/dafanghallbot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.

Use this token to access the HTTP API:
743280324:AAFzR0_q3CYcah1Pc_E1S_S5qqrd8sy9jJc

For a description of the Bot API, see this page: https://core.telegram.org/bots/api

743280324:AAFzR0_q3CYcah1Pc_E1S_S5qqrd8sy9jJc - это и есть наш токен.

Возвращаемся к конфигурации Homebridge. 

Это моя конфигурация, у вашей будет другой токен (не забудьте заменить на тот что получили ранее), и ваш текст для команд:

        {
            "platform": "Telegram",
            "bots": [
                {
                    "name": "Home TG",
                    "token": "714638720:AAGoJeNswoxZUgK79X45oHEIkbeDWB-iO71",
                    "chat": "-1001321255153",
                    "error": "Something broken. I'm shutting down.",
                    "notifications": {
                        "Влажность Ficus минус": {
                            "mode": "Markdown",
                            "randomize": true,
                            "messages": [
                                "Ficus elastica сообщает, что нуждается в поливке",
                                "Ficus elastica просит подлить",
                                "Ficus elastica засыхает"
                            ]
                        },
                        "Влажность Clivia минус": {
                            "mode": "Markdown",
                            "randomize": true,
                            "messages": [
                                "Clivia miniata сообщает, что нуждается в поливке",
                                "Clivia miniata просит подлить",
                                "Clivia miniata засыхает"
                            ]
                        },
                        "Влажность плюс": {
                            "mode": "Markdown",
                            "randomize": true,
                            "messages": [
                                "? Ficus elastica спасибо за полив!",
                                "? Ficus elastica Этого хватит на 2 недели!",
                                "? Ficus elastica спасибо!"
                            ]
                        },
                        "Вода тема минус": {
                            "mode": "Markdown",
                            "randomize": true,
                            "messages": [
                                "⚙️ В увлажнителе в детской заканчивается вода ? "
                            ]
                        },
                        "Вода спальня минус": {
                            "mode": "Markdown",
                            "randomize": true,
                            "messages": [
                                "В увлажнителе в спальне заканчивается вода"
                            ]
                        },
                        "Свободу котам": {
                            "mode": "Markdown",
                            "randomize": true,
                            "messages": [
                                "Открой дверь котам"
                            ]
                        }
                    }
                }
            ]
        }

Теперь разберем нужные нам пункты.

name - имя устройства в HomeKit

token - мы получили ранее

chat - ID чата, в который бот будет присылать уведомления. Что бы получить ID чата, добавьте в свой созданный чат @GiveChatID_Bot и напишите в чате /chatid. Не забудьте - (минус) перед ID, это важно для любого чата

randomize - если установлено true, будет присылать случайное сообщение из раздела (не из всех)

Влажность Ficus минус - Название опции для HomeKit, которую мы будем выбирать для наших уведомлений. Может быть несколько, а в общем то, сколько вам необходимо

"Ficus elastica сообщает, что нуждается в поливке" - собственно, сообщение, которое нам будет присылать бот. Можно использовать эмодзи. Так же можно изменять текст сообщений в любое время, не перезапуская Homebridge. Можно оставить одно сообщение.

Теперь сохраняем конфигурацию, и перезапускаем Homebridge:

sudo systemctl restart homebridge

После перезапуска, как обычно в "Комната по умолчанию", увидим наше устройство (name - имя устройства в HomeKit), которое пока не поддерживается программой Дом, но отлично работает в Elgato Eve.


2. Создадим правила

Далее создадим сценарий, который будет выполняться при наших условиях:

В качестве устройства, выполняющего сценарий, выберем наше новой устройство, и отметим раздел, из которого хотим получать сообщения.

Собственно, а как использовать то? - спросите вы. Сейчас разберемся:

Создадим правило (автоматизация) в Elgato Eve. Настраивать будем на моем примере, а ваша задача, попробовать настроить свой. Моя автоматизация отправляет уведомление если в ванной комнате никого нет, а дверь закрыта. В ванной у кошек туалет.

Выберем триггер:

Ванна дверь = закрыто

Поставим условия, исключающие эту автоматизацию, если в ванной кто-то есть:

Только если Свет в ванной = выкл

Только если Движение в ванной = нет

Собственно при таких условиях находится в ванной проблематично, поэтому будем считать что этого достаточно. В моем примере вместо Свет в ванной = выкл выбран уровень освещенности:

Далее создадим сценарий, и в качестве устройства, которое будем включать, выберем наше новое устройство, и отметим раздел, из которого мы хотим получать сообщения:

На этом настройка окончена. В следующей статье мы научим работать Telegram для малины в Российских реалиях на примере роутера Zyxel.


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Евгений Лузин (EvLuz)
    Евгений Лузин (EvLuz) 8 месяцев назад

    Спасибо, но вторая будет интересней, так как наши реалии - это пока 😥 интересно обойти из.

  2. Олег Челбаев (sprut)
    Олег Челбаев (sprut) 8 месяцев назад

    Поздравляю с дебютом ;)

  3. (alex3g)
    (alex3g) отредактировано 8 месяцев назад
    Комментарий был удален
К списку статей

Похожие статьи

15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
04 апреля 2019, 17:48
Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
25 ноября 2018, 18:23
Умное зеркало добавляем модули Airplay и Google Calendar
30 июня 2018, 12:17
Добавляем устройства управляемые по ИК через Broadlink RM3 Mini на примере кондиционера.
25 сентября 2018, 07:06
Делаем умный замок с интеграцией в HomeKit