Страница 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
Ага :-D... судя по описанию автора по крайней мере...

Отправлено с моего 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, только при изменении состояния.