Страница 2 из 5
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 11:24 am
yurat2008
DimSun75 писал(а):Зачем усложнять? Просто в метод turnOn добавляем запуск таймера и say ("Открываю дверь"), а в метод turnOff убиваем таймер и say закрываем.
Отправлено с моего SM-A520F через Tapatalk
делал так - если просто вывести картинку на экран все ок, но если прописать say(... каждые 5 сек повторяет по кругу
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 11:24 am
nick7zmail
yurat2008 писал(а):Скажите или это работоспособно (нет сейчас возможности проверить)
Что то ты много кода для простой задачи понакатал))) в statusChanged из первого поста добавь что я сказал...так точно должно сработать.
Код: Выделить всё
if($params['NEW_VALUE']!=$params['OLD_VALUE']) {
if (gg("zzz.status")=="1") {
ClearTimeOut("reminderGarageTimer");
say("Входная дверь закрыта.",5);
} else {
SetTimeOut("reminderGarageTimer","runScript('reminderGarage');", 15*60);
say("Внимание! Открывается входная дверь.",5);
}
}
Методы turnOn turnOff вообще удалить можешь. Они у тебя по-моему не задействованы.
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 11:29 am
DimSun75
Не, turnOn и turnOff как раз нужны. Просто в них нужно убрать $this->setProperty("status", ...
Отправлено с моего SM-A520F через Tapatalk
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 11:32 am
nick7zmail
Как их вызывать то тогда? Если статус прилетает по mqtt в 1 свойство...тогда statuschanged надо допиливать под вызов turnon turnoff...а зачем, если весь код прямо там написать можно?
Отправлено с моего Xperia Z через Tapatalk
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 11:34 am
DimSun75
О! А я и не разглядел. Так это датчик открытия?
Отправлено с моего SM-A520F через Tapatalk
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 11:35 am
nick7zmail
Ага

... судя по описанию автора по крайней мере...
Отправлено с моего Xperia Z через Tapatalk
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 11:40 am
yurat2008
DimSun75 писал(а):О! А я и не разглядел. Так это датчик открытия?
Отправлено с моего SM-A520F через Tapatalk
Да это банальный смк (геркон)
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 11:54 am
DimSun75
nick7zmail писал(а):DimSun75 писал(а):Зачем усложнять? Просто в метод turnOn добавляем запуск таймера и say ("Открываю дверь"), а в метод turnOff убиваем таймер и say закрываем.
Отправлено с моего SM-A520F через Tapatalk
А кто эти методы в таком случае вызывать будет?) метод, на сколько я понял, вызывается statuschanged...2 метода к 1 свойству не привязать...turnon и turnoff вроде вообще в этой схеме не используются.
Не, там похоже к status привязан метод update. А он как раз и вызывает turn-ы. А в них опять установка свойства и все по кругу
Отправлено с моего SM-A520F через Tapatalk
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 12:02 pm
DimSun75
И да. Весь код нужно в update запихать. На пальцах примерно так
Код: Выделить всё
if ($params [NEW_VALUE] == "1")
{
Убивает таймер;
Устанавливаем текст в свойство "закрыто";
Говорим дверь закрыта
} else {
Запускаем таймер;
Текстовое свойство открыта;
Говорим дверь открывается;
}
$this->setProperty("updatedTimestamp",time());
Остальные методы ненужных.
Отправлено с моего SM-A520F через Tapatalk
Re: голосовое оповещение про открытую дверь
Добавлено: Пн мар 20, 2017 12:21 pm
nick7zmail
Вы опять на зацикливание толкаете человека)))
ESP-шка шлет статус каждые 5 сек, соответственно метод будет вызываться каждые 5 сек (вне зависимости от того поменялся статус или нет...значение пришло - метод вызвался)....и опять будет постоянно говорить что закрыта дверь....
Раз он говорит что код рабочий - зачем что то придумывать, достаточно обернуть всё в IF с проверкой изменилось ли состояние по сравнению с предыдущим...тогда единоразово будет отрабатывать код внутри IF, только при изменении состояния.