Подключаем датчик открытия въездных ворот
Модератор: immortal
Подключаем датчик открытия въездных ворот
Обсуждение страницы Подключаем датчик открытия въездных ворот
-
- Сообщения: 90
- Зарегистрирован: Ср фев 06, 2013 1:12 pm
- Откуда: Россия, Москва
- Благодарил (а): 35 раз
- Поблагодарили: 6 раз
Re: Подключаем датчик открытия въездных ворот
Помогите пожалуйста настроить датчик открытия входной двери. пытаюсь сделать на базе датчика наличия напряжения на основе ключа 2406.
Что хочу - что бы при открытии двери, выводилось сообщение "Входная дверь открыта", а при закрытии соответственно "Входная дверь закрыта".
Что сделано:
Тут вроде всё хорошо, а вот с кодом statusChanged проблемы. Пробовал прописать код по аналогии с http://smartliving.ru/Main/ScMonitorContact и по аналогии с http://smartliving.ru/Main/ModuleOnewire, но ничего не выходит. Время обновления обновляется, также меняется status, а вот в statusText ничего не появляется, ну и конечно и истории событий тишина.
Варианты того, что пробовал:
P.S. Не знаю, пригодится ли эта информация, для решения моей проблемы, но выключатель на базе DS2413 у меня работает отлично, использую такой код, в методе statusChanged:
Что хочу - что бы при открытии двери, выводилось сообщение "Входная дверь открыта", а при закрытии соответственно "Входная дверь закрыта".
Что сделано:
Тут вроде всё хорошо, а вот с кодом statusChanged проблемы. Пробовал прописать код по аналогии с http://smartliving.ru/Main/ScMonitorContact и по аналогии с http://smartliving.ru/Main/ModuleOnewire, но ничего не выходит. Время обновления обновляется, также меняется status, а вот в statusText ничего не появляется, ну и конечно и истории событий тишина.
Варианты того, что пробовал:
Код: Выделить всё
if ($params['VALUE']) {
$this->setProperty("status","0");
//say('Входная дверь закрыта');
Явно что то делаю не так, а что не могу понять.
$this->setProperty('statusText','Включено');
} else {
$this->setProperty("status","1");
//say('Входная дверь открыта');
$this->setProperty('statusText','Выключено');
}
Код: Выделить всё
if ((int)$params['status']==0) {
say("Внимание! Открывается въезд в гараж.",5);
} else {
say("Гараж закрыт.",5);
}
if ($params['status']) {
$this->setProperty('statusText','закрыто');
} else {
$this->setProperty('statusText','открыто');
}
Код: Выделить всё
if ($params['VALUE']) {
sg("status","0");
say('Входная дверь открыта', 1);
$this->setProperty('statusText','открыто');
} else {
sg("status","1");
say('Входная дверь открыта', 1);
$this->setProperty('statusText','закрыто');
}
Код: Выделить всё
if ($params['VALUE']) {
$this->setProperty("status","1");
say('Освещение включено');
$this->setProperty('statusText','Включено');
} else {
$this->setProperty("status","0");
say('Освещение выключено');
$this->setProperty('statusText','Выключено');
}
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Подключаем датчик открытия въездных ворот
попробуем...
код для модуля 1-wire (установку updatedTime можно убрать):
код метода Door.statusChanged:
привязку к свойству можно оставить как есть, раз она работает
код для модуля 1-wire (установку updatedTime можно убрать):
Код: Выделить всё
if (isset($params['sensed.B'])) {
callMethod('Door.statusChanged',array('VALUE'=>$params['sensed.B']['VALUE']));
}
Код: Выделить всё
$this->setProperty('updatedTime',time());
if ($params['VALUE']) {
say('Входная дверь закрыта');
$this->setProperty('statusText','Открыто');
} else {
say('Входная дверь открыта');
$this->setProperty('statusText','Закрыто');
}
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 90
- Зарегистрирован: Ср фев 06, 2013 1:12 pm
- Откуда: Россия, Москва
- Благодарил (а): 35 раз
- Поблагодарили: 6 раз
Re: Подключаем датчик открытия въездных ворот
Похоже рано кричать "Ура") Как то не корректно работает. При любом значении выдаёт одно и то же.
и statusText не меняется
Но радует, что хоть как то работает и прогресс на лицо
и statusText не меняется
Но радует, что хоть как то работает и прогресс на лицо
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Подключаем датчик открытия въездных ворот
а попробуй в этом коде
if (isset($params['sensed.B'])) {
callMethod('Door.statusChanged',array('VALUE'=>$params['sensed.B']['VALUE']));
}
изменить на
if (isset($params['sensed.B'])) {
say("all params: ".serialize($params));
say("sensed.B: ".$params['sensed.B']);
callMethod('Door.statusChanged',array('VALUE'=>$params['sensed.B']['VALUE']));
}
и напиши что в чат будет выдавать при открытии/закрытии.
if (isset($params['sensed.B'])) {
callMethod('Door.statusChanged',array('VALUE'=>$params['sensed.B']['VALUE']));
}
изменить на
if (isset($params['sensed.B'])) {
say("all params: ".serialize($params));
say("sensed.B: ".$params['sensed.B']);
callMethod('Door.statusChanged',array('VALUE'=>$params['sensed.B']['VALUE']));
}
и напиши что в чат будет выдавать при открытии/закрытии.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 90
- Зарегистрирован: Ср фев 06, 2013 1:12 pm
- Откуда: Россия, Москва
- Благодарил (а): 35 раз
- Поблагодарили: 6 раз
Re: Подключаем датчик открытия въездных ворот
При открытии
16:05 : Входная дверь закрыта
16:05 : sensed.B: Array
16:05 : all params: a:3:{s:6:"memory";a:2:{s:9:"OLD_VALUE";s:0:"";s:5:"VALUE";s:0:"";}s:8:"sensed.B";a:2:{s:9:"OLD_VALUE";s:1:"1";s:5:"VALUE";s:1:"1";
При закрытии
16:06 : Входная дверь закрыта
16:06 : sensed.B: Array
16:06 : all params: a:1:{s:8:"sensed.B";a:2:{s:9:"OLD_VALUE";s:0:"";s:5:"VALUE";b:1;}}
Открыто
16:09 : Входная дверь закрыта
16:09 : sensed.B: Array
16:09 : all params: a:3:{s:6:"memory";a:2:{s:9:"OLD_VALUE";s:0:"";s:5:"VALUE";s:0:"";}s:8:"sensed.B";a:2:{s:9:"OLD_VALUE";s:1:"1";s:5:"VALUE";s:1:"1";
И опять закрыто
6:12 : Входная дверь закрыта
16:12 : sensed.B: Array
16:12 : all params: a:1:{s:8:"sensed.B";a:2:{s:9:"OLD_VALUE";s:0:"";s:5:"VALUE";b:1;}}
16:05 : Входная дверь закрыта
16:05 : sensed.B: Array
16:05 : all params: a:3:{s:6:"memory";a:2:{s:9:"OLD_VALUE";s:0:"";s:5:"VALUE";s:0:"";}s:8:"sensed.B";a:2:{s:9:"OLD_VALUE";s:1:"1";s:5:"VALUE";s:1:"1";
При закрытии
16:06 : Входная дверь закрыта
16:06 : sensed.B: Array
16:06 : all params: a:1:{s:8:"sensed.B";a:2:{s:9:"OLD_VALUE";s:0:"";s:5:"VALUE";b:1;}}
Открыто
16:09 : Входная дверь закрыта
16:09 : sensed.B: Array
16:09 : all params: a:3:{s:6:"memory";a:2:{s:9:"OLD_VALUE";s:0:"";s:5:"VALUE";s:0:"";}s:8:"sensed.B";a:2:{s:9:"OLD_VALUE";s:1:"1";s:5:"VALUE";s:1:"1";
И опять закрыто
6:12 : Входная дверь закрыта
16:12 : sensed.B: Array
16:12 : all params: a:1:{s:8:"sensed.B";a:2:{s:9:"OLD_VALUE";s:0:"";s:5:"VALUE";b:1;}}
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Подключаем датчик открытия въездных ворот
класс! нашёлся баг
я обновил исходники, в частности файл modules\onewire\onewire.class.php
там была ошибка и похоже отправлялось не то значение (всегда 1 даже если в 1-wire устанавливалось в 0)
теперь можно обновиться из исходников, либо взять только указанный файл здесь: https://github.com/sergejey/majordomo/b ... .class.php
я обновил исходники, в частности файл modules\onewire\onewire.class.php
там была ошибка и похоже отправлялось не то значение (всегда 1 даже если в 1-wire устанавливалось в 0)
теперь можно обновиться из исходников, либо взять только указанный файл здесь: https://github.com/sergejey/majordomo/b ... .class.php
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 90
- Зарегистрирован: Ср фев 06, 2013 1:12 pm
- Откуда: Россия, Москва
- Благодарил (а): 35 раз
- Поблагодарили: 6 раз
Re: Подключаем датчик открытия въездных ворот
Отлично! Вот теперь, работает как надо! Спасибо Сергей!