Перейти к содержимому

← Руководство MQTT | Содержание

12. Интеграция с Home Assistant

Version: 1.2.0
Date: 2025-12-24

Полное руководство по интеграции ACRouter с Home Assistant через MQTT Auto-Discovery.




Содержание




Обзор

ACRouter поддерживает MQTT Auto-Discovery — Home Assistant автоматически создаёт все объекты при подключении устройства. Ручная настройка YAML не требуется!


Возможности

  • Автоматическое создание устройства и объектов
  • Датчики мониторинга мощности в реальном времени
  • Управление выбором режима
  • Настройка параметров (усиление, порог)
  • Кнопка аварийного отключения
  • Отслеживание доступности (онлайн/офлайн)
  • Группировка устройств с информацией о производителе



Предварительные требования

  1. Home Assistant — установлен и запущен
  2. MQTT-брокер (рекомендуется Mosquitto):
  3. можно использовать дополнение Mosquitto для Home Assistant
  4. или внешний брокер
  5. Интеграция MQTT — настроена в Home Assistant
  6. ACRouter — с включённым MQTT



Настройка


Шаг 1: Установка MQTT-брокера

Вариант А: Дополнение Home Assistant (рекомендуется)

  1. Перейдите в Настройки > Дополнения > Магазин дополнений
  2. Search for "Mosquitto broker"
  3. Нажмите «Установить»
  4. Запустите дополнение
  5. Задайте учётные данные в конфигурации дополнения

Вариант Б: Внешний брокер

Смотрите 11_MQTT_GUIDE_RU.md для настройки Mosquitto. Шаг 2: Настройка интеграции MQTT Перейдите в Настройки > Устройства и службы


Нажмите «Добавить интеграцию»

  1. Найдите «MQTT»
  2. Click "Add Integration"
  3. Search for "MQTT"
  4. Порт: 1883
  5. Логин/пароль (если настроены)
  6. Шаг 3: Настройка ACRouter
  7. Через Serial-консоль:


bash

📋 Copy

# Задать URL брокера mqtt-broker mqtt://192.168.1.10:1883 # Задать учётные данные (если требуется) mqtt-user homeassistant mqtt-pass your_password # Задать удобное имя устройства mqtt-device-name "Солнечный роутер" # Убедиться, что HA Discovery включён mqtt-ha-discovery 1 # Включить MQTT mqtt-enable
# Set broker URL
mqtt-broker mqtt://192.168.1.10:1883

# Set credentials (if required)
mqtt-user homeassistant
mqtt-pass your_password

# Set friendly device name
mqtt-device-name "Solar Router"

# Ensure HA Discovery is enabled
mqtt-ha-discovery 1

# Enable MQTT
mqtt-enable


Найдите устройство «ACRouter Solar»

  1. Все объекты должны создаться автоматически
  2. Look for "ACRouter Solar" device
  3. Датчики



Автообнаруживаемые объекты


Описание

Единица Класс устройства sensor.acrouter_grid_power Мощность импорта/экспорта из сети
Вт power sensor.acrouter_solar_power Мощность генерации солнечных панелей
Вт power sensor.acrouter_solar_power Мощность генерации солнечных панелей
Вт power sensor.acrouter_solar_power Мощность генерации солнечных панелей
В voltage sensor.acrouter_dimmer Уровень диммера
% sensor.acrouter_wifi_signal Уровень сигнала WiFi
дБм signal_strength Выбор (Select) Объект


Описание

Единица Класс устройства Режим работы роутера
off, auto, eco, offgrid, manual, boost Числовые параметры (Number) Объект


Описание

Единица Класс устройства Коэффициент усиления P-регулятора
10–1000 number.acrouter_balance_threshold Зона нечувствительности баланса
0–1000 Вт number.acrouter_manual_level Уровень диммера в ручном режиме
0–100% Кнопки Объект


Описание

Единица Класс устройства
button.acrouter_reboot Перезагрузить устройство
button.acrouter_refresh Принудительное обновление данных
Информация об устройстве Все объекты сгруппированы под одним устройством:


Имя: ACRouter Solar (или пользовательское имя)

Производитель: RBdimmer

  • Модель: ACRouter
  • Версия ПО: 1.2.0
  • URL конфигурации: http://ip_устройства
  • Пример панели управления
  • YAML карточки Lovelace



Пример панели управления


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
type: entities
title: ACRouter Home Assistant Integration Guide — MQTT
entities:
  - entity: select.acrouter_router_mode
    name: Mode
  - entity: sensor.acrouter_dimmer
    name: Dimmer Level
  - type: divider
  - entity: sensor.acrouter_grid_power
    name: Grid Power
  - entity: sensor.acrouter_solar_power
    name: Solar Power
  - entity: sensor.acrouter_load_power
    name: Load Power
  - type: divider
  - entity: sensor.acrouter_voltage
    name: Voltage
  - entity: sensor.acrouter_wifi_signal
    name: WiFi Signal


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
type: gauge
entity: sensor.acrouter_grid_power
name: Grid Power
min: -3000
max: 3000
severity:
  green: -3000
  yellow: 0
  red: 500


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
type: horizontal-stack
cards:
  - type: button
    entity: button.acrouter_emergency_stop
    name: STOP
    icon: mdi:stop
    tap_action:
      action: call-service
      service: button.press
      target:
        entity_id: button.acrouter_emergency_stop
    show_state: false
  - type: button
    entity: button.acrouter_reboot
    name: Reboot
    icon: mdi:restart
    tap_action:
      action: call-service
      service: button.press
      target:
        entity_id: button.acrouter_reboot
    show_state: false


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
title: ACRouter Home Assistant Integration Guide — MQTT
views:
  - title: Overview
    cards:
      - type: vertical-stack
        cards:
          - type: entities
            title: Status
            entities:
              - entity: select.acrouter_router_mode
              - entity: sensor.acrouter_dimmer
              - entity: sensor.acrouter_voltage

          - type: glance
            title: Power
            entities:
              - entity: sensor.acrouter_grid_power
                name: Grid
              - entity: sensor.acrouter_solar_power
                name: Solar
              - entity: sensor.acrouter_load_power
                name: Load

          - type: entities
            title: Settings
            entities:
              - entity: number.acrouter_control_gain
              - entity: number.acrouter_balance_threshold
              - entity: number.acrouter_manual_level

          - type: horizontal-stack
            cards:
              - type: button
                entity: button.acrouter_emergency_stop
                name: Emergency Stop
                icon: mdi:stop-circle
              - type: button
                entity: button.acrouter_refresh
                name: Refresh
                icon: mdi:refresh



Автоматизации


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
alias: "Solar Router - Night Boost"
description: Integrate ACRouter solar power router with Home Assistant via MQTT. Covers MQTT discovery, energy dashboard, automations, and Lovelace dashboard cards.
trigger:
  - platform: time
    at: "23:00:00"
action:
  - service: select.select_option
    target:
      entity_id: select.acrouter_router_mode
    data:
      option: "boost"
mode: single


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
alias: "Solar Router - Morning Auto"
description: Integrate ACRouter solar power router with Home Assistant via MQTT. Covers MQTT discovery, energy dashboard, automations, and Lovelace dashboard cards.
trigger:
  - platform: time
    at: "07:00:00"
action:
  - service: select.select_option
    target:
      entity_id: select.acrouter_router_mode
    data:
      option: "auto"
mode: single


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
alias: "Solar Router - Emergency High Power"
description: Integrate ACRouter solar power router with Home Assistant via MQTT. Covers MQTT discovery, energy dashboard, automations, and Lovelace dashboard cards.
trigger:
  - platform: numeric_state
    entity_id: sensor.acrouter_load_power
    above: 3000
    for:
      seconds: 10
action:
  - service: button.press
    target:
      entity_id: button.acrouter_emergency_stop
  - service: notify.mobile_app
    data:
      message: "ACRouter emergency stop triggered - load exceeded 3000W"
mode: single


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
alias: "Solar Router - Offline Alert"
description: Integrate ACRouter solar power router with Home Assistant via MQTT. Covers MQTT discovery, energy dashboard, automations, and Lovelace dashboard cards.
trigger:
  - platform: state
    entity_id: select.acrouter_router_mode
    to: "unavailable"
    for:
      minutes: 5
action:
  - service: notify.mobile_app
    data:
      message: "ACRouter is offline!"
      title: "Solar Router Alert"
mode: single


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
alias: "Solar Router - Auto Enable on Surplus"
description: Integrate ACRouter solar power router with Home Assistant via MQTT. Covers MQTT discovery, energy dashboard, automations, and Lovelace dashboard cards.
trigger:
  - platform: numeric_state
    entity_id: sensor.acrouter_grid_power
    below: -100
    for:
      minutes: 1
condition:
  - condition: state
    entity_id: select.acrouter_router_mode
    state: "off"
action:
  - service: select.select_option
    target:
      entity_id: select.acrouter_router_mode
    data:
      option: "auto"
mode: single



Панель энергопотребления


Перейдите в Настройки > Панели управления > Энергия

Добавьте потребление из сети: sensor.acrouter_grid_power (при положительном значении)

  1. Добавьте выработку солнечной электростанции: sensor.acrouter_solar_power
  2. Примечание: Панель энергопотребления требует датчики энергии (кВт·ч), а не мощности (Вт). Возможно, потребуется создать шаблонные датчики или использовать вспомогательные интеграции.
  3. Шаблонный датчик энергии (необязательно)

yaml


📋 Copy

type: entities title: ACRouter — Управление entities: - entity: select.acrouter_router_mode name: Режим - entity: sensor.acrouter_dimmer name: Уровень диммера - type: divider - entity: sensor.acrouter_grid_power name: Мощность сети - entity: sensor.acrouter_solar_power name: Мощность солнечных панелей - entity: sensor.acrouter_load_power name: Мощность нагрузки - type: divider - entity: sensor.acrouter_voltage name: Напряжение - entity: sensor.acrouter_wifi_signal name: Сигнал WiFi
# configuration.yaml
template:
  - sensor:
      - name: "ACRouter Grid Import Energy"
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total_increasing
        state: >
          {% set power = states('sensor.acrouter_grid_power') | float(0) %}
          {% if power > 0 %}
            {{ (power / 1000) | round(3) }}
          {% else %}
            0
          {% endif %}



Устранение неполадок


Проверьте HA Discovery: bash mqtt-ha-discovery 1 mqtt-publish

  1. Check MQTT connection:
    bash mqtt-status
    Should show State: Connected

  2. Check HA Discovery enabled:
    bash mqtt-ha-discovery 1 mqtt-publish

  3. Нажмите «Настроить» > Проверьте настройки брокера

  4. Перезапустите обнаружение: bash mqtt-reconnect
  5. Click "Configure" > Check broker settings

  6. Restart discovery:
    bash mqtt-reconnect


Entities Show "Unavailable"

  1. Должно быть online
  2. Проверьте WiFi-подключение: bash wifi-status
  3. Проверьте подключение к брокеру:

  4. Check WiFi connection:
    bash wifi-status

  5. Проверьте через mosquitto_sub

  6. Значения не обновляются
  7. Проверьте интервал публикации: bash mqtt-interval 5000


Принудительное обновление: bash mqtt-publish

  1. Check publish interval:
    bash mqtt-interval 5000

  2. Force refresh:
    bash mqtt-publish

  3. Check MQTT messages are being received:
    bash mosquitto_sub -h broker_ip -t "acrouter/#" -v


В журнале устройства должна быть запись: MQTT: Command: mode = auto

  1. Убедитесь в корректности режима:
  2. Допустимые значения: off, auto, eco, offgrid, manual, boost

  3. Проверьте совместимость режима:

  4. Некоторые режимы требуют наличия настроенных датчиков

  5. Смотрите также

  6. 11_MQTT_GUIDE_RU.md — настройка MQTT и справочник топиков



04_ROUTER_MODES_RU.md — описание режимов роутера


Содержание

← Руководство MQTT | Содержание