Включение света по датчику движения
Модератор: immortal
-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Включение света по датчику движения
У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Включение света по датчику движения
Мгновенно реагировать из системы на изменение свойств 1wire не получится. Точнее, придётся исхитриться. Система опрашивает значение свойств 1-wire в лучшем случае раз в секунду (если добавить свойство в "избранные"). Для мгновенной реакции нужно чтобы был какой-то отдельный "демон" который либо опрашивал сеть чаще чем раз в секунду либо как-то работал по принципу реагирования на событие, если OWFS может так работать.Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
Как вариант, сделать эксперимент убрав в цикле ./scripts/cycle_onewire_starred.php задержку опроса шины (строчка sleep(1);).
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 211
- Зарегистрирован: Вт янв 08, 2013 11:50 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 0
- Поблагодарили: 6 раз
Re: Включение света по датчику движения
а если удерживать кнопку до тех пор, пока не произойдет опрос устройства и не сработает реле? Или такой вариант не подходит под условаия задачи?Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Включение света по датчику движения
sergejey писал(а):Мгновенно реагировать из системы на изменение свойств 1wire не получится. Точнее, придётся исхитриться. Система опрашивает значение свойств 1-wire в лучшем случае раз в секунду (если добавить свойство в "избранные"). Для мгновенной реакции нужно чтобы был какой-то отдельный "демон" который либо опрашивал сеть чаще чем раз в секунду либо как-то работал по принципу реагирования на событие, если OWFS может так работать.Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
Как вариант, сделать эксперимент убрав в цикле ./scripts/cycle_onewire_starred.php задержку опроса шины (строчка sleep(1);).
Ну 1 секунда меня устроит после добавления галочки на избранное, я не могу сообразить, куда прописать условие if(Sensed.A=='0') {Rele.status='1'} чтоб оно сразу отработалось, до этого все примеры были где нажимается кнопка и там прописывается код, а сдесь ничего в интерфейсе не нажимается.
-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Включение света по датчику движения
Да, но в каком месте включить реле?anemcov писал(а):а если удерживать кнопку до тех пор, пока не произойдет опрос устройства и не сработает реле? Или такой вариант не подходит под условаия задачи?Urbas81 писал(а):У меня вопрос по DS2413, есть у меня модуль, 1 вход на оптроне и выход на реле, как можно нажав кнопку на данном модуле замкнуть реле программно (при этом Sensed.A перейдет из 1 в 0, в ручном режиме все работает, подаю напряжение на вход оптопары, или замыкаю кнопку которая после оптопары подтягивает линию к 0, и Sensed.A меняется), а вот можно ли его получить, точнее не получить, а обрабатывать мгновенно, в какой цикл его поместиь?
-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Включение света по датчику движения
Перефразирую, есть метод onNewMinute можно ли получить onNewSec, метод который вызывается каждую секунду?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Включение света по датчику движения
Если речь именно о 1-wire, то нет необходимости в таком методе. Делается по-другому -- нужное свойство помечается как избранное и оно будет сканироваться каждую секунду. Далее, можно настроить связанный метод или просто код, который может проверять значение изменившегося свойства. Например, если свойство 1-wire устройства назвыается "Sensed.A", то код может быть таким:Urbas81 писал(а):Перефразирую, есть метод onNewMinute можно ли получить onNewSec, метод который вызывается каждую секунду?
Код: Выделить всё
if ($changed_values['Sensed.A']) {
if ($changed_values['Sensed.A']['VALUE']) {
// значение 1
} else {
// значение 0
}
}
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Включение света по датчику движения
Вставил данный код под таблицей свойств данного датчика в поле: Действие при изменении: Сценарий: никакой реакции, также вместо INA.in ставил Sensed.A
if ($changed_values['INA.in']) {
if ($changed_values['INA.in']['VALUE']) {
say("Питание подано");
} else {
say("Питание пропало");
}
}
галочка на избранное установлена, никакой реакции. Или я не в то место прописал. Спасибо что терпите меня
if ($changed_values['INA.in']) {
if ($changed_values['INA.in']['VALUE']) {
say("Питание подано");
} else {
say("Питание пропало");
}
}
галочка на избранное установлена, никакой реакции. Или я не в то место прописал. Спасибо что терпите меня
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Включение света по датчику движения
А можно скриншот настроек 1-wire устройства (там где видны все свойства и прописанный код)?
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги