Не удается добавить новый датчик в объектную модель
Я пытаюсь изменить быстрый образец, представленный здесь.
Я попытался добавить несколько пользовательских типов данных датчика, но это не удается. Затем я попробовал несколько типов данных, упомянутых в документации, которые тоже не удалось. Я получаю ошибку ниже
Creating Sensor: {
"DataType": "Noise",
"DeviceId": "some-device-id",
"HardwareId": "SAMPLE_SENSOR_NOISE"
}
Request: POST
https://******.*******.azuresmartspaces.net/management/api/v1.0/sensors
Response Status: 404, NotFound , {"error":
{"code":"404.600.000.001","message":"There is no SensorDataType of the
given name."}}
- Можем ли мы добавить пользовательский тип данных датчика?
- Если нет, то каковы встроенные типы данных? или если да, то что здесь пошло не так?
1 ответ
Вам необходимо опубликовать DataType при создании объекта Sensor. Используйте "Нет", если вы хотите изменить его позже. Документы Swagger показывают "Модель", которую вы можете развернуть, и видите необходимые поля.
Если DataType отсутствует в api/v1/system/types, вам необходимо включить его или создать новый DataType. Создайте новый DataType POST для типов с необходимой информацией. Минимум - это TypeName и SpaceID для точного соответствия типу. Мой типичный шаблон - создание корневого пространства и добавление в него любых пользовательских объектов-близнецов, таких как типы.
Я считаю, что это также регистрозависимые имена.
https://{servicename}.{region}.azuresmartspaces.net/management/swagger/ui/index#/Types
РЕДАКТИРОВАТЬ:
Проверьте ваши онтологии с:
https://{servicename}.{region}.azuresmartspaces.net/management/api/v1.0/ontologies
Выберите их по ID и POST, чтобы установить для них значение true, чтобы получить все доступные встроенные типы:
[
{
"id": 1,
"name": "Required",
"loaded": true
},
{
"id": 2,
"name": "Default",
"loaded": true
},
{
"id": 3,
"name": "BACnet",
"loaded": true
},
{
"id": 4,
"name": "Advanced",
"loaded": true
}
]
Затем вы можете запросить все данные типы:
https://{servicename}.{region}.azuresmartspaces.net/management/api/v1.0/types?includes=Description,FullPath,Ontologies,Space
Вы должны получить что-то вроде:
[
{
"id": 1,
"category": "DeviceSubtype",
"name": "None",
"disabled": false,
"logicalOrder": 0,
"fullName": "None",
"spacePaths": [
"/system"
],
"ontologies": [
{
"id": 1,
"name": "Required",
"loaded": true
}
]
},
{
"id": 2,
"category": "DeviceType",
"name": "None",
"disabled": false,
"logicalOrder": 0,
"fullName": "None",
"spacePaths": [
"/system"
],
"ontologies": [
{
"id": 1,
"name": "Required",
"loaded": true
}
]
},
{
"id": 3,
"category": "DeviceBlobSubtype",
"name": "None",
"disabled": false,
"logicalOrder": 0,
"fullName": "None",
"spacePaths": [
"/system"
],
"ontologies": [
{
"id": 1,
"name": "Required",
"loaded": true
}
]
},
...Objects,
]