У вас по изменению status вызывается Statuschanged. Эти методы вообще никогда не вызываются. Если вы используете свойства statusText и updatedTimestamp, то добавьте в Statuschanged. Ну и методы turdOff и turnOn можно удалятьyurat2008 писал(а):turnon turnoff только для записи времени открытия-закрытия, по большому счету они не нужныКод: Выделить всё
$this->setProperty("statusText","открыто"); $this->setProperty("updatedTimestamp",time());
голосовое оповещение про открытую дверь
Модератор: immortal
-
- Сообщения: 318
- Зарегистрирован: Вс янв 01, 2017 8:32 pm
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 44 раза
Re: голосовое оповещение про открытую дверь
- Рейтинг: 1.16%
Re: голосовое оповещение про открытую дверь
Автор, можете подробно описать что за датчик используете и как реализовали всё это, очень интересно и хочу повторить
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: голосовое оповещение про открытую дверь
Обычный геркон с магнитиком, подключенный к ESP, если я правильно помню, как начиналась эта тема.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 147
- Зарегистрирован: Сб мар 04, 2017 7:04 pm
- Благодарил (а): 15 раз
- Поблагодарили: 13 раз
Re: голосовое оповещение про открытую дверь
все просто - на дверь ставим смк (датчик с герконом для охранной сигнализации)
Подключение рассмотрим на примере GPIO14 (esp8266)
первый выход датчика подключаеем к GND, второй через 4.7кОм подлючаем на выход GPIO14 модуля ( кроме того Подтягиваем GPIO14 резистором 10кОм к +3.3в.) ,
Указываем (в настройках прошивки wifi-iot ) GPIO к которому подключен датчик в поле "Int1 on GPIO14", где 1 - номер прерывания 1. Выбираем режим "Active send". Драйвер 1. В нижней части выбираем режим mode в зависимости от требований. Если указать "Any" , то событие будет обрабатываться как при начале движения и его окончании. При указании "Pos" будет срабатывать только при начале движения. Во вкладке Gpio выставляем Gpio14 input.
На сервере MajorDoMo или MQTT вы должны увидеть прерывание gpioint1 И изменения состояния gpio14, так вот ориентируемся на 0 и 1 на gpio14 . 0 будет при закрытых дверях будет логический 0, при разомкнутом датчике будет логическая 1). Создаем обьект, свзываем свойство обьекта с состоянием gpio14 в модуле esp8266_wifiot. Дальше стандартно. В настройках передчи данных на сервер Majordomo (esp8266) ставим опрос 600сек, при сработке датчика Active send передаст изменение состояния мгновенно, а засорять эфир частыми опросами нет смысла
Код в методе обьекта такой
настройки объектов
настройки прошивки
Подключение рассмотрим на примере GPIO14 (esp8266)
первый выход датчика подключаеем к GND, второй через 4.7кОм подлючаем на выход GPIO14 модуля ( кроме того Подтягиваем GPIO14 резистором 10кОм к +3.3в.) ,
Указываем (в настройках прошивки wifi-iot ) GPIO к которому подключен датчик в поле "Int1 on GPIO14", где 1 - номер прерывания 1. Выбираем режим "Active send". Драйвер 1. В нижней части выбираем режим mode в зависимости от требований. Если указать "Any" , то событие будет обрабатываться как при начале движения и его окончании. При указании "Pos" будет срабатывать только при начале движения. Во вкладке Gpio выставляем Gpio14 input.
На сервере MajorDoMo или MQTT вы должны увидеть прерывание gpioint1 И изменения состояния gpio14, так вот ориентируемся на 0 и 1 на gpio14 . 0 будет при закрытых дверях будет логический 0, при разомкнутом датчике будет логическая 1). Создаем обьект, свзываем свойство обьекта с состоянием gpio14 в модуле esp8266_wifiot. Дальше стандартно. В настройках передчи данных на сервер Majordomo (esp8266) ставим опрос 600сек, при сработке датчика Active send передаст изменение состояния мгновенно, а засорять эфир частыми опросами нет смысла
Код в методе обьекта такой
Код: Выделить всё
if($params['NEW_VALUE']!=$params['OLD_VALUE']) {
if(gg("BoilerRom.status")=="0") {
ClearTimeOut("ReminderBoilerRomTimer");
setGlobal('BoilerRom.timeclossed',timeNow());
setGlobal('BoilerRom.dataclossed',date("d.m.y"));
setGlobal('BoilerRom.statusText',"дверь котельной закрыта");
say("дверь котельной закрыта",5);
} else {
setGlobal('BoilerRom.timeopen',timeNow());
setGlobal('BoilerRom.dataopened',date("d.m.y"));
setGlobal('BoilerRom.statusText',"дверь котельной открыта");
say("Внимание! Открывается дверь котельной.",5);
SetTimeOut("ReminderBoilerRomTimer","runScript('ReminderBoilerRom');", 15*60);
}
}
СпойлерПоказать
СпойлерПоказать
- За это сообщение автора yurat2008 поблагодарили (всего 4):
- ferrumlogic (Ср май 17, 2017 1:48 pm) • th1s (Чт май 18, 2017 2:28 am) • Jilber (Вт авг 15, 2017 2:20 pm) • Taras81 (Вт янв 08, 2019 11:37 pm)
- Рейтинг: 4.65%
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
Re: голосовое оповещение про открытую дверь
Я правильно понял ?yurat2008 писал(а):первый выход датчика подключаеем к GND, второй через 4.7кОм подлючаем на выход GPIO14 модуля ( кроме того Подтягиваем GPIO14 резистором 10кОм к +3.3в.)
СпойлерПоказать
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: голосовое оповещение про открытую дверь
Получился делитель напряжения. На GPIO14 будет 1,05В.
Может лучше без 4,7К?
Может лучше без 4,7К?
-
- Сообщения: 35
- Зарегистрирован: Вт сен 13, 2016 8:43 pm
- Благодарил (а): 9 раз
- Поблагодарили: 6 раз
Re: голосовое оповещение про открытую дверь
Вообще схема подтяжки GPIO неправильная... верно подключить на GPIO через резистор 4.7 кОм от +3,3 В (так называемая, подтяжка на плюс)...olehs писал(а):Получился делитель напряжения. На GPIO14 будет 1,05В.
Может лучше без 4,7К?
геркон замыкает прямой ноль без всяких резисторов!
-
- Сообщения: 35
- Зарегистрирован: Вт сен 13, 2016 8:43 pm
- Благодарил (а): 9 раз
- Поблагодарили: 6 раз
Re: голосовое оповещение про открытую дверь
зачем двойное использование GPIO14 ?yurat2008 писал(а): Указываем (в настройках прошивки wifi-iot ) GPIO к которому подключен датчик в поле "Int1 on GPIO14", где 1 - номер прерывания 1. Выбираем режим "Active send". Драйвер 1. В нижней части выбираем режим mode в зависимости от требований. Если указать "Any" , то событие будет обрабатываться как при начале движения и его окончании. При указании "Pos" будет срабатывать только при начале движения. Во вкладке Gpio выставляем Gpio14 input.
достаточно ИЛИ через прерывание 1 сделать со свойством "any" и ловить в мажоре топик "Int1 on GPIO14" с нулем или единицей
ИЛИ ловить вход на GPIO14 простой ноль или единицу