105207879

Используем Max вместо Telegram

Внимание! В разработке и тестируется! 
Поскольку официальной интеграции Home Assistant с мессенджером MAX не существует, реализуем подключение через промежуточный механизм — HTTP‑веб‑хуки + скрипт‑прокладка. Ниже — полный пошаговый гайд.

Схема работы

  1. Home Assistant отправляет уведомления в скрипт‑прокладку (через HTTP).
  2. Скрипт‑прокладка пересылает сообщение в MAX Messenger (через его API/веб‑интерфейс).
  3. MAX Messenger доставляет уведомление пользователю.

Шаг 1. Подготовка сервера для скрипта‑прокладки

Вам понадобится:

  • сервер/VPS с публичным IP или доменом;
  • Python 3.8+;
  • доступ к API MAX Messenger (уточните у поддержки MAX).

Шаг 2. Создание скрипта‑прокладки (Python)

Создайте директорию для скрипта:

mkdir ~/max_notifier
cd ~/max_notifier
Создайте файл max_notifier.py:

from flask import Flask, request, jsonify
import requests
import logging

app = Flask(__name__)

# Настройки MAX Messenger (замените на реальные)
MAX_API_URL = "https://api.maxmessenger.com/v1/send"
MAX_TOKEN = "ваш_токен_max"
MAX_RECIPIENT = "id_получателя_в_max"

@app.route('/send', methods=['POST'])
def send_max_message():
try:
data = request.get_json()
message = data.get('message', 'Уведомление из Home Assistant')
title = data.get('title', 'HA Alert')

payload = {
"token": MAX_TOKEN,
"recipient": MAX_RECIPIENT,
"message": f"{title}\n{message}"
}

response = requests.post(MAX_API_URL, json=payload, timeout=10)
........
if response.status_code == 200:
return jsonify({"status": "success"}), 200
else:
return jsonify({"status": "error", "details": response.text}), response.sta

except Exception as e:
logging.error(f"Ошибка: {e}")
return jsonify({"status": "error", "details": str(e)}), 500

if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)

Для этого:
Чтобы получить токен для вашего бота в MAX, выполните следующие действия: 1. Откройте мессенджер MAX и найдите бота @MasterBot через поиск. 2. Начните с ним диалог. 3. Создайте нового бота, отправив команду /create. 4. При создании бота укажите: * Уникальный ник (начинается с латинской буквы, содержит цифры, заканчивается на bot/_bot, минимум 11 символов) * Имя бота (до 59 символов, можно использовать русский и латинский алфавит) 5. После создания бота вы автоматически получите токен. Для управления токеном используйте специальные команды в диалоге с @MasterBot: * /get_token — просмотреть текущий токен * /refresh_token — создать новый токен * /revoke — отозвать текущий токен Важно! Токен предоставляет полный доступ к боту. Храните его в безопасном месте и не передавайте третьим лицам. При компрометации токена немедленно отозвайте его и создайте новый. Пример токена: AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw


Как создать своего чат-бота в MAX?

Если вы являетесь физическим лицом, то создать собственного чат-бота в MAX не получится.

Если у вас зарегистрированы ООО или ИП и вы зарегистрированы на платформе МСП.РФ, вы можете создать чат-бота. Также создание чат-ботов доступно ООО или ИП при наличии размещённого приложения в RuStore.

Если у вас остались вопросы или возникли трудности, напишите на почту Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.


На данный момент создание ботов через @MasterBot действительно временно недоступно для обычных пользователей. Однако есть альтернативный способ — создание бота для бизнеса через Платформу партнёров:

* Кто может создать бота:
* Компании малого и среднего бизнеса (МСП)
* Индивидуальные предприниматели
* Юридические лица с приложениями в RuStore

Порядок действий:
1. Создайте и верифицируйте организацию в MAX
2. Получите доступ к Платформе для партнёров на business.max.ru
3. Создайте чат-бот через интерфейс платформы
4. После модерации получите токен в разделе «Чат-бот и мини-приложение»

Важно знать:
* Для физических лиц создание ботов временно приостановлено
* Токен выдаётся только после успешной модерации
* Публичная регистрация ботов будет возобновлена позже

Пока функция недоступна, вы можете:
* Подготовить сценарии работы бота
* Написать базу ответов
* Продумать структуру диалогов
* Подготовить визуальные материалы

Следите за официальными новостями платформы в боте MAX: web.max.ru/maxbot — там сообщат о возобновлении возможности создания ботов для обычных пользователей.

━━━━━━━━━━━━━━━━━━
На основе: github.com mx-radar.ru xn--80aakdatfmqiqnw.xn--p1ai

Установка зависимостей

pip install flask requests

Запуск скрипта

python max_notifier.py

Убедитесь, что порт 5000 открыт в фаерволе.

Шаг 3. Настройка Home Assistant

1. Добавьте веб‑хук в configuration.yaml

webhook: max_notifier: url: http://ВАШ_СЕРВЕР:5000/send method: POST content_type: application/json

2. Создайте сервис уведомлений (notify.yaml)

- name: max_messenger platform: rest resource: http://ВАШ_СЕРВЕР:5000/send method: POST headers: Content-Type: application/json data_template: '{"message": "{{ message }}", "title": "{{ title|default("HA Alert") }}"}'

Замените ВАШ_СЕРВЕР на IP/домен вашего сервера со скриптом.

Шаг 4. Пример автоматизации

Добавьте в automations.yaml:

automation: - alias: "Уведомление в MAX при движении" trigger: platform: state entity_id: binary_sensor.motion_living to: "on" action: - service: notify.max_messenger data: message: "Движение в гостиной! Время: {{ now().strftime('%H:%M') }}" title: "Охранная система"

Шаг 5. Тестирование

Перезапустите Home Assistant.
Вручную вызовите уведомление:
service:notify.max_messenger
  data:
   message: "Тест уведомления через MAX"
   title: "Проверка"
Проверьте, пришло ли сообщение в MAX Messenger.

 

Установите зависимости

sudo apt update

sudo apt install python3-pip
pip3 install flask requests

Шаг 5. Запустите скрипт

python3 max_notifier.py

Для фоновой работы используйте nohup или systemd (см. ниже).

Настройка автозапуска (systemd)

Создайте сервис‑файл:
sudo nano /etc/systemd/system/max_notifier.service
Вставьте конфигурацию:Замените user на имя вашего пользователя.
ini
[Unit] Description=MAX Messenger Notifier After=network.target [Service] ExecStart=/usr/bin/python3 /home/user/max_notifier/max_notifier.py WorkingDirectory=/home/user/max_notifier Restart=always User=user Group=user [Install] WantedBy=multi-user.target
Активируйте сервис:
sudo systemctl daemon-reexec sudo systemctl enable max_notifier.service sudo systemctl start max_notifier.service
Проверьте статус:
sudo systemctl status max_notifier.service

Важные моменты

Порт 5000
Убедитесь, что он открыт в фаерволе:
sudo ufw allow 5000
Для безопасности лучше сменить на другой порт (например, 8080) в скрипте и настройках HA.

 

Comments powered by CComment