Доступ к описанию объекта

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

Модератор: immortal

Ответить
diver
Сообщения: 114
Зарегистрирован: Пн мар 27, 2017 8:01 pm
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Доступ к описанию объекта

Сообщение diver » Ср ноя 20, 2019 12:36 pm

Всем привет!
В классе SDevices создал новое свойство battery_level. Прибил его к Хиаомивским датчикам.

Тут получаю список всех объектов, где это свойство есть: XiSensor_temphum01 XiSensor_temphum02 XiSensor_temphum04

$objects = getObjectsByProperty('battery_level');
foreach($objects as $obj) {
say($obj,2);
}

Как получить текстовое описание объекта?
Пробовал так:
$objects = getObjectsByProperty('battery_level');
foreach($objects as $obj) {
$desc = $obj->description;
say($desc,2);
}
На выходе пустое значение. var_dump($desc); выдает NULL
В базе свойство есть, пробовал заменить на что-то короткое - не помогает.
PS
Мне казалось, что раньше я это делал без проблем..
Вложения
major1.PNG
major1.PNG (49.44 КБ) 1851 просмотр
major2.PNG
major2.PNG (19.16 КБ) 1851 просмотр
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: Доступ к описанию объекта

Сообщение xor » Ср ноя 20, 2019 5:41 pm

Про это уже жаловались ( Несмотря на похожее название getObjectsByProperty () возвращает не объекты, а их имена(

https://connect.smartliving.ru/ideas/272.html

Промежуточной функцией попробуйте воспользоваться getObject($obj)

Отправлено с моего Redmi 4X через Tapatalk



За это сообщение автора xor поблагодарил:
diver (Ср ноя 20, 2019 6:50 pm)
Рейтинг: 1.16%
diver
Сообщения: 114
Зарегистрирован: Пн мар 27, 2017 8:01 pm
Благодарил (а): 7 раз
Поблагодарили: 1 раз

Re: Доступ к описанию объекта

Сообщение diver » Ср ноя 20, 2019 6:50 pm

xor писал(а):
Ср ноя 20, 2019 5:41 pm

Промежуточной функцией попробуйте воспользоваться getObject($obj)
Спасибо! Так получается.
$objects = getObjectsByProperty('battery_level');

foreach($objects as $obj) {
$obj1 = getObject($obj);
$obj2 = $obj1->description;
say($obj2,2);

}
Ответить