Рискну предложить свой путь поиска проблемы. По ходу дела задам пару вопросов, но он не принципиальны. Если какие-то из нижеприведённых утверждений ошибочны - говорите. Если что-то покажется очевидным - не взыщите, считаю, нужно исключить все неопределённости.
А. Что у нас есть
1. Настроенный и работоспособный MQTT сервер. Установлен Mosquitto? Настройки конфигурации по умолчанию?
2. Установленный Majordomo с настроенным коннектом к MQTT и подпиской "#".
3. Работающая ESPEasy без аппаратных проблем подключения ленты. В логе ESP, после загрузки, видим строки "MQTT: Connected broker" и "Subscribed to: /какое-то имя/#".
4. Всё это находится в одной подсети.
5. Установленный и подключенный к MQTT серверу MQTTlens. Если нет, я вынужден настаивать, он сильно упростит диагностику.
Б. Что проверяем
0. В левой части окна MQTTlens, "Connections" нажимаем "+" и настраиваем соединение. Нужно только дать имя соединению и указать адрес сервера. После выхода из настройки должно появиться соединенеие с лидирующим зелёным кружком и смволом паузы в нём. Это если не было до этого сделано.
1. В MQTTlens в подразделе Subscribe в поле, в котором написано "topic" вводим # и нажимаем "Subscribe". Мы подписались на все топики и будем видеть информацию из каждой публикации каждого клиента, подключенного к MQTT серверу.
2. В подразделе Publish, в первом поле "topic", пишем "/test/status" - без кавычек именно так как я написал. Вот это и есть конкретно заданный топик. Во втором поле "Message" пишем что-нибудь, например, "Хорошая погода". Нажимаем "Publish".
3. В нижней части окна мы должны увидеть сообщение от MQTT сервера. Там будет время, название топика (/test/status) и Ваше сообщение (Хорошая погода).
Если предыдущие 3 пункта выполнены успешно - идём дальше. Иначе ищем проблемную часть. Она может быть либо в неправильно настроенном MQTTlens, либо в неработающем MQTT сервере.
4. Смотрим в Majordomo. "Панель управления" -> "Устройства" -> "MQTT". Там должны увидеть наше послание. В столбце "Название" - /test/status, в столбце "Значение" - Хорошая погода.
Если нет - сначала обновляем страницу браузера. Если не появилось - проверяем настройки MQTT Majordomo.
MajorDoMo Client: - имя клиента, как нравится.
Hostname: (*) - localhost, если MQTT север и Majordomo на одном компьютере, IP адрес или имя компьютера, если на другом, лучше IP, чтобы избежать проблем разрешения имён.
Port: (*) - 1883 - его не трогаем Если Вы не переопределяли порт MQTT сервера.
Subscription path: (*) - #
Нажимаем "Обновить" и повторяем всё с п.1
До тех пор пока эта связка не заработает двигаться дальше в части привязки управления к Majordomo большого смыслал не имеет.
В. Управляем ESPEasy и лентой.
0. На закладке "Config" ESPEasy имеем: В поле "Name" - какое-то имя, пусть Lights (дальше буду на него ссылаться). Protocol - OpenHAB MQTT (можно и другие, но с этим точно работает). Locate Controller - Use IP address. Controller IP - адрес Вашего MQTT сервера. Controller Port - 1883. Sensor Delay - 60 (нужно в тестовых целях).
1. В настройках ESPEasy "Devices" должно быть устройство лента. "Lights" по-моему. С корректными настройками.
2. Добавьте ещё одно устройство "System info", Name - Uptime, delay - 60, IDX/Var - 1 (его никогда нельзя оставлять 0, любое число, но не 0, это касается ВСЕХ устройств, ленты тоже), Indicator - Uptime. Больше ничего не трогаем - нажимаем Submit.
После добавления п.2 Вы должны 1 раз в минуту получать сообщение в топик /lights/Uptime со значением uptime. Видеть это Вы должны и в MQTTlens и в Majordomo (там появится новый топик /lights/Uptime, не забывайте обновлять страницу). Если этого нет - смотрите настройки ESPEasy. Если работает - идём дальше.
3. В MQTTlens в топик /lights/cmd публикуем команды ленте. В ответ Вы должны получать реакцию железа, сообщение в топике /lights/status. В Majordomo должны появиться 2 топика /lights/cmd и /lights/status. Значения в этих топиках должны совпадать с тем, что Вы вводите/видите в MQTTlens.
Если работает - замечательно. Вы в полушаге от победы. Если нет ищем почему.
Маленькое отступление, пока вспомнил. Вы про управление ESPEasy через
http://IP/control?cmd=команда знаете? Убедиться, что без MQTT всё управляется можно с его помощью.
Возвращаемся.
Если всё предыдущее работает, то как Вам уже писал уважаемый nick7zmail - связываем топики Вашего устройства с объектом Majordomo. Тут я сильно новичок, поэтому попробую на совсем дилетантстком уровне.
У Вас должен быть объект с минимум 2 мя свойствами, пусть они называются "cmd" и "status". А объект пусть называется "LED_Line". Откуда возьмётся этот объект? Он возьмётся из класса. Лучше создайте свой - меньше путаницы.
Для этого идёте в "панель управления -> объекты" и нажимаете "Добавить новый класс". Родительский класс -no-, имя по вкусу, пусть - ESPEasy_lights. "Добавить". Появляются новые вкладки. На вкладке "Свойства" добавляете вышеуказанные свойства. Во вкладке "Методы" Вы потом будете длобавлять методы и писать код. На вкладке "Объекты" добавляете вышеуказанный объект.
Я не специалист в объектно-ориентированном программировании. Объяснил как смог.
Дальше идём в "Панель управления -> Устройства -> MQTT" и открываем последовательно наши топики и привязываем их к объекту "LED_line" и свойствам "cmd" и "status" соответственно.
Теперь если Вы присвоите свойству "cmd" объекта "LED_line" какое-то значение (а именно желаемую команду), то это значение _автоматически_, будет опубликовано в топике "/ligths/cmd" и принято к исполнению ESP'шкой. В ответ Вы получите сообщение в топике "/lights/status", которое, в свою очередь, появится как значение свойства "status" объекта "LED_line".
На этом всё. О том, что с этими свойствами и как делать в Majordomo, надеюсь, Вам подскажут более сведующие. Я сам Majordomo по вечерам едва месяц как поглядываю.
P.S.
Кстати, про баранов...
Revenon a nous mutons (дословно "вернёмся к нашим баранам") (могу слегка ошибиться в написании, пользоваться французским закончил в 90-ом году), действительно, устойчивое выражение, означающее по-русски "Вернёмся к нашим делам (вопросу, теме разговора).
Так что не стоит обижаться. Образное изложение способствует восприятию. Это не нотация и не замечание, а просто мнение.
Модератор, прошу извинить за флуд.