iotagent-node-lib 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +134 -0
  2. package/.github/ISSUE_TEMPLATE/config.yml +16 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.yml +55 -0
  4. package/.github/advanced-issue-labeler.yml +30 -0
  5. package/.github/workflows/issue-labeler.yml +43 -0
  6. package/doc/api.md +23 -80
  7. package/doc/deprecated.md +4 -0
  8. package/doc/howto.md +58 -62
  9. package/doc/installationguide.md +0 -5
  10. package/doc/requirements.txt +1 -1
  11. package/docker/Mosquitto/Dockerfile +1 -1
  12. package/lib/model/Device.js +0 -1
  13. package/lib/model/Group.js +0 -1
  14. package/lib/model/dbConn.js +1 -7
  15. package/lib/plugins/jexlParser.js +1 -1
  16. package/lib/services/common/iotManagerService.js +0 -1
  17. package/lib/services/devices/deviceRegistryMongoDB.js +10 -10
  18. package/lib/services/devices/deviceService.js +14 -19
  19. package/lib/services/devices/devices-NGSI-v2.js +2 -5
  20. package/lib/services/ngsi/entities-NGSI-LD.js +3 -3
  21. package/lib/services/ngsi/entities-NGSI-v2.js +34 -11
  22. package/lib/services/northBound/deviceProvisioningServer.js +0 -3
  23. package/lib/templates/createDevice.json +0 -4
  24. package/lib/templates/createDeviceLax.json +0 -4
  25. package/lib/templates/deviceGroup.json +1 -5
  26. package/lib/templates/updateDevice.json +4 -0
  27. package/lib/templates/updateDeviceLax.json +11 -0
  28. package/package.json +1 -1
  29. package/scripts/legacy_expression_tool/README.md +262 -0
  30. package/scripts/legacy_expression_tool/legacy_expression_tool.py +423 -0
  31. package/scripts/legacy_expression_tool/requirements.txt +3 -0
  32. package/test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice4.json +0 -1
  33. package/test/unit/general/contextBrokerKeystoneSecurityAccess-test.js +3 -13
  34. package/test/unit/ngsi-ld/lazyAndCommands/merge-patch-test.js +31 -30
  35. package/test/unit/ngsi-mixed/provisioning/ngsi-versioning-test.js +33 -37
  36. package/test/unit/ngsiv2/examples/contextRequests/updateContext.json +2 -0
  37. package/test/unit/ngsiv2/examples/contextRequests/updateContext1.json +3 -1
  38. package/test/unit/ngsiv2/examples/contextRequests/updateContext3WithStatic.json +2 -0
  39. package/test/unit/ngsiv2/examples/contextRequests/updateContext4.json +4 -1
  40. package/test/unit/ngsiv2/examples/contextRequests/updateContext5.json +12 -0
  41. package/test/unit/ngsiv2/examples/contextRequests/updateContext6.json +10 -0
  42. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin1.json +2 -0
  43. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin2.json +3 -1
  44. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin3.json +3 -1
  45. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin4.json +3 -1
  46. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin5.json +3 -1
  47. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin6.json +3 -1
  48. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin7.json +3 -1
  49. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin8.json +3 -1
  50. package/test/unit/ngsiv2/examples/contextRequests/updateContextAliasPlugin9.json +3 -1
  51. package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast1.json +2 -0
  52. package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast2.json +2 -0
  53. package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast3.json +3 -1
  54. package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast4.json +3 -1
  55. package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast5.json +3 -1
  56. package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast6.json +3 -1
  57. package/test/unit/ngsiv2/examples/contextRequests/updateContextAutocast7.json +3 -1
  58. package/test/unit/ngsiv2/examples/contextRequests/updateContextCommandError.json +3 -1
  59. package/test/unit/ngsiv2/examples/contextRequests/updateContextCommandExpired.json +3 -1
  60. package/test/unit/ngsiv2/examples/contextRequests/updateContextCommandFinish.json +3 -1
  61. package/test/unit/ngsiv2/examples/contextRequests/updateContextCommandStatus.json +2 -0
  62. package/test/unit/ngsiv2/examples/contextRequests/updateContextCommandStatus2.json +2 -0
  63. package/test/unit/ngsiv2/examples/contextRequests/updateContextCompressTimestamp1.json +3 -1
  64. package/test/unit/ngsiv2/examples/contextRequests/updateContextCompressTimestamp2.json +3 -1
  65. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin1.json +2 -0
  66. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin11.json +2 -0
  67. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin12.json +2 -0
  68. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin13.json +3 -1
  69. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin2.json +2 -0
  70. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin29.json +2 -0
  71. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin3.json +2 -0
  72. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin30.json +2 -0
  73. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin31.json +2 -0
  74. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin32.json +2 -0
  75. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin33.json +2 -0
  76. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin34.json +2 -0
  77. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin35.json +2 -0
  78. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin36.json +1 -0
  79. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin4.json +2 -0
  80. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin40.json +1 -1
  81. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin41.json +1 -0
  82. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin5.json +2 -0
  83. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin6.json +2 -0
  84. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin7.json +2 -0
  85. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin8.json +2 -0
  86. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin9.json +2 -0
  87. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionSkip.json +12 -0
  88. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityJexlExpressionPlugin1.json +1 -1
  89. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin1.json +1 -1
  90. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin10.json +1 -1
  91. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin11.json +1 -1
  92. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin12.json +1 -1
  93. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin13.json +1 -1
  94. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin14.json +1 -1
  95. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin15.json +1 -1
  96. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin16.json +1 -1
  97. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin17.json +1 -1
  98. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin2.json +1 -1
  99. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin25.json +1 -1
  100. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin3.json +1 -1
  101. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin4.json +1 -1
  102. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin5.json +1 -1
  103. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin6.json +1 -1
  104. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin7.json +1 -1
  105. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin8.json +1 -1
  106. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin9.json +1 -1
  107. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin1.json +1 -1
  108. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin2.json +1 -1
  109. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin3.json +1 -1
  110. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin4.json +2 -0
  111. package/test/unit/ngsiv2/examples/contextRequests/updateContextProcessTimestamp.json +2 -0
  112. package/test/unit/ngsiv2/examples/contextRequests/updateContextStaticAttributes.json +2 -0
  113. package/test/unit/ngsiv2/examples/contextRequests/updateContextStaticAttributesMetadata.json +3 -1
  114. package/test/unit/ngsiv2/examples/contextRequests/updateContextTimestamp.json +3 -1
  115. package/test/unit/ngsiv2/examples/contextRequests/updateContextTimestampFalse.json +12 -0
  116. package/test/unit/ngsiv2/examples/contextRequests/updateContextTimestampFalseTimeInstant.json +12 -0
  117. package/test/unit/ngsiv2/examples/contextRequests/updateContextTimestampOverride.json +2 -0
  118. package/test/unit/ngsiv2/examples/contextRequests/updateContextTimestampOverrideWithoutMilis.json +2 -0
  119. package/test/unit/ngsiv2/examples/contextRequests/updateContextTimestampTimezone.json +3 -1
  120. package/test/unit/ngsiv2/expressions/jexlBasedTransformations-test.js +133 -75
  121. package/test/unit/ngsiv2/general/contextBrokerOAuthSecurityAccess-test.js +18 -51
  122. package/test/unit/ngsiv2/general/https-support-test.js +1 -5
  123. package/test/unit/ngsiv2/lazyAndCommands/command-test.js +4 -10
  124. package/test/unit/ngsiv2/lazyAndCommands/polling-commands-test.js +8 -24
  125. package/test/unit/ngsiv2/ngsiService/active-devices-test.js +143 -57
  126. package/test/unit/ngsiv2/ngsiService/autocast-test.js +14 -21
  127. package/test/unit/ngsiv2/ngsiService/staticAttributes-test.js +3 -5
  128. package/test/unit/ngsiv2/ngsiService/subscriptions-test.js +1 -10
  129. package/test/unit/ngsiv2/plugins/alias-plugin_test.js +20 -30
  130. package/test/unit/ngsiv2/plugins/bidirectional-plugin_test.js +0 -63
  131. package/test/unit/ngsiv2/plugins/compress-timestamp-plugin_test.js +4 -6
  132. package/test/unit/ngsiv2/plugins/custom-plugin_test.js +1 -2
  133. package/test/unit/ngsiv2/plugins/multientity-plugin_test.js +3 -5
  134. package/test/unit/ngsiv2/plugins/timestamp-processing-plugin_test.js +2 -3
  135. package/test/unit/ngsiv2/provisioning/device-group-api-test.js +2 -3
  136. package/test/unit/ngsiv2/provisioning/device-provisioning-api_test.js +5 -53
  137. package/test/unit/ngsiv2/provisioning/device-registration_test.js +1 -7
  138. package/test/unit/ngsiv2/provisioning/device-update-registration_test.js +2 -9
  139. package/test/unit/ngsiv2/provisioning/singleConfigurationMode-test.js +0 -11
  140. package/test/unit/ngsiv2/provisioning/updateProvisionedDevices-test.js +0 -7
  141. package/test/unit/plugins/capture-provision-inPlugins_test.js +0 -6
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id": "light1",
3
+ "type": "Light",
2
4
  "state":{
3
5
  "value": true,
4
6
  "type": "boolean"
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "state": {
3
5
  "type": "Boolean",
4
6
  "value": "true"
@@ -8,4 +10,4 @@
8
10
  "type": "Percentage",
9
11
  "value": "87"
10
12
  }
11
- }
13
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"machine1",
3
+ "type":"SensorMachine",
2
4
  "status": {
3
5
  "value": "STARTING",
4
6
  "type": "String"
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"Light1",
3
+ "type":"SensorMachine",
2
4
  "status": {
3
5
  "type": "String",
4
6
  "value": "STARTING"
@@ -7,4 +9,5 @@
7
9
  "type": "Address",
8
10
  "value": "127.0.0.1"
9
11
  }
10
- }
12
+ }
13
+
@@ -0,0 +1,12 @@
1
+ {
2
+ "id":"humSensor",
3
+ "type":"Humidity",
4
+ "state":{
5
+ "value": true,
6
+ "type": "boolean"
7
+ },
8
+ "dimming":{
9
+ "value": 87,
10
+ "type": "number"
11
+ }
12
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "state":{
3
+ "value": true,
4
+ "type": "boolean"
5
+ },
6
+ "dimming":{
7
+ "value": 87,
8
+ "type": "number"
9
+ }
10
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "temperature": {
3
5
  "type":"Number",
4
6
  "value":52,
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "luminance": {
3
5
  "type": "Number",
4
6
  "value": 9,
@@ -7,4 +9,4 @@
7
9
  "value":"CAL"
8
10
  }
9
11
  }
10
- }
12
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "unix_timestamp": {
3
5
  "type": "Number",
4
6
  "value": 99823423
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "active_power": {
3
5
  "type": "Number",
4
6
  "value": 0.45
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "status": {
3
5
  "type": "Boolean",
4
6
  "value": false
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "keep_alive": {
3
5
  "type": "None",
4
6
  "value": null
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "tags": {
3
5
  "type": "Array",
4
6
  "value": ["iot","device"]
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "configuration": {
3
5
  "type": "Object",
4
6
  "value": {"firmware": {"version": "1.1.0","hash": "cf23df2207d99a74fbe169e3eba035e633b65d94"}}
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "configuration": {
3
5
  "type": "Object",
4
6
  "value": "string_value"
5
7
  }
6
- }
8
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "pressure":{
3
5
  "value": 23,
4
6
  "type": "Number"
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "temperature":{
3
5
  "value": 14.4,
4
6
  "type": "Number"
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "status": {
3
5
  "type": "Boolean",
4
6
  "value": true
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "status": {
3
5
  "type": "Boolean",
4
6
  "value": false
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "keep_alive": {
3
5
  "type": "None",
4
6
  "value": null
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "tags": {
3
5
  "type": "Array",
4
6
  "value": ["iot","device"]
5
7
  }
6
- }
8
+ }
@@ -1,6 +1,8 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "configuration": {
3
5
  "type": "Object",
4
6
  "value": {"firmware": {"version": "1.1.0","hash": "cf23df2207d99a74fbe169e3eba035e633b65d94"}}
5
7
  }
6
- }
8
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"r2d2",
3
+ "type":"Robot",
2
4
  "position_status": {
3
5
  "value": "ERROR",
4
6
  "type": "commandStatus"
@@ -7,4 +9,4 @@
7
9
  "value": "Stalled",
8
10
  "type": "commandResult"
9
11
  }
10
- }
12
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"Robot:r2d2",
3
+ "type":"Robot",
2
4
  "position_status": {
3
5
  "value": "ERROR",
4
6
  "type": "commandStatus"
@@ -7,4 +9,4 @@
7
9
  "value": "EXPIRED",
8
10
  "type": "commandResult"
9
11
  }
10
- }
12
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"r2d2",
3
+ "type":"Robot",
2
4
  "position_status": {
3
5
  "value": "FINISHED",
4
6
  "type": "commandStatus"
@@ -7,4 +9,4 @@
7
9
  "value": "[72, 368, 1]",
8
10
  "type": "commandResult"
9
11
  }
10
- }
12
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"Robot:r2d2",
3
+ "type":"Robot",
2
4
  "position_status": {
3
5
  "type": "commandStatus",
4
6
  "value": "PENDING"
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"RobotExp:r2d4",
3
+ "type":"RobotExp",
2
4
  "positionExp_status": {
3
5
  "type": "commandStatus",
4
6
  "value": "PENDING"
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "state": {
3
5
  "type": "Boolean",
4
6
  "value": "true"
@@ -7,4 +9,4 @@
7
9
  "type": "DateTime",
8
10
  "value": "+002007-11-03T13:18:05"
9
11
  }
10
- }
12
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "state": {
3
5
  "type": "Boolean",
4
6
  "value": true,
@@ -13,4 +15,4 @@
13
15
  "type": "DateTime",
14
16
  "value": "+002007-11-03T13:18:05"
15
17
  }
16
- }
18
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"ws1",
3
+ "type":"WeatherStation",
2
4
  "pressure": {
3
5
  "value": 1040,
4
6
  "type": "Number"
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "consumption": {
3
5
  "value": 52,
4
6
  "type": "Number"
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "consumption_x": {
3
5
  "type": "Number",
4
6
  "value": null
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "pressure": {
3
5
  "type": "Number",
4
6
  "value": 10
@@ -7,4 +9,4 @@
7
9
  "type": "Number",
8
10
  "value": 200
9
11
  }
10
- }
12
+ }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"ws1",
3
+ "type":"WeatherStation",
2
4
  "pressure":{
3
5
  "type": "Number",
4
6
  "value": 1040
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"ws1",
3
+ "type":"WeatherStation",
2
4
  "pressure": {
3
5
  "type": "Number",
4
6
  "value": 1040
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "consumption": {
3
5
  "type": "Number",
4
6
  "value": 0.44
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id": "light1",
3
+ "type": "Light",
2
4
  "pressure": {
3
5
  "type": "Number",
4
6
  "value": 1040
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"ws1",
3
+ "type":"WeatherStation",
2
4
  "falsy": {
3
5
  "type": "Boolean",
4
6
  "value": false
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"gps1",
3
+ "type":"GPS",
2
4
  "location": {
3
5
  "type": "geo:json",
4
6
  "value": {
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"gps1",
3
+ "type":"GPS",
2
4
  "location": {
3
5
  "type": "geo:json",
4
6
  "value": {
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"gps1",
3
+ "type":"GPS",
2
4
  "location": {
3
5
  "type": "geo:json",
4
6
  "value": {
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"gps1",
3
+ "type":"GPS",
2
4
  "TimeInstant": {
3
5
  "type": "DateTime",
4
6
  "value": "2015-08-05T07:35:01.468+00:00"
@@ -1,4 +1,5 @@
1
1
  {
2
+ "id":"gps1","type":"GPS",
2
3
  "mylocation": {
3
4
  "type": "geo:json",
4
5
  "value": {
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"ws1",
3
+ "type":"WeatherStation",
2
4
  "pressure25":{
3
5
  "type": "Number",
4
6
  "value": 52
@@ -37,6 +37,6 @@
37
37
  }
38
38
  }
39
39
  ],
40
- "actionType": "update"
40
+ "actionType": "append"
41
41
  }
42
42
 
@@ -1,4 +1,5 @@
1
1
  {
2
+ "id":"gps1","type":"GPS",
2
3
  "TimeInstant": {
3
4
  "type": "DateTime",
4
5
  "value": "2015-08-05T07:35:01.468+00:00"
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "alive": {
3
5
  "type": "None",
4
6
  "value": null
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "manufacturer": {
3
5
  "type": "Object",
4
6
  "value": { "name":"Manufacturer1", "VAT":"U12345678" }
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "revisions": {
3
5
  "type": "Array",
4
6
  "value": [ "v0.1", "v0.2", "v0.3" ]
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"ws1",
3
+ "type":"WeatherStation",
2
4
  "consumption": {
3
5
  "type": "Number",
4
6
  "value": 8.8
@@ -1,4 +1,6 @@
1
1
  {
2
+ "id":"light1",
3
+ "type":"Light",
2
4
  "updated": {
3
5
  "value": true,
4
6
  "type": "Boolean"
@@ -0,0 +1,12 @@
1
+ {
2
+ "id":"skip1",
3
+ "type":"skipvalue",
4
+ "condition": {
5
+ "value": 33,
6
+ "type": "Number"
7
+ },
8
+ "neverSkip": {
9
+ "value": false,
10
+ "type": "Number"
11
+ }
12
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType":"update",
2
+ "actionType":"append",
3
3
  "entities":[
4
4
  {
5
5
  "id":"lightPseudo:id",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "ws4",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "ws9",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "ws11",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "sh1",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "sh2",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "sh3",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "gps1",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "gps1",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "ws9b",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "ws4",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "gps1",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  {
5
5
  "id": "ws4",
@@ -1,5 +1,5 @@
1
1
  {
2
- "actionType": "update",
2
+ "actionType": "append",
3
3
  "entities": [
4
4
  { "id": "ws5",
5
5
  "type": "WeatherStation"