上下文:
我使用COSM的第一个项目是从我的电表记录数据点。当我查看graph of the feed时,即使数据点似乎被正确接收,它也是平坦的。
你知道哪里出了问题吗,或者我应该找些什么来调试它?
更多信息:
当我调试我的提要时,我看到它预计每分钟接收大约8个API请求。
这是一个通过COSM的“debug feed”接口查看的已接收数据点的实例。特别要注意的是,响应是200ok,请求正文有一个合理的时间戳和一个非零值:
200 POST /api/v2/feeds/129722/datastreams/1/datapoints 06-05-2013 | 08:16:54 +0000
Request Headers
Version HTTP/1.0
Host api.cosm.com
X-Request-Start 1367828214422267
X-Apikey <expunged>
Accept-Encoding gzip, deflate, compress
Accept */*
User-Agent python-requests/1.2.0 CPython/2.7.3 Linux/3.6.11+
Origin
Request Body
{"at": "2013-05-06T08:16:57", "value": 164.0}
Response Headers
X-Request-Id 245ee3ca6bd99efd156bff2416404c33f4bb7f0f
Cache-Control max-age=0
Content-Type application/json; charset=utf-8
Content-Length 0
Response Body
[No Body]更新
尽管文档指定JSON是默认的,我还是显式地向POST URL (/api/v2/feeds/129722/datastreams/1/datapoints.json)添加了一个".json“,但这似乎没有任何区别。
更新2
我将" value“值包含在字符串中,因此请求主体现在为(例如):
{"at": "2013-05-06T15:37:06", "value": "187.0"}仍然表现相同:我在调试视图中看到了更新,但在图形视图中只报告了0。
更新3
我尝试使用API而不是COSM提供的图形来查看数据。我的猜测是,由于某种原因,这些数据点没有被存储(尽管返回状态为200OK)。如果我将此URL放入web浏览器中:
http://api.cosm.com/v2/feeds/129722.json?interval=0我得到的回应是:
{"id":129722,
"title":"Rainforest Automation RAVEn",
"private":"false",
"tags":["power"],
"feed":"https://api.cosm.com/v2/feeds/129722.json",
"status":"frozen",
"updated":"2013-05-06T05:07:30.169344Z",
"created":"2013-05-06T00:16:56.701456Z",
"creator":"https://cosm.com/users/fearless_fool",
"version":"1.0.0",
"datastreams":[{"id":"1",
"current_value":"0",
"at":"2013-05-06T05:07:29.982986Z",
"max_value":"0.0",
"min_value":"0.0",
"unit":{"type":"derivedSI","symbol":"W","label":"watt"}}],
"location":{"disposition":"fixed","exposure":"indoor","domain":"physical"}
}请注意,尽管调试工具每分钟显示七到八个更新,但状态仍被列为“冻结”(上次收到的更新> 15分钟前)。我的数据点到哪里去了?
发布于 2013-05-07 12:55:46
已解决。正如cosm.com support的@Calum友好地指出的那样,我没有发送格式正确的请求。我发送了以下JSON:
{"at": "2013-05-06T08:16:57", "value": 164.0}当我应该发送:
{
"datapoints":[
{"at": "2013-05-06T08:16:57", "value": 164.0}
]
}Calum还指出,我可以一次批处理几个点,以减少交易数量。我会讲到这一点,但现在,我可以说,修复请求的主体使一切都开始工作。
发布于 2013-05-06 17:29:42
这听起来像是图表中的一个bug,我见过几次非常相似的东西。
我经常使用Cosm Feed Viewer Chrome扩展,它使用WebSocket endpoint实时显示最新的值。
使用Rickshaw和CosmJS将自定义图形组合在一起应该不是太难。
https://stackoverflow.com/questions/16394794
复制相似问题