Лайфхак - использование внешнего брокера москита для удалённого управления МДМ по шаблонам поведения
Мне важен любой канал для удаленного доступа к моему любимому дому - через Мдроид, телеграм, удаленный рабочий стол. При этом не используются всякие впны, белые адреса, пробросы чего-то куда-то. Давно смотрел в сторону москита, и вот - после последних обновлений - его время и пришло. Оговорюсь сразу - у меня нет ни одного устройства в системе, использующего москит. Меня интересует только канал.
Со встроенным брокером МДМ что-то не заладилось с авторизацией, связь получилась только в одну сторону. Надеюсь, скоро это поправлю.
Зарегался на бесплатном белорусском брокере mqtt.by, для отладки в хроме - установил клиента MQTTLens.
Завел в классе myVars (это у меня спецкласс для тестов, каких-то одиночных переменных типа курс валюты,производственный календарь, и т.д.) объект mqttIn с классовым свойством value и привязанным к нему классовым методом valueChanged, который для данного объекта настроил так:
if($params['NEW_VALUE']){
$txt = $params['NEW_VALUE']; //пришёл текст в mqttIn.value
say($txt,2,1); //проговорим его от имени пользователя, а не Алисы. Это третий параметр в say
}
В модуле MQTT настроил брокера
Команды будем слать в топик /user/xor/cmd
Все настройки - по умолчанию, привязываем к созданному свойству mqttIn.value и пользуемся.
Для обратной связи пока использую такой скрипт - отправка чего-то в топик
include_once(DIR_MODULES . 'mqtt/mqtt.class.php');
$mqtt = new mqtt();
$topic = "/user/xor/say"; //топик
$value = gg('ThisComputer.lastSayMessage') ;// по идее топик и пэйлоад можно сделать параметрами и слать из методов
$rezult = $mqtt->mqttPublish($topic, $value, 0, 0);
Если приспичит весь вывод отправлять наружу, можно использовать хук AFTER_SAY (Код, вызываемый после отправки фразы на произношение. В данном коде можно использовать значение фразы ($ph) и уровень важности ($level))
Сейчас балуюсь с MQTT Dash на телефоне
А вот клиент MQTTLens - диалог
Домодедово, Россия
На форуме: xor