Страница 5 из 124
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 9:24 am
sergejey
Я не очень понимаю вопрос... А чем всё-таки не устраивает способ 2? Второй способ как раз подразумевает передачу основных параметров от модуля (включая linked_object и не важно задан он уже или нет). Пользователь сам может выбрать в открывшемся окне расположение (и вполне логично ему самому его выбирать).
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 9:33 am
nick7zmail
С открывающимся окном у тебя как раз первый способ...говорю - он работает отлично...но название и т.п. надо самим пользователям вбивать.....
К нему вопрос только - можно ли доп параметры передать? Например название устройства?
А кодом - это второй способ, который описан, с ним и связаны остальные вопросы...поправил то сообщение....наверное сбило, что код вначале был))
Он лучше первого? Там же вроде как больше "автоматизации" процесса?
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 9:51 am
sergejey
Тот способ, который сейчас реализован в модулях Noolite и Xiaomi, я для себя определил как стандартный для связи железа и простых устройств. Как мне кажется, там как раз компромис между тем, что остаётся на стороне модуля, а что позволять делать пользователю. Этот баланс можно, конечно, смещать в ту или другую сторону, но уже средствами кода, который будет в модуле.
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 10:42 am
nick7zmail
Ладно, спасибо, тогда остановлюсь тоже на первом))
Ещё тогда вопросик в дагонку....
В бродлинке есть датчик А1, у него 5 параметров...температура, влажность - понятно...
А вот остальные - модуль передаёт шум, освещенность, и качество воздуха цифрой от 0 до 2 (свет до 3 вроде), а так же словесное описание каждого из параметров (тоже 3 штуки)...
Вот скрин чей-то (для примера)
viewtopic.php?p=51575#p51575
Я так полагаю для цифр можно применить датчик состояния? (самого устройства нет, не могу проверить как это выглядит)
А словесное описание - просто надпись (хорошо/плохо/превосходно и т.п.) по словам пользователей оно более информативно....к этому какой либо тип простого устройства можно привязать? Или может ввести устройство типа информер? Посоветуй что-нибудь))
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 10:52 am
sergejey
Не обязательно все свойства привязывать к какому-то типу из Простых устройств. В идеале, конечно, в простых устройствах должны быть заведены все возможные показатели, для них должен быть сделан интерфейс, реализованы типовые сценарии использования, а так же возможные связи с другими устройствами, но, к сожалению, на то он и идеал, что б к нему стремиться, а не получать сразу. Собственно, сейчас, в случае, когда какой-то параметр не вписывается ни в один из типов простых устройств, то в самом модуле я не даю пользователю возможности такой привязки. Если мне нужно с этими данными как-то работать, то я вручную добавляю недостающее свойство в один из объектов (или классов) и привязываю его так же, как это было до создания модуля простые устройства.
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 10:58 am
nick7zmail
Ну возможность привязки то остаётся...и понятное дело, что можно не вводить интерфейс привязки для некоторых свойств...я пока только для температуры вообще добавил))...но хотелось бы привязать все)) вот и спрашиваю совет, можно ли к какому-то устройству привязывать цифры и надписи?
UPD: Вопрос снимается))) Датчики состояния, как оказывается нормально показывают как цифры, так и текст.
PS: можно таки попросить добавить одну (необязательную, т.е. может быть указана, может быть не указана) опцию к модулю? Чтобы имя генерировалось, для ленивых пользователей))
[#module name="devices" action="link" title="<#TITLE#>_<#PROPERTIES.TITLE#>" type="<#PROPERTIES.SDEVICE_TYPE#>" source_table="dev_broadlink_commands" source_table_id="<#PROPERTIES.ID#>" linked_object="<#PROPERTIES.LINKED_OBJECT#>"#]
Таким образом в имя будет сразу вписываться ИмяУстройства_ИмяСвойства. Думаю полезная штука. Естественно кому не понравится - можно переименовать.
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 5:20 pm
nick7zmail
Сергей...подскажи плс...
Смотри - добавляю к одному из данных простой девайс "relay" ... открывается окно, нажимаю "создать объект автоматически" галочку, тыкаю создать.
Простое устройство добавляется, создаётся объект, в мою таблицу вписывается связанный объект и свойство...
НО! свойство не привязывается к модулю...это так задумано?
Код вот такой есть
Код: Выделить всё
if ($properties[$i]['LINKED_OBJECT'] && $properties[$i]['LINKED_PROPERTY']) {
addLinkedProperty($properties[$i]['LINKED_OBJECT'], $properties[$i]['LINKED_PROPERTY'], $this->name);
}
Его надо как то дополнительно запустить после добавления простого устройства??
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 5:23 pm
sergejey
Да, есть такая особенность -- модуль простых устройств не умеет делать привязку созданного свойства к тому модулю, который инициировал добавление.
Если посмотреть тот же модуль ноолайт и другие, то там блок связи вынесен из условия update и поставлен на вывод списка, т.е. идёт автоматическая привязка при каждом обновлении страницы
Код: Выделить всё
if ($properties[$i]['LINKED_OBJECT'] && $properties[$i]['LINKED_PROPERTY']) {
addLinkedProperty($properties[$i]['LINKED_OBJECT'], $properties[$i]['LINKED_PROPERTY'], $this->name);
}
Не совсем красиво, но работает "железо-бетонно" и не создаёт дублирующихся привязок (за это отвечает функция addLinkedProperty)
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 5:27 pm
nick7zmail
Ок, гляну, как в ноолайте сделано...так же наверное вынесу.
А как на счет идеи?
nick7zmail писал(а):
PS: можно таки попросить добавить одну (необязательную, т.е. может быть указана, может быть не указана) опцию к модулю? Чтобы имя генерировалось, для ленивых пользователей))
[#module name="devices" action="link" title="<#TITLE#>_<#PROPERTIES.TITLE#>" type="<#PROPERTIES.SDEVICE_TYPE#>" source_table="dev_broadlink_commands" source_table_id="<#PROPERTIES.ID#>" linked_object="<#PROPERTIES.LINKED_OBJECT#>"#]
Таким образом в имя будет сразу вписываться ИмяУстройства_ИмяСвойства. Думаю полезная штука. Естественно кому не понравится - можно переименовать.
Re: Простые устройства / Simple Devices
Добавлено: Сб апр 29, 2017 5:28 pm
sergejey
Я пометил себе, добавлю. Можно уже прописать в вызове, а как доработается модуль простых устройств, то оно сразу и подхватится.