Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    MQTT для Home Assistant

    MQTT для Home Assistant

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    MQTT для Home Assistant, RouterOS
     
    Josephny
    Guest
    #1
    0
    14.11.2023 10:31:00
    Кто-нибудь заставлял RouterOS MQTT работать с Home Assistant, желательно с автообнаружением? Тяжело с этим разобраться.
     
     
     
    nicolap
    Guest
    #2
    0
    07.06.2024 09:48:00
    Простые скрипты для отправки данных о состоянии роутера в Home Assistant через MQTT. Первый скрипт использует функцию «автоматического обнаружения» Home Assistant для настройки устройства. Его можно запускать по расписанию при старте с интервалом 00:00:00 (то есть только один раз).

    #config  
    :local broker "homeassistant"  
    :local topic "homeassistant/sensor/mikrotik_"

    #собираем информацию  
    :local model [/system routerboard get value-name=model]
    :local name [/system identity get value-name=name]
    :local board [/system resource get value-name=board-name]
    :local version [/system resource get value-name=version]
    :local serial [/system/routerboard get serial-number]

    #формируем сообщение в JSON - нагрузка CPU  
    :local message  "{\"device\": {\"mf\": \"MikroTik\", \"identifiers\": \"MT-$serial\", \"model\": \"$model\", \"sw\": \"$version\", \"name\": \"$name\"}, \"unique_id\": \"MT-$serial-cpuload\", \"state_topic\": \"$topic$name/cpuload\", \"unit_of_measurement\": \"%\", \"state_class\": \"measurement\", \"name\": \"CPU load\"}"  
    :put $message

    /iot mqtt publish broker=$broker topic="$topic$name/cpuload/config" message=$message retain=yes  
    /log/info message=$message

    #Время работы - \"board\": \"$board\",  
    :local message  "{\"device\": {\"mf\": \"MikroTik\", \"identifiers\": \"MT-$serial\", \"model\": \"$model\", \"sw\": \"$version\", \"name\": \"$name\"}, \"unique_id\": \"MT-$serial-uptime\", \"state_topic\": \"$topic$name/uptime\", \"unit_of_measurement\": \"s\", \"state_class\": \"total\", \"name\": \"Up time\"}"  
    :put $message

    /iot mqtt publish broker=$broker topic="$topic$name/uptime/config" message=$message retain=yes  
    /log/info message=$message

    Второй скрипт отправляет данные (только нагрузку CPU и время работы). Его можно запускать по расписанию с интервалом в несколько минут.

    #config  
    :local broker "homeassistant"  
    :local topic "homeassistant/sensor/mikrotik_"

    #собираем информацию  
    :local name [/system identity get value-name=name]

    :local cpuLoad [/system resource get cpu-load]
    :local upTime [:tonum [/system resource get uptime]]

    #нагрузка CPU  
    :local message  "$cpuLoad"  
    :put $message

    /iot mqtt publish broker=$broker topic="$topic$name/cpuload" message=$message retain=no  
    /log/info message=$message

    #Время работы  
    :local message2 "$upTime"  
    :put $message2

    /iot mqtt publish broker=$broker topic="$topic$name/uptime" message=$message2 retain=no  
    /log/info message=$message2

    Добавить больше данных — простая задача, и существует более сложный скрипт, но я хотел поделиться чем-то простым и удобным для обучения.
     
     
     
    niklaswelin
    Guest
    #3
    0
    01.09.2024 10:27:00
    Привет, друзья! Мой первый пост, пробую эту интеграцию https://github.com/Xrlls/MikroTik-Home … – telemetry работает отлично. Но у меня есть Mikrotik KNOT, и я хотел бы, чтобы IoT Bluetooth отображался в HA для телеметрии. У меня есть микротик-бейконы, плюс нужно, чтобы на стороне сервера (HA) запускался какой-то скрипт для декодирования. У MT есть скрипт, да, но как его встроить в HA — не понимаю. Также у меня есть MT WapLora шлюз для lorawan, и я хочу, чтобы он тоже работал с HA. Может, кто-то подскажет, как изменить интеграцию Xrlls, чтобы я мог это протестировать? Спасибо!
     
     
     
    xrlls
    Guest
    #4
    0
    01.09.2024 18:05:00
    Привет! Рад, что тебе нравится мой проект! Раньше я не рассматривал KNOT и Bluetooth, и у меня ещё не было случая использовать эти устройства в моей системе. Так что я начинаю с нуля. По части Bluetooth, если использовать маячки Mikrotik с Knot, похоже, что полезная нагрузка декодируется прямо на устройстве ( https://help.mikrotik.com/docs/display/ROS/Bluetooth#Bluetooth-PeripheralDevices ). Взял это, немного отформатировал и завернул в MQTT вместе с протоколом автодетекции для Home Assistant — это вполне реально и во многом именно так работает мой проект.

    Сложнее становится, если хочешь, чтобы маячки использовались как трекер устройств в системе с несколькими KNOT. Теоретически всё можно обработать прямо на Mikrotik, и программировать в Home Assistant не потребуется. Сейчас я работаю над поддержкой ИБП. Это может быть полезно, так как ИБП показывается как отдельное устройство со своими сущностями, подключённое через роутер Mikrotik в Home Assistant. Поэтому часть этой архитектуры можно перепрофилировать для Bluetooth-маячков.

    Lora однозначно не подходит. Реализация Lora на Mikrotik рассчитана на работу с серверной частью, и, похоже, на самом устройстве Mikrotik нет информации о принятых данных по Lora. Значит интеграция с Lora должна идти между сервером и Home Assistant.
     
     
     
    niklaswelin
    Guest
    #5
    0
    15.09.2024 08:37:00
    Привет! Я пытался декодировать на Knot, но это жрёт слишком много ресурсов процессора, поэтому лучше делать это на сервере — “запуская Proxmox с HA”, как советует Mikrotik. Было бы идеально, если бы можно было использовать два Knot, но чтобы хотя бы один смог подключиться к HA — это уже здорово. Так как я в этом деле новичок, хотелось бы понять, как декодировать полезные данные с MT на серверной стороне. Какую поддержку ИБП вы используете? У меня сеть на APC UPS с интеграцией NUT в HA. В общем, я думаю, что LoRa работает так: MT —> TTS —> HA, как облако. Нужно понять, какую интеграцию ставить, чтобы HA понимал, что TTS передаёт в HA.
     
     
     
    xrlls
    Guest
    #6
    0
    18.09.2024 17:15:00
    Я заказал KNOT и несколько BLE-меток. Похоже, в итоге искушение оказалось слишком сильным — теперь он у меня на столе! KNOT действительно делает кучу всего. Пока что я добавил поддержку уведомлений об обновлении прошивки для NB/CAT-M радио. Думаю, следующим в моей программе будет поддержка GPIO — как датчиков, бинарных датчиков и переключателей соответственно. Начинаю разбираться с Bluetooth-трекерами и тем, какую телеметрию они передают, а также с отслеживанием устройств. Пытаюсь придумать децентрализованную схему, где несколько Knot-ов смогут определить, который из них находится ближе всего к BLE-метке, если она одновременно в зоне действия нескольких Knot-ов.

    Что касается декодирования полезной нагрузки, то, по идее, несложно создать Jinja-шаблоны, которые позволят Home Assistant расшифровывать её на стороне сервера и просто пересылать в исходном виде. Сколько меток ты использовал и декодировал ли ты все полезные нагрузки, когда у тебя нагрузка на CPU была максимальной? Процесс кажется довольно простым, поэтому я думал, что даже на маломощном устройстве справиться не проблема.

    В данный момент я не планирую тратить время на LoRa и Modbus. Похоже, для Home Assistant уже есть интеграция с Things Network, так что смысла что-то делать там немного. То же самое и с Modbus — там уже есть интеграция Modbus over TCP. Да и Modbus-устройств у меня нет.

    Интеграция с UPS (конечно) актуальна, если у тебя есть поддерживаемый UPS, подключённый к Mikrotik-роутеру через USB или RS232. Круто получать от него телеметрию.
     
     
     
    Amm0
    Guest
    #7
    0
    18.09.2024 18:44:00
    Если твой KNOT поддерживает LoRa… хочу отметить, что существует куча забавных LoRaWAN датчиков для самых разных необычных задач, которые вполне могут здорово смотреться на какой-нибудь HA-панели управления. А если у тебя уже есть контейнер или сервер HomeAssistant, то можно ещё и ChirpStack запустить на своём сервере, чтобы не зависеть от облака Things Network.
     
     
     
    niklaswelin
    Guest
    #8
    0
    21.09.2024 15:22:00
    Пока у меня есть 4 Bluetooth-метки MT. Я запускал декодер на MT согласно документации Mikrotik и с одной меткой MT BLE Beacon. И процессор загружался на 100% во время декодирования. Интеграция Things Network для Home Assistant — я пользуюсь этой интеграцией, она нормальная, но всегда работает через облако. Было бы здорово, если бы можно было сделать так, чтобы метки отправляли параметры напрямую в Home Assistant по локальной сети, без интернета. У меня есть MT outdoor LoRa шлюз — было бы очень круто, если бы телеметрия работала с несколькими узлами. У меня один узел, но я бы заказал второй для подвала, если вдруг можно отслеживать метки внутри дома. Как продвигается интеграция Bluetooth? Не терпится это опробовать. Cheers, Niklas
     
     
     
    xrlls
    Guest
    #9
    0
    23.09.2024 18:25:00
    @Ammo KNOT поддерживает Lora. Думаю, я таким образом «подстраховываюсь на будущее». Будет что поразбирать позже. @niklaswelin Сейчас у меня есть что-то работающее с автоматическим обнаружением в Home Assistant и декодированием полезной нагрузки на сервере через Jinja-шаблоны. Однако логики для контроля MQTT-трафика пока очень мало, реализация сейчас довольно грубая. В общем, для затравки: Как видно, с сущностью device tracker что-то не так. Посмотрю, смогу ли упаковать это в нечто, что будет удобно делиться.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры