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

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
vdscout
Сообщения: 2
Зарегистрирован: Сб ноя 09, 2019 12:17 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение vdscout » Сб ноя 09, 2019 12:34 pm

Добрый день.

Через меню объекты создал свой класс " 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.Освещенность) помещать значения, эти значения в это свойство не помещается. Вместо этого создалось отдельное свойство с аналогичным названием на уровне самого объекта и значения помещаются в него (естественно без возможности сохранять историчность значений).
Почему так, в чем может быть причина?

Раньше я в ручную на уровне объекта свойство не дублировал и с остальными значениями (температура и влажность) такого нет. По ним значения помещаются в свойства созданные на уровне класса.
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

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

Сообщение xor » Вс ноя 10, 2019 7:34 pm

А вам наименование свойства кириллицей прям обязательно?
vdscout
Сообщения: 2
Зарегистрирован: Сб ноя 09, 2019 12:17 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение vdscout » Ср ноя 13, 2019 10:45 pm

Нет.

Пробовал "освещенность" написать латиницей, тот же эффект ((
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

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

Сообщение xor » Ср ноя 13, 2019 10:50 pm

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

Пробовал "освещенность" написать латиницей, тот же эффект ((
если есть два свойства, значит, они должны различаться названием. либо у вас табличка свойств попортилась и существуют два свойства с одним названием, но с разными айди(
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

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

Сообщение xor » Ср ноя 13, 2019 11:33 pm

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 КБ) 1862 просмотра
Ответить