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

Новые релизы, обновления и т.п.

Модератор: immortal

TransMatrix
Сообщения: 186
Зарегистрирован: Вс май 28, 2017 9:24 am
Благодарил (а): 8 раз
Поблагодарили: 22 раза

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

Сообщение TransMatrix » Чт дек 14, 2017 8:20 am

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 данные приходят с устройства в готовом виде... Но факт - никаких считающих функций внутри нет!

Вообще, хочется, конечно, от Сергея услышать ааторитетное мнение "что для чего и за что какой параметр отвечает для простых устройств?!"
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Вс дек 17, 2017 9:52 am

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

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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
TransMatrix
Сообщения: 186
Зарегистрирован: Вс май 28, 2017 9:24 am
Благодарил (а): 8 раз
Поблагодарили: 22 раза

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

Сообщение TransMatrix » Вс дек 17, 2017 10:26 am

1. Добавить "шаг" - значение, на которое при тике изменяется счетчик. По умолчанию - 0 или 1.
2. Два варианта - или привязка к value, если счетчик выдает сразу значение, как электрический, или к status - если он "тиковый". Для статуса - возможность выбрать по нижнему или верхнему "фронту".
3. Как вариант - сделать время действия. Для многотарифных, к примеру. Т.е. в заданный период он считает, а если вне периода - может считать другой счетчик, настроенный на этот диапазон. Актуально для электро: только учесть, что "полупик" у них дважды в сутки. Скорее всего - реализовать как кнопку "добавить время работы"?
4. Как хотелки - добавить "сколько за час-день-неделю-месяц". Чтобы на график выводить. Но это уже не "простое" выйдет! ;)
5. Не знаю, надо или нет привязывать к исполнительным?! Не могу ситуацию представить просто!
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

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

Сообщение olegvolk75 » Вс дек 17, 2017 1:01 pm

Всем привет!
Подскажите, как для простых устройств реализовать переключение автоматического/ручного режима работы?
Поясню: у меня в простых устройствах есть реле, которое включается и выключается по датчику температуры (датчик тоже в простых устройствах). Вручную реле управлять не получается, т.к. оно в течении нескольких секунд после ручного включения/выключения возвращается к состоянию, которое задается уставками датчика температуры.
Можно ли в рамках простых устройств реализовать переключатель типа вкл\авто(по датчику)\выкл? Как это сделать, если реле в другом классе, вроде теоретически понятно, но хотелось бы именно через простые устройства, с ними достаточно удобно работать простому пользователю.
Заранее спасибо за подсказки!
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
Diablo183
Сообщения: 3
Зарегистрирован: Пт сен 15, 2017 5:45 pm
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Diablo183 » Пн дек 18, 2017 2:21 pm

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

Error executing job Motion02_updateTime (649660): (/var/www/lib/common.class.php) 
OrangePIPC
dr.pavlov.alex
Сообщения: 103
Зарегистрирован: Вс апр 23, 2017 7:09 pm
Благодарил (а): 38 раз
Поблагодарили: 1 раз

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

Сообщение dr.pavlov.alex » Пн дек 18, 2017 6:25 pm

Diablo183 писал(а):

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

Error executing job Motion02_updateTime (649660): (/var/www/lib/common.class.php)
Аналогичная ошибка. Писал о ней уже где-то. Давно появилась.
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
dr.pavlov.alex
Сообщения: 103
Зарегистрирован: Вс апр 23, 2017 7:09 pm
Благодарил (а): 38 раз
Поблагодарили: 1 раз

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

Сообщение dr.pavlov.alex » Пн дек 18, 2017 6:27 pm

olegvolk75 писал(а):Всем привет!
Подскажите, как для простых устройств реализовать переключение автоматического/ручного режима работы?
Поясню: у меня в простых устройствах есть реле, которое включается и выключается по датчику температуры (датчик тоже в простых устройствах). Вручную реле управлять не получается, т.к. оно в течении нескольких секунд после ручного включения/выключения возвращается к состоянию, которое задается уставками датчика температуры.
Можно ли в рамках простых устройств реализовать переключатель типа вкл\авто(по датчику)\выкл? Как это сделать, если реле в другом классе, вроде теоретически понятно, но хотелось бы именно через простые устройства, с ними достаточно удобно работать простому пользователю.
Заранее спасибо за подсказки!
То что вы хотите на мой взгляд уже не есть просты устройства.
Aopen de7000 на Ubuntu 16.04.4 LTS+Broadlink
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

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

Сообщение olegvolk75 » Пн дек 18, 2017 7:50 pm

dr.pavlov.alex писал(а): То что вы хотите на мой взгляд уже не есть просты устройства.
Ну, это вопрос терминологии :) . В принципе подозревал, что скорее всего не получится, но хотел услышать мнения знатоков. Я пока только учусь :D .
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
zoz
Сообщения: 74
Зарегистрирован: Чт авг 11, 2016 1:19 am
Откуда: Киев
Благодарил (а): 6 раз
Поблагодарили: 41 раз

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

Сообщение zoz » Вт дек 19, 2017 2:16 am

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

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

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

UPD:
Добавились ошибки вида:
Error executing job Sensor_temp06_updateTime (43516950): (/var/www/lib/common.class.php)
Последний раз редактировалось zoz Ср дек 20, 2017 10:59 pm, всего редактировалось 1 раз.
Домик Алисы - Orange Pi PC, DietPi | +BroadlinkRM+esp8266(espEasy)+zigbee(sonoff,Aqara)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Вт дек 19, 2017 10:17 am

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

Вообще (касаемо, уже, железной реализации) - я склоняюсь к тому, что если по движению нужно что-то делать (включать свет и тп)- надо делать это в рамках одного контроллера. Т.е. хотите включать свет по движению...сделайте датчик движения на esp (например), и к этой же esp цепляйте реле управления светом...реакция будет моментальная (зависящая от частоты главного чипа контроллера, но вы это даже не заметите), а в мд уже посылайте любым способом оповещения формата "сработал датчик движения" или "включился свет". В противном случае присутствует такое очень медленное звено, как сеть...скорости там, хоть и большие, но устройству сперва надо сформировать запрос, инициализировать подключение, заслать запрос, роутеру обработать его, заслать в конечный адрес, серверу принять, распарсить, выставить куда надо значение, и только тогда пойдет реакция...а если реакция через сеть - то собственно такая же цепочка вызовов пойдет обратно...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить