sonoff tasmota - обратная связь
Добавлено: Вт ноя 06, 2018 12:51 pm
Доброго времени, ребят!
Только начал осваивать платформу MajorDoMo, если что прошу сильно не «пинать».
Имеется Sonoff Basic, прошил ее прошивкой Tasmoto
MQTT настроил - все отлично работает, данные MajorDoMo получает.
Создал объект, со стандартным привязанным классом Relay, где Свойство status привязал к MQTT
Методы стандартные
turnOff (выключение устройства)
turnOn (включение устройства)
Код метода switch (переключение устройства):
Код метода refresh (обновление состояния устройства):
В общем добавил переключатель в Панель управления и привязал его к объекту - все отлично работает. Нажимаю по переключателю - устройство вкл/выкл.
Теперь следует вопрос, как получить обратную связь от устройства? Чтобы, если нажать на нем переключатель вручную - срабатывал переключатель в MajorDoMo. Текущее состояние устройство по MQTT передает, необходимо получается как-то дать команду самому объекту - изменить статус.
Пока только вижу выход, как где-то было описано - это использование сценариев, с периодической проверкой (раз в 5 мин например) статуса. И если статус был изменен - то менять значение у объекта. Но вот чует мое сердце - есть более изящный способ, чтобы передавать статус сразу по событию. Буду благодарен Вам за помощь.
Только начал осваивать платформу MajorDoMo, если что прошу сильно не «пинать».
Имеется Sonoff Basic, прошил ее прошивкой Tasmoto
MQTT настроил - все отлично работает, данные MajorDoMo получает.
Создал объект, со стандартным привязанным классом Relay, где Свойство status привязал к MQTT
Методы стандартные
turnOff (выключение устройства)
Код: Выделить всё
$this->setProperty("status",0);
Код: Выделить всё
$this->setProperty("status",1);
Код: Выделить всё
$status=$this->getProperty("status");
if ($status) {
$this->callMethod('turnOff');
} else {
$this->callMethod('turnOn');
}
Код: Выделить всё
$status=$this->getProperty("status");
if ($status) {
$this->callMethod('turnOn');
} else {
$this->callMethod('turnOff');
}
Теперь следует вопрос, как получить обратную связь от устройства? Чтобы, если нажать на нем переключатель вручную - срабатывал переключатель в MajorDoMo. Текущее состояние устройство по MQTT передает, необходимо получается как-то дать команду самому объекту - изменить статус.
Пока только вижу выход, как где-то было описано - это использование сценариев, с периодической проверкой (раз в 5 мин например) статуса. И если статус был изменен - то менять значение у объекта. Но вот чует мое сердце - есть более изящный способ, чтобы передавать статус сразу по событию. Буду благодарен Вам за помощь.