Страница 40 из 124

Re: Простые устройства / Simple Devices

Добавлено: Чт дек 14, 2017 8:20 am
TransMatrix
xor писал(а):Если у Вас statusupdated вызывается при изменении свойства, удобно пользоваться $params['OLD_VALUE'] и $params['NEW_VALUE'], соотв, было и стало. Не надо плодить доп. переменных, просто отслеживать нужный переход, например, из 0 в 1 :
if( $params['OLD_VALUE'] ==0&&$params['NEW_VALUE']==1){$value = $value+1;}

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

$Stat      = $params['NEW_VALUE'];
$StatOld = $params['OLD_VALUE'];
$Delta      = $this->getProperty('delta');

if (($Stat!=$StatOld) && ($Stat==1))
    {
     $val = $this->getProperty('value');
     $this->setProperty('value', ($val+$Delta));
    } 
Переписал.
Параметр delta - значение, на которое при тике меняется value: это не всегла единица, т.к. у водосчетчика считаются кубометры как дробная, а тик - по докам раз в 10 литров.

Upd: Полазил по исходникам. Counter - то-ли заготовка, то-ли считается, что в Value данные приходят с устройства в готовом виде... Но факт - никаких считающих функций внутри нет!

Вообще, хочется, конечно, от Сергея услышать ааторитетное мнение "что для чего и за что какой параметр отвечает для простых устройств?!"

Re: Простые устройства / Simple Devices

Добавлено: Вс дек 17, 2017 9:52 am
sergejey
TransMatrix писал(а):Upd: Полазил по исходникам. Counter - то-ли заготовка, то-ли считается, что в Value данные приходят с устройства в готовом виде... Но факт - никаких считающих функций внутри нет!

Вообще, хочется, конечно, от Сергея услышать ааторитетное мнение "что для чего и за что какой параметр отвечает для простых устройств?!"
Всё верно, это пока заготовка на будущее. Если опишете, как вам видится этот элемент, то сможем совместно его доработать.

Re: Простые устройства / Simple Devices

Добавлено: Вс дек 17, 2017 10:26 am
TransMatrix
1. Добавить "шаг" - значение, на которое при тике изменяется счетчик. По умолчанию - 0 или 1.
2. Два варианта - или привязка к value, если счетчик выдает сразу значение, как электрический, или к status - если он "тиковый". Для статуса - возможность выбрать по нижнему или верхнему "фронту".
3. Как вариант - сделать время действия. Для многотарифных, к примеру. Т.е. в заданный период он считает, а если вне периода - может считать другой счетчик, настроенный на этот диапазон. Актуально для электро: только учесть, что "полупик" у них дважды в сутки. Скорее всего - реализовать как кнопку "добавить время работы"?
4. Как хотелки - добавить "сколько за час-день-неделю-месяц". Чтобы на график выводить. Но это уже не "простое" выйдет! ;)
5. Не знаю, надо или нет привязывать к исполнительным?! Не могу ситуацию представить просто!

Re: Простые устройства / Simple Devices

Добавлено: Вс дек 17, 2017 1:01 pm
olegvolk75
Всем привет!
Подскажите, как для простых устройств реализовать переключение автоматического/ручного режима работы?
Поясню: у меня в простых устройствах есть реле, которое включается и выключается по датчику температуры (датчик тоже в простых устройствах). Вручную реле управлять не получается, т.к. оно в течении нескольких секунд после ручного включения/выключения возвращается к состоянию, которое задается уставками датчика температуры.
Можно ли в рамках простых устройств реализовать переключатель типа вкл\авто(по датчику)\выкл? Как это сделать, если реле в другом классе, вроде теоретически понятно, но хотелось бы именно через простые устройства, с ними достаточно удобно работать простому пользователю.
Заранее спасибо за подсказки!

Re: Простые устройства / Simple Devices

Добавлено: Пн дек 18, 2017 2:21 pm
Diablo183

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

Error executing job Motion02_updateTime (649660): (/var/www/lib/common.class.php) 

Re: Простые устройства / Simple Devices

Добавлено: Пн дек 18, 2017 6:25 pm
dr.pavlov.alex
Diablo183 писал(а):

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

Error executing job Motion02_updateTime (649660): (/var/www/lib/common.class.php)
Аналогичная ошибка. Писал о ней уже где-то. Давно появилась.

Re: Простые устройства / Simple Devices

Добавлено: Пн дек 18, 2017 6:27 pm
dr.pavlov.alex
olegvolk75 писал(а):Всем привет!
Подскажите, как для простых устройств реализовать переключение автоматического/ручного режима работы?
Поясню: у меня в простых устройствах есть реле, которое включается и выключается по датчику температуры (датчик тоже в простых устройствах). Вручную реле управлять не получается, т.к. оно в течении нескольких секунд после ручного включения/выключения возвращается к состоянию, которое задается уставками датчика температуры.
Можно ли в рамках простых устройств реализовать переключатель типа вкл\авто(по датчику)\выкл? Как это сделать, если реле в другом классе, вроде теоретически понятно, но хотелось бы именно через простые устройства, с ними достаточно удобно работать простому пользователю.
Заранее спасибо за подсказки!
То что вы хотите на мой взгляд уже не есть просты устройства.

Re: Простые устройства / Simple Devices

Добавлено: Пн дек 18, 2017 7:50 pm
olegvolk75
dr.pavlov.alex писал(а): То что вы хотите на мой взгляд уже не есть просты устройства.
Ну, это вопрос терминологии :) . В принципе подозревал, что скорее всего не получится, но хотел услышать мнения знатоков. Я пока только учусь :D .

Re: Простые устройства / Simple Devices

Добавлено: Вт дек 19, 2017 2:16 am
zoz
Перевел все девайсы на простые устройства(ПУ), очень удобно.
Но вопрос о быстродействии:
У меня настроено автоматическое управление светом. И выходит так что обработка события движения через модуль Rules проходит на ~0.5 сек раньше, чем через поле "Действия" ПУ.
Куда же прописывать обработку событий чтоб они максимально быстро выполнялись?

После крайнего обновления, во вкладке простых устройств пропало отображение иконок (реле, открытия) кроме датчиков протечки (было в виде кружочков). Это так и нужно?
Спасибо Сергею добавил много иконок для информеров, но жаль что ни одна не цепляется при добавления датчика открытия в сцену.
UPD: все стало ок после 2 ребутов.

Еще смущает огромное количество Alive таймеров, хотелось бы иметь возможность отключать проверку Живости у каких-то отдельных устройств.

UPD:
Добавились ошибки вида:
Error executing job Sensor_temp06_updateTime (43516950): (/var/www/lib/common.class.php)

Re: Простые устройства / Simple Devices

Добавлено: Вт дек 19, 2017 10:17 am
nick7zmail
Чтобы максимально быстро работало - создаёте класс, объект и свойство с привязанным методом, и направляете реакцию от датчика туда...такого быстродействия внутри системы другими встроенными средствами де добиться, ибо там цепочка действий гораздо длиннее (что в rules, что в ПУ).

Вообще (касаемо, уже, железной реализации) - я склоняюсь к тому, что если по движению нужно что-то делать (включать свет и тп)- надо делать это в рамках одного контроллера. Т.е. хотите включать свет по движению...сделайте датчик движения на esp (например), и к этой же esp цепляйте реле управления светом...реакция будет моментальная (зависящая от частоты главного чипа контроллера, но вы это даже не заметите), а в мд уже посылайте любым способом оповещения формата "сработал датчик движения" или "включился свет". В противном случае присутствует такое очень медленное звено, как сеть...скорости там, хоть и большие, но устройству сперва надо сформировать запрос, инициализировать подключение, заслать запрос, роутеру обработать его, заслать в конечный адрес, серверу принять, распарсить, выставить куда надо значение, и только тогда пойдет реакция...а если реакция через сеть - то собственно такая же цепочка вызовов пойдет обратно...