Страница 1 из 7
есть особенность 1-wire ключей (status)
Добавлено: Ср ноя 12, 2014 1:54 am
Vovix
обнаружил особенность связанных данных из 1-wire:
например если есть объект и свойство -
гардероб 2-й этаж.status
если он привязан, например, к устройству 1-wire -
2_cloakroom, а именно к данным называемым -
sensed.B, т.к. именно по ним мой ключ 1-wire чувствует включена нагрузка (свет) или нет
то в силу видимо технических особенностей при включенной нагрузке там "
1" как и положено, а вот при выключенной .... неа... не "
0", а "" - пустая строка
NULL
В итоге результат - в меню в выключателях не корректно отображается положение переключателя (он ждет именно "
0" видимо), приходится принудительно проверять в методе
Код: Выделить всё
$status = $this->getProperty('status');
if ($status != 1) {
$status = 0;
$this->setProperty('status',$status);
}
и соответственно вбивать его насильно, но... при опросе он срывается естественно снова в
NULL
да и в ключе, по сути, нельзя задавать
sensed.B насильно, поэтому MDM ругается (нотисами конечно)
как решение просьба: наверно к Сергею, на элементе меню - выключатель, менять его положение в состояние ВЫКЛЮЧЕН (ползунок влево) не только на "
0" но и на значении
NULL!
мне так кажется!
Re: есть особенность 1-wire ключей (status)
Добавлено: Ср ноя 12, 2014 7:02 am
ErmolenkoM
Абстрактное решение:
Имеем свойство А. Пространство возможных состояний {"","1"}
Создаем еще одно свойство Б. Оно будет отображаться в меню.
Создаем выключатель и связываем его со свойством Б.
В свойстве А привязываем метод "выполнять при изменении свойства А" в коде устанавливаем свойство Б:
Код: Выделить всё
Если значение свойства А = "" то установить значение свойства Б := "0", иначе Б := "1"
Re: есть особенность 1-wire ключей (status)
Добавлено: Ср ноя 12, 2014 11:18 am
sergejey
Добавил наконец в задачи. Давно хотел сделать, чтобы для элементов меню типа "выключатель" можно было задавать свои значения для положения on и off (а не только 1 и 0, как сейчас).
Re: есть особенность 1-wire ключей (status)
Добавлено: Чт ноя 13, 2014 1:56 pm
Vovix
sergejey писал(а):Добавил наконец в задачи. Давно хотел сделать, чтобы для элементов меню типа "выключатель" можно было задавать свои значения для положения on и off (а не только 1 и 0, как сейчас).
Спасибо Сергей!
а то решения в виде "костылей" не совсем красивы!
Re: есть особенность 1-wire ключей (status)
Добавлено: Чт ноя 13, 2014 3:09 pm
sergejey
добавил возможность задавать значения

первая строка это значение для off, вторая для on
если ничего не задавать, то будет как и раньше 0 и 1
Re: есть особенность 1-wire ключей (status)
Добавлено: Чт ноя 13, 2014 11:12 pm
fiberline
Помогайте люди добрые! Прочитал эту тему и обрадовался, вот оно решение моей проблемы, но рано радоваться было!
Суть проблемы похожа на описанную в этой теме.
Есть ардуино + релейный блок и МЖД, статус переключателя в меню привязан к статусу цифрового выхода ардуино через web-переменную, все работает читается управляется, но есть одно но, при изменении состояния выхода ардуино на противоположное, через несколько секунд состояние переключателя в меню меняется обратно(делаю ВКЛЮЧИТЬ-реле включается но через пару секунд выключатель в меню сам возвращается в положение выкл., а реле при этом остается включенным и на оборот также ).
Подозревал, что проблема в ардуине, мне пришлось подправить прошивку так-как у меня релейные блоки управляются инверсным сигналом "1-выключено 0-включено". Прочитал эту тему, обновился, ввел поправки в выключатель меню, но проблема повернулась ко мне другим боком, теперь проблема та же только теперь реле включается когда двигаешь переключатель в положение выкл. и выключается при сдвиге в вкл. Может это я накосячил где, вроде все по мануалам делал?
Re: есть особенность 1-wire ключей (status)
Добавлено: Пт ноя 14, 2014 6:52 am
ErmolenkoM
fiberline писал(а):Помогайте люди добрые!
ссылку на коннект, плиз.
Re: есть особенность 1-wire ключей (status)
Добавлено: Пт ноя 14, 2014 3:56 pm
fiberline
msh555 писал(а):fiberline писал(а):Помогайте люди добрые!
ссылку на коннект, плиз.
Ссылка
http://connect.smartliving.ru/profile/279
Re: есть особенность 1-wire ключей (status)
Добавлено: Пт ноя 14, 2014 6:12 pm
ErmolenkoM
1 уберите вызов сценария из выключателя, я так понимаю, что в свойстве StatusOutD3 дергается в метод On-Off. Так что команда на ардуину уйдет и без вызова сценария.
2. Зачем обратная связь через вебварс? реле можно перещелкнуть из другого места? Попробуйте убрать, вдруг из-за вебварсов(код не вижу в конекте) хотя скорее первый вариант.
Re: есть особенность 1-wire ключей (status)
Добавлено: Пт ноя 14, 2014 6:36 pm
fiberline
По первому варианту, как и ожидаемо выключатель перестает управлять релюхой.
По 2-му варианту, обратная связь нужна так как управление будет из разных мест и еще по таймеру(в веб варс нет кода, все выполнено встроенными средствами(поиск в строке по шаблону)).
Кстати если убрать связь с веб варс то работает корректно но соответственно не связано одно с другим.
Может я неправильно связываю веб переменную со свойством?