Страница 1 из 1

Данные от MQTT брокера создают новое поле в объекте

Добавлено: Сб ноя 09, 2019 12:34 pm
vdscout
Добрый день.

Через меню объекты создал свой класс " Probe".
На уровне класса создал 3 свойства: температура, влажность, освещенность. Каждому свойству установил период хранения = 90 дней.
Создал подчерненный объект "Probe1", объект унаследовал созданные свойства на уровне класса (в списке свойств наименование выделены жирным с "H" в скобках). Пока все ОК.
Через меню MQTT настроил получать топики с сервера MQTT.
Появились топики, которым я соответственно присвоил значения свойств объекта probe1, а именно:

home/probe1/lux
Probe1.Освещенность 2019-11-09 12:29:06 46 (Probe1.Освещенность)

home/probe1/temperature
Probe1.Температура 2019-11-09 12:29:05 25.60 (Probe1.Температура)

home/probe1/humidity
Probe1.Влажность 2019-11-09 12:29:05 25.00 (Probe1.Влажность)

Видно, что данные данные начали поступать в систему и присваиваться значения.
Но почему-то с освещенностью возникла проблема - в момент выбора в какое свойства объекта (Probe1.Освещенность) помещать значения, эти значения в это свойство не помещается. Вместо этого создалось отдельное свойство с аналогичным названием на уровне самого объекта и значения помещаются в него (естественно без возможности сохранять историчность значений).
Почему так, в чем может быть причина?

Раньше я в ручную на уровне объекта свойство не дублировал и с остальными значениями (температура и влажность) такого нет. По ним значения помещаются в свойства созданные на уровне класса.

Re: Данные от MQTT брокера создают новое поле в объекте

Добавлено: Вс ноя 10, 2019 7:34 pm
xor
А вам наименование свойства кириллицей прям обязательно?

Re: Данные от MQTT брокера создают новое поле в объекте

Добавлено: Ср ноя 13, 2019 10:45 pm
vdscout
Нет.

Пробовал "освещенность" написать латиницей, тот же эффект ((

Re: Данные от MQTT брокера создают новое поле в объекте

Добавлено: Ср ноя 13, 2019 10:50 pm
xor
vdscout писал(а):
Ср ноя 13, 2019 10:45 pm
Нет.

Пробовал "освещенность" написать латиницей, тот же эффект ((
если есть два свойства, значит, они должны различаться названием. либо у вас табличка свойств попортилась и существуют два свойства с одним названием, но с разными айди(

Re: Данные от MQTT брокера создают новое поле в объекте

Добавлено: Ср ноя 13, 2019 11:33 pm
xor
vdscout писал(а):
Ср ноя 13, 2019 10:45 pm
Нет.

Пробовал "освещенность" написать латиницей, тот же эффект ((
о, в моските нужно проверить таблицу mqtt
найдите там свой путь проблемный и посмотрите значение в поле линкед_проперти на предмет лишних пробелов, другой кодировки и тд
именно из этого поля пишется свойство и если оно не совпадает с существующим, создает новое(

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

setGlobal($rec['LINKED_OBJECT'] . '.' . $rec['LINKED_PROPERTY'], $value, array('mqtt' => '0'));
2019-11-13_23-30-08.png
2019-11-13_23-30-08.png (68.44 КБ) 1866 просмотров