И вот я плавно перешел к задумке, где не посредством скриптов будут управлять своим реле Sonoff TH10, а через протокол MQTT (Message Queue Telemetry Transport). Этот протокол используется поверх TCP/IP и имеет порт 1883 (а для шифрования передаваемых данных 8883/SSL). Еще раз напомню, что принцип обмена сообщения между устройствами — это издатель-подписчик. Т.е. мини чат для железа.

На заметку: система Domoticz работает только с двумя топиками domoticz/in & domoticz/out. Хотя я этого еще не проверял на практическом примере, но пока думаю, что это так.

Шаг №1: Установка Domoticz выполнена опираясь на заметку:

Шаг №2: Русификация Domoticz выполнена опираясь на заметку:

Шаг №3: Активации авторизации в Domoticz выполнена опираясь на заметку:

Шаг №4: Что если потеряли логин или пароль или все вместе на доступ к Domoticz:

Шаг №5: Поднимаю сервис MQTT на системе где у меня стоит Domoticz:

Шаг №6: Перепрошиваю реле Sonoff TH10 на прошивку Tasmota:

Шаг №7: Подключаю к реле Sonoff TH10 нагрузку в виде патрона с лампочкой:

Шаг №8: Завожу в Domoticz оборудование на связь с MQTT который установлен на этой же системе где сейчас Domoticz:

http://IP&DNS:8080 (http://172.33.33.122) - user&pass - Настройка - Оборудование

  • Включено: Активировано
  • Имя: TH10
  • Тип: MQTT Client Gateway with LAN interface
  • Задержка данных: Отключен
  • Удаленный адрес: localhost
  • Порт: 1883
  • Имя: domoticz
  • Пароль: Aa1234567
  • Prevent Loop: True
  • Publish Topic: out
  • CA Filename: ничего не указываю
  • TLV Version: оставляю по дефолту tlsv1

и нажимаю «Добавить»

Оборудование на связь с MQTT

где Remote Address равняется localhost, т.к. серверная часть MQTT установлена на системе где установлен Domoticz

после того как создали запоминаем IDX:

запоминаем IDX, хотя он не важен по заметке, лишний шаг

На заметку: запоминаем IDX, хотя он не важен по заметке, лишний шаг

Шаг №9: Создаю устройство Dummy и тип Температура и тип Переключатель:

http://IP&DNS:8080 (http://172.33.33.122) - user&pass - Настройка - Оборудование -

  • Включено: Активировано
  • Имя: TH10Dummy
  • Тип: Dummy (Does nothing, use for virtual switches only)
  • Задержка данных: Отключен

и нажимаю «Добавить»

Создаю шаблон Dummy под виртуальные датчики

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

Для датчика температуры:

  • Имя: TH10 Температура
  • Тип датчика: Температура

и нажимаю «ОК»

Создаю виртуальный датчик с типом "Температура"

Для управления нагрузкой в виде лампочки:

  • Имя: TH10 Lamp
  • Тип датчика: Переключатель

и нажимаю «ОК»

Создаю виртуальный датчик с типом "Переключатель"

Шаг №10: Нужно запомнить idx у созданного объекта переключатель и температура

  • http://IP&DNS:8080 (http://172.33.33.122) - user&pass - Переключатели - нахожу TH10 Lamp и нажимаю "Редактировать" у него
    • Idx: 7
  • http://IP&DNS:8080 (http://172.33.33.122) - user&pass - Температура - нахожу TH10 Температура и нажимаю "Редактировать" у него
    • Idx: 6

Шаг №11: Открываю Web-интерфейс Tasmota Sonoff TH10 и настраиваю связь MQTT с сервисом MQTT на системе Domoticz

http://IP&DNS (http://172.33.33.103) - Configuration - Configure MQTT -

  • Host: 172.33.33.122
  • Port: 1883
  • Client: DVES_%06X (оставляю дефолтным)
  • User: domoticz
  • Password: Aa1234567
  • Topic = in
  • Full Topic = domoticz/in

и нажимаю Save

Настройка связи Sonoff TH10 через MQTT к Domoticz

Устройство Sonoff TH10 после сохранения внесения изменений будет перезагружено самостоятельно.

Шаг №12: Настраиваю сопряжение TH10 + Domoticz

http://IP&DNS (http://172.33.33.103) — Configuration — Configure Domoticz —

  • Idx 1: указываю ID датчика TH10 Lamp, т.е. 7
  • Sensor idx 1 Temp: указываю ID датчика TH10 Температура, т.е. 6

Прописываю idx для "Переключателя" и для "Температура" в настройках реле Sonoff TH10

После чего нажимаю Save, устройство Sonoff TH10 также будет перезагружено. Это нормальная операция после каждого изменения и сохранения.

Затем из меню «Переключатели» и «Температура» выношу датчики на меню «Панель» путем отметки левой кнопкой мыши на иконке «Звездочки»

Шаг №13: Проверяю в меню «Панель» результат связи системы Domoticz и реле Sonoff TH10, что могу управлять нагрузкой, т.к. включать и выключать лампочку и видеть текущую температуру снимаемую с датчика DS18020:

http://IP&DNS:8080 (http://172.33.33.122) - user&pass - Панель

Результат снимаемых показаний с Sonoff TH10 через MQTT и управлением им

Попробовав изменить положение «Выключен» на «Включен» и лампочка загорелась и также в обратную сторону лампочка выключилась.

Шаг №14: Проверка, какая информация поступает в топик out от устройства Sonoff TH10 через MQTT, для этого открываю консоль командной строки, подключаюсь к топику и если в Web-интерфейсе Domoticz нажать включить и выключить лампочку приходит следующие сообщения. Но раз Domoticz работает с двумя топиками, то со временем здесь будет целая каша присылаемых сообщений.

Чтобы подписаться на все топики:

Включить/выключить лампочку через консоль, но лампочка не загорается, меняется только статус в Domoticz, а из Web-интерфейса работает.

Работает.

Задача выполнена.

На этом пока все, с уважением автор блога Олло Александр aka ekzorchik.

от ekzorchik