Содержание

Датчики

Чтобы создавать, изменять и удалять датчики, нужно использовать команду unit/update_sensor:

svc=unit/update_sensor&params={"itemId":<long>,
			       "id":<long>,
			       "callMode":<text>,
			       "n":<text>,
			       "t":<text>,
			       "d":<text>,
			       "m":<text>,
			       "p":<text>,
			       "f":<uint>,
			       "vt":<uint>,
			       "vs":<long>,
			       "tbl":[	
					{
						"x":<double>,
						"a":<double>,
						"b":<double>
					}
			       ]}

Параметры

Название Описание
itemId ID объекта
id ID датчика
callMode действие: создание, редактирование, удаление (create, update, delete)
Параметры, обязательные только при создании и редактировании
n название
t тип (см. ниже)
d описание
m единица измерения
p параметр
f флаги датчика (см. ниже)
vt тип валидации (см. ниже)
vs ID валидирующего датчика
tbl таблица расчета

Флаги датчика:

Флаг Описание
0x01 Тип счетчика: мгновенный
0x02 Тип счетчика: дифференциальный
0x03 Тип счетчика: дифференциальный с переполнением (2 байта)
0x04 Тип счетчика: переключатель из ВЫКЛ в ВКЛ
0x05 Тип счетчика: Переключатель из ВКЛ в ВЫКЛ

Типы датчиков:

Типы валидации:

Тип Описание
0x01 Логическое И
0x02 Логическое ИЛИ
0x03 Математическое И
0x04 Математическое ИЛИ
0x05 Суммировать
0x06 Вычесть валидатор из датчика
0x07 Вычесть датчик из валидатора
0x08 Перемножить
0x09 Делить датчик на валидатор
0x0A Делить валидатор на датчик
0x0B Проверка на неравенство нулю

Возвращаемый результат

При создании и редактировании:

[
	<long>,		/* ID датчика */
	{
		"nm":<text>,	/* название */
		"tp":<text>,	/* тип */
		"de":<text>,	/* описание */
		"me":<text>,	/* единица измерения */
		"pn":<text>,	/* параметр */
		"fl":<uint>,	/* флаги датчика */
		"vt":<int>,	/* тип валидации */
		"vs":<long>,	/* ID валидирующего датчика */
		"tbl":[			/* таблица расчета */
			{			/* параметры */
				"x":<double>, 
				"a":<double>,
				"b":<double>
			}
		]
	}
]

При удалении:

[
	<long>,		/* ID датчика */
	null
]