есть особенность 1-wire ключей (status)

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

есть особенность 1-wire ключей (status)

Сообщение Vovix » Ср ноя 12, 2014 1:54 am

обнаружил особенность связанных данных из 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!
мне так кажется!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: есть особенность 1-wire ключей (status)

Сообщение ErmolenkoM » Ср ноя 12, 2014 7:02 am

Абстрактное решение:
Имеем свойство А. Пространство возможных состояний {"","1"}
Создаем еще одно свойство Б. Оно будет отображаться в меню.
Создаем выключатель и связываем его со свойством Б.
В свойстве А привязываем метод "выполнять при изменении свойства А" в коде устанавливаем свойство Б:

Код: Выделить всё

Если значение свойства А = "" то установить значение свойства Б := "0", иначе Б := "1" 
aka msh555
Cubian на Cubietruck, Connect
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: есть особенность 1-wire ключей (status)

Сообщение sergejey » Ср ноя 12, 2014 11:18 am

Добавил наконец в задачи. Давно хотел сделать, чтобы для элементов меню типа "выключатель" можно было задавать свои значения для положения on и off (а не только 1 и 0, как сейчас).

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: есть особенность 1-wire ключей (status)

Сообщение Vovix » Чт ноя 13, 2014 1:56 pm

sergejey писал(а):Добавил наконец в задачи. Давно хотел сделать, чтобы для элементов меню типа "выключатель" можно было задавать свои значения для положения on и off (а не только 1 и 0, как сейчас).
Спасибо Сергей!

а то решения в виде "костылей" не совсем красивы!
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: есть особенность 1-wire ключей (status)

Сообщение sergejey » Чт ноя 13, 2014 3:09 pm

добавил возможность задавать значения
Изображение
первая строка это значение для off, вторая для on
если ничего не задавать, то будет как и раньше 0 и 1
За это сообщение автора sergejey поблагодарил:
fiberline (Пт ноя 14, 2014 5:23 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
fiberline
Сообщения: 20
Зарегистрирован: Ср мар 26, 2014 9:44 pm
Благодарил (а): 26 раз
Поблагодарили: 0

Re: есть особенность 1-wire ключей (status)

Сообщение fiberline » Чт ноя 13, 2014 11:12 pm

Помогайте люди добрые! Прочитал эту тему и обрадовался, вот оно решение моей проблемы, но рано радоваться было!
Суть проблемы похожа на описанную в этой теме.
Есть ардуино + релейный блок и МЖД, статус переключателя в меню привязан к статусу цифрового выхода ардуино через web-переменную, все работает читается управляется, но есть одно но, при изменении состояния выхода ардуино на противоположное, через несколько секунд состояние переключателя в меню меняется обратно(делаю ВКЛЮЧИТЬ-реле включается но через пару секунд выключатель в меню сам возвращается в положение выкл., а реле при этом остается включенным и на оборот также ).
Подозревал, что проблема в ардуине, мне пришлось подправить прошивку так-как у меня релейные блоки управляются инверсным сигналом "1-выключено 0-включено". Прочитал эту тему, обновился, ввел поправки в выключатель меню, но проблема повернулась ко мне другим боком, теперь проблема та же только теперь реле включается когда двигаешь переключатель в положение выкл. и выключается при сдвиге в вкл. Может это я накосячил где, вроде все по мануалам делал?
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: есть особенность 1-wire ключей (status)

Сообщение ErmolenkoM » Пт ноя 14, 2014 6:52 am

fiberline писал(а):Помогайте люди добрые!
ссылку на коннект, плиз.
За это сообщение автора ErmolenkoM поблагодарил:
fiberline (Пт ноя 14, 2014 5:22 pm)
Рейтинг: 1.16%
aka msh555
Cubian на Cubietruck, Connect
fiberline
Сообщения: 20
Зарегистрирован: Ср мар 26, 2014 9:44 pm
Благодарил (а): 26 раз
Поблагодарили: 0

Re: есть особенность 1-wire ключей (status)

Сообщение fiberline » Пт ноя 14, 2014 3:56 pm

msh555 писал(а):
fiberline писал(а):Помогайте люди добрые!
ссылку на коннект, плиз.
Ссылка http://connect.smartliving.ru/profile/279
Вложения
scrin.png
Приложил файл скриншота
scrin.png (271.28 КБ) 18467 просмотров
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: есть особенность 1-wire ключей (status)

Сообщение ErmolenkoM » Пт ноя 14, 2014 6:12 pm

1 уберите вызов сценария из выключателя, я так понимаю, что в свойстве StatusOutD3 дергается в метод On-Off. Так что команда на ардуину уйдет и без вызова сценария.
2. Зачем обратная связь через вебварс? реле можно перещелкнуть из другого места? Попробуйте убрать, вдруг из-за вебварсов(код не вижу в конекте) хотя скорее первый вариант.
aka msh555
Cubian на Cubietruck, Connect
fiberline
Сообщения: 20
Зарегистрирован: Ср мар 26, 2014 9:44 pm
Благодарил (а): 26 раз
Поблагодарили: 0

Re: есть особенность 1-wire ключей (status)

Сообщение fiberline » Пт ноя 14, 2014 6:36 pm

По первому варианту, как и ожидаемо выключатель перестает управлять релюхой.
По 2-му варианту, обратная связь нужна так как управление будет из разных мест и еще по таймеру(в веб варс нет кода, все выполнено встроенными средствами(поиск в строке по шаблону)).
Кстати если убрать связь с веб варс то работает корректно но соответственно не связано одно с другим.
Может я неправильно связываю веб переменную со свойством?
Ответить