使用 SensorDataUnitType 创建传感器
Create a sensor with SensorDataUnitType
我正在尝试创建一个带有传感器的新设备。
这是我为创建新设备而发送的负载:
{"Name":"DeviceABC","HardwareId":"D4xxx425","SpaceId":"xxxx-xxx-xx-xx-xxx","Status":"Provisioned","CreateIoTHubDevice":false,"Properties":[{"Name":"VendorName","Value":"MyVendor"},{"Name":"VendorDeviceId","Value":"D4xxx19425"},{"Name":"VendorDeviceType","Value":"electricity"}],"Sensors":[{"pollRate":0,"id":null,"dataType":"Json","dataUnitType":"KilowattHourEnergy","deviceId":null,"portType":null,"port":"electricity","spaceId":null,"type":"Classic"}]}
在这种情况下,我想使用内置类型。千瓦时
{
"id": 186,
"category": "SensorDataUnitType",
"name": "KilowattHourEnergy",
"disabled": false,
"logicalOrder": 0,
"friendlyName": "kWh"
}
传感器数据类型是:
{
"id": 314,
"spaceId": "xxxx-xx-xxx-xx-xxxx",
"category": "SensorDataType",
"name": "Json",
"disabled": false,
"logicalOrder": 0
}
当我在没有在传感器对象中指定 dataUnitType 的情况下为其他设备执行此操作时,它工作正常。但是一旦我包含它,我就会得到这个:
{
"error": {
"code": "400.600.000.000",
"message": "Invalid datatype/dataunittype combination used on sensor."
}}
SensorDataType 和 SensorDataUnitType 之间似乎有命名约定。惯例是 SensorDataUnitType 需要以完整的 SensorDataType 结尾。在您的示例中,您有:
"dataType":"Json",
"dataUnitType":"KilowattHourEnergy",
但按照惯例应该是
"dataType":"Json",
"dataUnitType":"KilowattHourEnergyJson",
当然,您不能只更改 KilowattHourEnergy,因为它在系统 ontology 中。因此,为了使其正常工作,我必须将 KilowattHourEnergyJson 创建为一种新类型。
我想最完整的答案应该包括,在您的情况下,SensorDataType 可能不应该是 JSON,而应该是 Energy。
我正在尝试创建一个带有传感器的新设备。
这是我为创建新设备而发送的负载:
{"Name":"DeviceABC","HardwareId":"D4xxx425","SpaceId":"xxxx-xxx-xx-xx-xxx","Status":"Provisioned","CreateIoTHubDevice":false,"Properties":[{"Name":"VendorName","Value":"MyVendor"},{"Name":"VendorDeviceId","Value":"D4xxx19425"},{"Name":"VendorDeviceType","Value":"electricity"}],"Sensors":[{"pollRate":0,"id":null,"dataType":"Json","dataUnitType":"KilowattHourEnergy","deviceId":null,"portType":null,"port":"electricity","spaceId":null,"type":"Classic"}]}
在这种情况下,我想使用内置类型。千瓦时
{
"id": 186,
"category": "SensorDataUnitType",
"name": "KilowattHourEnergy",
"disabled": false,
"logicalOrder": 0,
"friendlyName": "kWh"
}
传感器数据类型是:
{
"id": 314,
"spaceId": "xxxx-xx-xxx-xx-xxxx",
"category": "SensorDataType",
"name": "Json",
"disabled": false,
"logicalOrder": 0
}
当我在没有在传感器对象中指定 dataUnitType 的情况下为其他设备执行此操作时,它工作正常。但是一旦我包含它,我就会得到这个:
{
"error": {
"code": "400.600.000.000",
"message": "Invalid datatype/dataunittype combination used on sensor."
}}
SensorDataType 和 SensorDataUnitType 之间似乎有命名约定。惯例是 SensorDataUnitType 需要以完整的 SensorDataType 结尾。在您的示例中,您有:
"dataType":"Json",
"dataUnitType":"KilowattHourEnergy",
但按照惯例应该是
"dataType":"Json",
"dataUnitType":"KilowattHourEnergyJson",
当然,您不能只更改 KilowattHourEnergy,因为它在系统 ontology 中。因此,为了使其正常工作,我必须将 KilowattHourEnergyJson 创建为一种新类型。
我想最完整的答案应该包括,在您的情况下,SensorDataType 可能不应该是 JSON,而应该是 Energy。