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

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

Модератор: immortal

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

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

Сообщение Берендей » Вт окт 24, 2017 10:29 am

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

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

Имеется объект Переключатель-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
Благодарил (а): 26 раз
Поблагодарили: 183 раза

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

Сообщение Jager » Вт окт 24, 2017 11:34 am

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

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

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

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

Сообщение Берендей » Вт окт 24, 2017 12:25 pm

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

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

Сообщение Берендей » Вт окт 24, 2017 1:37 pm

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