И вот я плавно перешел к задумке, где не посредством скриптов будут управлять своим реле 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Пароль: Aa1234567Prevent Loop: TruePublish Topic: outCA Filename: ничего не указываюTLV Version: оставляю по дефолту tlsv1
и нажимаю «Добавить»

где Remote Address равняется localhost, т.к. серверная часть MQTT установлена на системе где установлен Domoticz
после того как создали запоминаем IDX:
![]()
На заметку: запоминаем IDX, хотя он не важен по заметке, лишний шаг
Шаг №9: Создаю устройство Dummy и тип Температура и тип Переключатель:
http://IP&DNS:8080 (http://172.33.33.122) - user&pass - Настройка - Оборудование -
Включено: АктивированоИмя: TH10DummyТип: Dummy (Does nothing, use for virtual switches only)Задержка данных: Отключен
и нажимаю «Добавить»

затем на основе добавленного шаблона 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.122Port: 1883Client: DVES_%06X (оставляю дефолтным)User: domoticzPassword: Aa1234567Topic = inFull Topic = domoticz/in
и нажимаю Save

Устройство Sonoff TH10 после сохранения внесения изменений будет перезагружено самостоятельно.
Шаг №12: Настраиваю сопряжение TH10 + Domoticz
http://IP&DNS (http://172.33.33.103) — Configuration — Configure Domoticz —
Idx 1: указываю ID датчика TH10 Lamp, т.е. 7Sensor idx 1 Temp: указываю ID датчика TH10 Температура, т.е. 6

После чего нажимаю Save, устройство Sonoff TH10 также будет перезагружено. Это нормальная операция после каждого изменения и сохранения.
Затем из меню «Переключатели» и «Температура» выношу датчики на меню «Панель» путем отметки левой кнопкой мыши на иконке «Звездочки»
Шаг №13: Проверяю в меню «Панель» результат связи системы Domoticz и реле Sonoff TH10, что могу управлять нагрузкой, т.к. включать и выключать лампочку и видеть текущую температуру снимаемую с датчика DS18020:
http://IP&DNS:8080 (http://172.33.33.122) - user&pass - Панель

Попробовав изменить положение «Выключен» на «Включен» и лампочка загорелась и также в обратную сторону лампочка выключилась.
Шаг №14: Проверка, какая информация поступает в топик out от устройства Sonoff TH10 через MQTT, для этого открываю консоль командной строки, подключаюсь к топику и если в Web-интерфейсе Domoticz нажать включить и выключить лампочку приходит следующие сообщения. Но раз Domoticz работает с двумя топиками, то со временем здесь будет целая каша присылаемых сообщений.
ekzorchik@srv-bionic:~$ mosquitto_sub -h 172.33.33.122 -u domoticz -P Aa1234567 -t "domoticz/out"
{
"Battery" : 255,
"RSSI" : 12,
"description" : "",
"dtype" : "Light/Switch",
"hwid" : "7",
"id" : "00014057",
"idx" : 7,
"name" : "TH10 Lamp",
"nvalue" : 1,
"stype" : "Switch",
"svalue1" : "0",
"switchType" : "On/Off",
"unit" : 1
}
{
"Battery" : 255,
"RSSI" : 12,
"description" : "",
"dtype" : "Light/Switch",
"hwid" : "7",
"id" : "00014057",
"idx" : 7,
"name" : "TH10 Lamp",
"nvalue" : 0,
"stype" : "Switch",
"svalue1" : "0",
"switchType" : "On/Off",
"unit" : 1
}
Чтобы подписаться на все топики:
ekzorchik@srv-bionic:~$ mosquitto_sub -h 172.33.33.122 -u domoticz -P Aa1234567 -t "#"
Включить/выключить лампочку через консоль, но лампочка не загорается, меняется только статус в Domoticz, а из Web-интерфейса работает.
ekzorchik@srv-bionic:~$ mosquitto_pub -h 172.33.33.122 -u domoticz -P Aa1234567 -t "domoticz/in" -m '{"idx" : 7, "nvalue" : 1}'
ekzorchik@srv-bionic:~$ mosquitto_pub -h 172.33.33.122 -u domoticz -P Aa1234567 -t "domoticz/in" -m '{"idx" : 7, "nvalue" : 0}'
Работает.
Задача выполнена.
На этом пока все, с уважением автор блога Олло Александр aka ekzorchik.