add wattsapp-rest.md
This commit is contained in:
parent
d545d449c6
commit
c3dd1672ef
1 changed files with 107 additions and 0 deletions
107
wattsapp-rest.md
Normal file
107
wattsapp-rest.md
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
Connections will only be accepted via https.
|
||||||
|
|
||||||
|
Authentication between cloud-collector is done via client certificates.
|
||||||
|
|
||||||
|
Authentication between client-cloud is done via facebook id token.
|
||||||
|
|
||||||
|
list
|
||||||
|
====
|
||||||
|
|
||||||
|
Example
|
||||||
|
-------
|
||||||
|
|
||||||
|
https://server.tld/list
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Prints a list of available devices.
|
||||||
|
|
||||||
|
[
|
||||||
|
{"id": 1, "name": "toaster", "status": "active" },
|
||||||
|
{"id": 2, "name": "fridge", "status", "active" },
|
||||||
|
{"id": 3, "name": "oven", "status", "active"},
|
||||||
|
{"id": 4, "name": "lamp", "status", "blacklisted"}
|
||||||
|
]
|
||||||
|
|
||||||
|
details & sum
|
||||||
|
=============
|
||||||
|
|
||||||
|
Example
|
||||||
|
-------
|
||||||
|
|
||||||
|
https://server.tld/details?sensors=4,8,2&time=T1:T2
|
||||||
|
https://server.tld/sum?sensors=4,8,2&time=T1:T2
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
`sensors` is a comma separated list of sensor ids the user wants to inquire
|
||||||
|
information about. When supplying an empty value for `sensors`, data for all
|
||||||
|
sensors is returned.
|
||||||
|
|
||||||
|
`time` is a colon separated value of two unix timestamps T1 and T2. The special
|
||||||
|
value -1 exists to denote and open interval to either side. `-1:-1` requests
|
||||||
|
data of all times and so does a query without the `time` parameter. The time
|
||||||
|
values T1 and T2 form a closed interval. When supplying an empty value for
|
||||||
|
`time` is the same as supplying `-1:-1`.
|
||||||
|
|
||||||
|
Hence, the following query would return everything the server has on all
|
||||||
|
sensors and hence are equal:
|
||||||
|
|
||||||
|
https://server.tld/details
|
||||||
|
https://server.tld/details?sensors=&time=
|
||||||
|
https://server.tld/details?sensors=&time=-1:-1
|
||||||
|
|
||||||
|
Example output:
|
||||||
|
|
||||||
|
[
|
||||||
|
{"id": 1, "name": "toaster", "status": "active", "values": [
|
||||||
|
{"begin": 1317470289, "end": 1317470312, "value": 1.3234},
|
||||||
|
{"begin": 1317470312, "end": 1317470678, "value": 7.123}
|
||||||
|
]},
|
||||||
|
{"id": 2, "name": "fridge", "status": "active", "values": [
|
||||||
|
{"begin": 1317470289, "end": 1317470312, "value": 0.12},
|
||||||
|
{"begin": 1317470312, "end": 1317470678, "value": 7.123},
|
||||||
|
{"begin": 1317470678, "end": 1317471421, "value": 1.354}
|
||||||
|
]},
|
||||||
|
{"id": 3, "name": "oven", "status": "active", "values": [
|
||||||
|
{"begin": 1317470312, "end": 1317470678, "value": 1.3234}
|
||||||
|
]}
|
||||||
|
]
|
||||||
|
|
||||||
|
If a query cannot be satisfied (sensor id doesnt exist, no data exists for the
|
||||||
|
desired timestamps, sensor is blacklisted) the server will silently fail and
|
||||||
|
just send an empty "values" dictionary or as much data it can satisfy the query
|
||||||
|
with. It is the task of the client to verify the returned information for
|
||||||
|
completeness.
|
||||||
|
|
||||||
|
blacklist mote
|
||||||
|
==============
|
||||||
|
|
||||||
|
Example
|
||||||
|
-------
|
||||||
|
|
||||||
|
https://server.tld/blacklast?sensors=4,8
|
||||||
|
https://server.tld/unblacklist?sensors=4,8
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
`sensors` is a comma separated list of sensor ids as in the other queries.
|
||||||
|
|
||||||
|
The return is a list of the (un)blacklisted devices as in the `list` command.
|
||||||
|
|
||||||
|
Query data from the motes
|
||||||
|
=========================
|
||||||
|
|
||||||
|
using coap GET like:
|
||||||
|
|
||||||
|
coap://mote.tld/value
|
||||||
|
|
||||||
|
Example output:
|
||||||
|
|
||||||
|
{"id": 1, "values": [
|
||||||
|
{"begin": 1317470289, "end": 1317470312, "value": 1.3234},
|
||||||
|
{"begin": 1317470312, "end": 1317470678, "value": 7.123}
|
||||||
|
]}
|
Loading…
Reference in a new issue