我是Cumulocity的新手,正在尝试用C#为Cumulocity平台编写微服务。
我从这里克隆了Cumulocity.SDK.Client REST示例:https://bitbucket.org/m2m/cumulocity-sdk-cs/src/master/
我通过InventoryApi创建了一些设备,并在创建时添加了一些属性(c8y_Hardware、c8y_RequiredAvailability、c8y_Position)。当我尝试向设备添加测量值时,我迷路了。
我尝试将测量作为属性添加。
我的代码如下所示:
MeasurementRepresentation measurement = new MeasurementRepresentation();
measurement.DateTime = DateTime.Now.ToUniversalTime();
measurement.Source = InventoryAPI.Get(new GId(deviceId));
measurement.Type = "Temperature";
JObject T = new JObject();
T.Add("value", 90);
T.Add("unit","C");
measurement.Attrs.Add("Temperature", T);
MeasurementApi.Create(measurement);有了这个,我想要一个设备的温度类型测量。它不会抛出错误,但也不会创建任何度量。
首先,我认为我的Json嵌套是错误的,所以在"T“之前的属性下多加了一层。
如下所示:
JObject T = new JObject();
T.Add("value", 90);
T.Add("unit","C");
JObject temperatureMeasurement = new JObject();
temperatureMeasurement.Add("T",T);
measurement.Attrs.Add("Temperature", temperatureMeasurement);这也不起作用。
当我查看测试文件时,我看到使用了一些Set()方法。我应该创建一个测量对象,然后用Set()方法传递它吗?
因为测试文件中的片段类是空的,所以我不知道对象应该是什么样子。
我是不是完全错了,或者只是错过了一些小问题?
为设备创建测量的正确方法是什么?
发布于 2019-10-02 15:53:59
显然,正确的方法是使用Set()方法,并将度量类作为对象参数。
https://stackoverflow.com/questions/58137052
复制相似问题