Голосовое уведомление в методе On/Off

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am

Голосовое уведомление в методе On/Off

Сообщение Берендей »

Приветствую.

Прошу прощения, если не совсем правильно использую терминологию, так как только начинаю разбираться в Системе.

Имеется объект Переключатель-1, который подвязан к WIFI реле Sonоff через MQTT. Все работает, реле переключается.
Захотел звуковой комментарий Алисы касательно факта включения/выключения реле, и в методах turnON и turnOff Переключателя-1 прописал нужные фразы. В случае клика по объекту на сцене, или в разделе меню Управление, реле
переключается и нужные фразы проговариваются, однако, если реле переключать его аппаратной кнопкой, то статус Переключателя-1 меняется, но фразы не проговариваются.

Получается, что методы turnON и turnOff отрабатываются только в момент клика по элементу управления, но игнорируются при программном изменении статуса.

Как можно заставить говорить Алису в таком случае?
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am

Re: Голосовое уведомление в методе On/Off

Сообщение Jager »

Берендей писал(а):В случае клика по объекту на сцене, или в разделе меню Управление, реле
переключается и нужные фразы проговариваются, однако, если реле переключать его аппаратной кнопкой, то статус Переключателя-1 меняется, но фразы не проговариваются.
Получается, что методы turnON и turnOff отрабатываются только в момент клика по элементу управления, но игнорируются при программном изменении статуса.
Как можно заставить говорить Алису в таком случае?
Например так, создайте метод с таким кодом

Код: Выделить всё

if (getGlobal('relay.status')) {
 say('Реле выключено');
} else {
 say('Реле включено');
} 
и привяжите его к нужному свойству
Изображение
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am

Re: Голосовое уведомление в методе On/Off

Сообщение Берендей »

Сделал. При переключении кнопкой на реле, говорит корректно.
Но при переключении переключателем на сцене, повторяет фразу три раза, а при переключении из Меню повторяет то ли шесть, то ли пять раз.
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
Берендей
Сообщения: 125
Зарегистрирован: Ср окт 18, 2017 9:44 am

Re: Голосовое уведомление в методе On/Off

Сообщение Берендей »

С повторениями вроде разобрался. Это происходит из-за дублирования пакетов в mqtt, но как с этим бороться мыслей нет :(
OrangePI PC/ARMBIAN 5.36 + DS3231+433Mhz. Esp8266(ArduinoIDE). Arduino MEGA2560 + Oregon THGN132N.
Sonoff RF Bridge + sensors
Ответить