@almadar/std 6.5.2 → 7.2.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.
- package/behaviors/registry/atoms/std-agent-activity-log.orb +240 -227
- package/behaviors/registry/atoms/std-agent-chat-thread.orb +296 -199
- package/behaviors/registry/atoms/std-agent-classifier.orb +384 -133
- package/behaviors/registry/atoms/std-agent-completion.orb +404 -141
- package/behaviors/registry/atoms/std-agent-context-window.orb +904 -607
- package/behaviors/registry/atoms/std-agent-conversation.orb +443 -234
- package/behaviors/registry/atoms/std-agent-memory.orb +584 -150
- package/behaviors/registry/atoms/std-agent-provider.orb +431 -174
- package/behaviors/registry/atoms/std-agent-search.orb +217 -61
- package/behaviors/registry/atoms/std-agent-session.orb +406 -159
- package/behaviors/registry/atoms/std-agent-step-progress.orb +314 -294
- package/behaviors/registry/atoms/std-agent-token-gauge.orb +577 -500
- package/behaviors/registry/atoms/std-agent-tool-call.orb +328 -138
- package/behaviors/registry/atoms/std-async.orb +147 -86
- package/behaviors/registry/atoms/std-autoregressive.orb +64 -73
- package/behaviors/registry/atoms/std-browse.orb +260 -126
- package/behaviors/registry/atoms/std-cache-aside.orb +358 -259
- package/behaviors/registry/atoms/std-calendar.orb +280 -215
- package/behaviors/registry/atoms/std-circuit-breaker.orb +295 -234
- package/behaviors/registry/atoms/std-collision.orb +136 -135
- package/behaviors/registry/atoms/std-combat-log.orb +108 -90
- package/behaviors/registry/atoms/std-combat.orb +171 -98
- package/behaviors/registry/atoms/std-confirmation.orb +28 -300
- package/behaviors/registry/atoms/std-dialogue-box.orb +111 -30
- package/behaviors/registry/atoms/std-display.orb +491 -587
- package/behaviors/registry/atoms/std-drawer.orb +194 -121
- package/behaviors/registry/atoms/std-filter.orb +311 -326
- package/behaviors/registry/atoms/std-flip-card.orb +223 -177
- package/behaviors/registry/atoms/std-gallery.orb +130 -151
- package/behaviors/registry/atoms/std-game-audio.orb +133 -72
- package/behaviors/registry/atoms/std-game-canvas2d.orb +112 -52
- package/behaviors/registry/atoms/std-game-canvas3d.orb +150 -107
- package/behaviors/registry/atoms/std-game-hud.orb +87 -20
- package/behaviors/registry/atoms/std-game-menu.orb +32 -32
- package/behaviors/registry/atoms/std-game-over-screen.orb +100 -33
- package/behaviors/registry/atoms/std-gameflow.orb +147 -80
- package/behaviors/registry/atoms/std-input.orb +128 -393
- package/behaviors/registry/atoms/std-inventory-panel.orb +108 -71
- package/behaviors/registry/atoms/std-isometric-canvas.orb +156 -407
- package/behaviors/registry/atoms/std-loading.orb +127 -126
- package/behaviors/registry/atoms/std-modal.orb +30 -267
- package/behaviors/registry/atoms/std-movement.orb +391 -292
- package/behaviors/registry/atoms/std-notification.orb +133 -75
- package/behaviors/registry/atoms/std-overworld.orb +194 -121
- package/behaviors/registry/atoms/std-pagination.orb +120 -53
- package/behaviors/registry/atoms/std-physics2d.orb +94 -93
- package/behaviors/registry/atoms/std-platformer-canvas.orb +110 -98
- package/behaviors/registry/atoms/std-push.orb +172 -36
- package/behaviors/registry/atoms/std-quest.orb +552 -449
- package/behaviors/registry/atoms/std-rate-limiter.orb +242 -241
- package/behaviors/registry/atoms/std-rating.orb +123 -65
- package/behaviors/registry/atoms/std-related.orb +202 -26
- package/behaviors/registry/atoms/std-score-board.orb +109 -28
- package/behaviors/registry/atoms/std-score.orb +210 -146
- package/behaviors/registry/atoms/std-search.orb +265 -138
- package/behaviors/registry/atoms/std-selection.orb +311 -220
- package/behaviors/registry/atoms/std-service-custom-bearer.orb +199 -110
- package/behaviors/registry/atoms/std-service-custom-header.orb +206 -117
- package/behaviors/registry/atoms/std-service-custom-noauth.orb +197 -108
- package/behaviors/registry/atoms/std-service-custom-query.orb +193 -104
- package/behaviors/registry/atoms/std-service-email.orb +195 -107
- package/behaviors/registry/atoms/std-service-github.orb +216 -122
- package/behaviors/registry/atoms/std-service-llm.orb +204 -122
- package/behaviors/registry/atoms/std-service-oauth.orb +290 -204
- package/behaviors/registry/atoms/std-service-redis.orb +177 -92
- package/behaviors/registry/atoms/std-service-storage.orb +211 -122
- package/behaviors/registry/atoms/std-service-stripe.orb +236 -154
- package/behaviors/registry/atoms/std-service-twilio.orb +221 -137
- package/behaviors/registry/atoms/std-service-youtube.orb +327 -241
- package/behaviors/registry/atoms/std-simulation-canvas.orb +97 -36
- package/behaviors/registry/atoms/std-sort.orb +284 -207
- package/behaviors/registry/atoms/std-sprite.orb +150 -74
- package/behaviors/registry/atoms/std-tabs.orb +129 -62
- package/behaviors/registry/atoms/std-text-effects.orb +251 -190
- package/behaviors/registry/atoms/std-theme.orb +193 -135
- package/behaviors/registry/atoms/std-timer.orb +320 -344
- package/behaviors/registry/atoms/std-undo.orb +278 -199
- package/behaviors/registry/atoms/std-upload.orb +112 -111
- package/behaviors/registry/atoms/std-validate-on-save.orb +159 -151
- package/behaviors/registry/atoms/std-wizard.orb +445 -336
- package/behaviors/registry/molecules/std-agent-fix-loop.orb +876 -857
- package/behaviors/registry/molecules/std-agent-learner.orb +635 -654
- package/behaviors/registry/molecules/std-agent-planner.orb +581 -548
- package/behaviors/registry/molecules/std-agent-rag.orb +414 -410
- package/behaviors/registry/molecules/std-agent-tool-loop.orb +716 -711
- package/behaviors/registry/molecules/std-batch-selected-list.orb +28 -12
- package/behaviors/registry/molecules/std-builder-game.orb +86 -28
- package/behaviors/registry/molecules/std-calendar-booking.orb +32 -8
- package/behaviors/registry/molecules/std-cart.orb +347 -406
- package/behaviors/registry/molecules/std-classifier-game.orb +95 -37
- package/behaviors/registry/molecules/std-dashboard-tabbed.orb +16 -10
- package/behaviors/registry/molecules/std-debugger-game.orb +95 -37
- package/behaviors/registry/molecules/std-detail.orb +133 -138
- package/behaviors/registry/molecules/std-drawer-master-list.orb +12 -6
- package/behaviors/registry/molecules/std-event-handler-game.orb +91 -33
- package/behaviors/registry/molecules/std-filtered-list.orb +14 -8
- package/behaviors/registry/molecules/std-form-advanced.orb +242 -153
- package/behaviors/registry/molecules/std-gallery-filtered.orb +16 -10
- package/behaviors/registry/molecules/std-geospatial.orb +175 -122
- package/behaviors/registry/molecules/std-inventory.orb +216 -170
- package/behaviors/registry/molecules/std-list.orb +280 -205
- package/behaviors/registry/molecules/std-messaging.orb +146 -99
- package/behaviors/registry/molecules/std-negotiator-game.orb +95 -37
- package/behaviors/registry/molecules/std-platformer-game.orb +300 -171
- package/behaviors/registry/molecules/std-push-activity-log.orb +32 -8
- package/behaviors/registry/molecules/std-puzzle-game.orb +287 -146
- package/behaviors/registry/molecules/std-quiz.orb +322 -263
- package/behaviors/registry/molecules/std-related-master-detail.orb +21 -15
- package/behaviors/registry/molecules/std-sequencer-game.orb +92 -34
- package/behaviors/registry/molecules/std-service-content-pipeline.orb +268 -267
- package/behaviors/registry/molecules/std-service-custom-api-tester.orb +245 -152
- package/behaviors/registry/molecules/std-service-devops-toolkit.orb +633 -294
- package/behaviors/registry/molecules/std-service-notification-hub.orb +237 -152
- package/behaviors/registry/molecules/std-service-payment-flow.orb +310 -180
- package/behaviors/registry/molecules/std-simulator-game.orb +96 -38
- package/behaviors/registry/molecules/std-turn-based-battle.orb +247 -137
- package/behaviors/registry/molecules/std-wizard-form.orb +60 -9
- package/behaviors/registry/organisms/std-agent-assistant.orb +2810 -1833
- package/behaviors/registry/organisms/std-agent-builder.orb +6401 -4539
- package/behaviors/registry/organisms/std-agent-pipeline.orb +5028 -3497
- package/behaviors/registry/organisms/std-agent-reviewer.orb +2219 -1406
- package/behaviors/registry/organisms/std-agent-tutor.orb +2069 -1384
- package/behaviors/registry/organisms/std-api-gateway.orb +1419 -870
- package/behaviors/registry/organisms/std-arcade-game.orb +488 -231
- package/behaviors/registry/organisms/std-booking-system.orb +2457 -1467
- package/behaviors/registry/organisms/std-cicd-pipeline.orb +1367 -825
- package/behaviors/registry/organisms/std-cms.orb +1549 -566
- package/behaviors/registry/organisms/std-coding-academy.orb +744 -495
- package/behaviors/registry/organisms/std-crm.orb +1997 -1014
- package/behaviors/registry/organisms/std-devops-dashboard.orb +2160 -1606
- package/behaviors/registry/organisms/std-ecommerce.orb +2279 -1153
- package/behaviors/registry/organisms/std-finance-tracker.orb +1375 -727
- package/behaviors/registry/organisms/std-healthcare.orb +2940 -1703
- package/behaviors/registry/organisms/std-helpdesk.orb +1443 -781
- package/behaviors/registry/organisms/std-hr-portal.orb +2361 -1440
- package/behaviors/registry/organisms/std-iot-dashboard.orb +1491 -1026
- package/behaviors/registry/organisms/std-lms.orb +1629 -1046
- package/behaviors/registry/organisms/std-logic-training.orb +321 -134
- package/behaviors/registry/organisms/std-platformer-app.orb +855 -417
- package/behaviors/registry/organisms/std-project-manager.orb +1795 -877
- package/behaviors/registry/organisms/std-puzzle-app.orb +407 -206
- package/behaviors/registry/organisms/std-realtime-chat.orb +1436 -844
- package/behaviors/registry/organisms/std-rpg-game.orb +1522 -1007
- package/behaviors/registry/organisms/std-service-marketplace.orb +2110 -1204
- package/behaviors/registry/organisms/std-service-research-assistant.orb +1285 -1078
- package/behaviors/registry/organisms/std-social-feed.orb +612 -252
- package/behaviors/registry/organisms/std-stem-lab.orb +642 -450
- package/behaviors/registry/organisms/std-strategy-game.orb +893 -650
- package/behaviors/registry/organisms/std-trading-dashboard.orb +1271 -805
- package/dist/behaviors/registry/atoms/std-agent-activity-log.orb +240 -227
- package/dist/behaviors/registry/atoms/std-agent-chat-thread.orb +296 -199
- package/dist/behaviors/registry/atoms/std-agent-classifier.orb +384 -133
- package/dist/behaviors/registry/atoms/std-agent-completion.orb +404 -141
- package/dist/behaviors/registry/atoms/std-agent-context-window.orb +904 -607
- package/dist/behaviors/registry/atoms/std-agent-conversation.orb +443 -234
- package/dist/behaviors/registry/atoms/std-agent-memory.orb +584 -150
- package/dist/behaviors/registry/atoms/std-agent-provider.orb +431 -174
- package/dist/behaviors/registry/atoms/std-agent-search.orb +217 -61
- package/dist/behaviors/registry/atoms/std-agent-session.orb +406 -159
- package/dist/behaviors/registry/atoms/std-agent-step-progress.orb +314 -294
- package/dist/behaviors/registry/atoms/std-agent-token-gauge.orb +577 -500
- package/dist/behaviors/registry/atoms/std-agent-tool-call.orb +328 -138
- package/dist/behaviors/registry/atoms/std-async.orb +147 -86
- package/dist/behaviors/registry/atoms/std-autoregressive.orb +64 -73
- package/dist/behaviors/registry/atoms/std-browse.orb +260 -126
- package/dist/behaviors/registry/atoms/std-cache-aside.orb +358 -259
- package/dist/behaviors/registry/atoms/std-calendar.orb +280 -215
- package/dist/behaviors/registry/atoms/std-circuit-breaker.orb +295 -234
- package/dist/behaviors/registry/atoms/std-collision.orb +136 -135
- package/dist/behaviors/registry/atoms/std-combat-log.orb +108 -90
- package/dist/behaviors/registry/atoms/std-combat.orb +171 -98
- package/dist/behaviors/registry/atoms/std-confirmation.orb +28 -300
- package/dist/behaviors/registry/atoms/std-dialogue-box.orb +111 -30
- package/dist/behaviors/registry/atoms/std-display.orb +491 -587
- package/dist/behaviors/registry/atoms/std-drawer.orb +194 -121
- package/dist/behaviors/registry/atoms/std-filter.orb +311 -326
- package/dist/behaviors/registry/atoms/std-flip-card.orb +223 -177
- package/dist/behaviors/registry/atoms/std-gallery.orb +130 -151
- package/dist/behaviors/registry/atoms/std-game-audio.orb +133 -72
- package/dist/behaviors/registry/atoms/std-game-canvas2d.orb +112 -52
- package/dist/behaviors/registry/atoms/std-game-canvas3d.orb +150 -107
- package/dist/behaviors/registry/atoms/std-game-hud.orb +87 -20
- package/dist/behaviors/registry/atoms/std-game-menu.orb +32 -32
- package/dist/behaviors/registry/atoms/std-game-over-screen.orb +100 -33
- package/dist/behaviors/registry/atoms/std-gameflow.orb +147 -80
- package/dist/behaviors/registry/atoms/std-input.orb +128 -393
- package/dist/behaviors/registry/atoms/std-inventory-panel.orb +108 -71
- package/dist/behaviors/registry/atoms/std-isometric-canvas.orb +156 -407
- package/dist/behaviors/registry/atoms/std-loading.orb +127 -126
- package/dist/behaviors/registry/atoms/std-modal.orb +30 -267
- package/dist/behaviors/registry/atoms/std-movement.orb +391 -292
- package/dist/behaviors/registry/atoms/std-notification.orb +133 -75
- package/dist/behaviors/registry/atoms/std-overworld.orb +194 -121
- package/dist/behaviors/registry/atoms/std-pagination.orb +120 -53
- package/dist/behaviors/registry/atoms/std-physics2d.orb +94 -93
- package/dist/behaviors/registry/atoms/std-platformer-canvas.orb +110 -98
- package/dist/behaviors/registry/atoms/std-push.orb +172 -36
- package/dist/behaviors/registry/atoms/std-quest.orb +552 -449
- package/dist/behaviors/registry/atoms/std-rate-limiter.orb +242 -241
- package/dist/behaviors/registry/atoms/std-rating.orb +123 -65
- package/dist/behaviors/registry/atoms/std-related.orb +202 -26
- package/dist/behaviors/registry/atoms/std-score-board.orb +109 -28
- package/dist/behaviors/registry/atoms/std-score.orb +210 -146
- package/dist/behaviors/registry/atoms/std-search.orb +265 -138
- package/dist/behaviors/registry/atoms/std-selection.orb +311 -220
- package/dist/behaviors/registry/atoms/std-service-custom-bearer.orb +199 -110
- package/dist/behaviors/registry/atoms/std-service-custom-header.orb +206 -117
- package/dist/behaviors/registry/atoms/std-service-custom-noauth.orb +197 -108
- package/dist/behaviors/registry/atoms/std-service-custom-query.orb +193 -104
- package/dist/behaviors/registry/atoms/std-service-email.orb +195 -107
- package/dist/behaviors/registry/atoms/std-service-github.orb +216 -122
- package/dist/behaviors/registry/atoms/std-service-llm.orb +204 -122
- package/dist/behaviors/registry/atoms/std-service-oauth.orb +290 -204
- package/dist/behaviors/registry/atoms/std-service-redis.orb +177 -92
- package/dist/behaviors/registry/atoms/std-service-storage.orb +211 -122
- package/dist/behaviors/registry/atoms/std-service-stripe.orb +236 -154
- package/dist/behaviors/registry/atoms/std-service-twilio.orb +221 -137
- package/dist/behaviors/registry/atoms/std-service-youtube.orb +327 -241
- package/dist/behaviors/registry/atoms/std-simulation-canvas.orb +97 -36
- package/dist/behaviors/registry/atoms/std-sort.orb +284 -207
- package/dist/behaviors/registry/atoms/std-sprite.orb +150 -74
- package/dist/behaviors/registry/atoms/std-tabs.orb +129 -62
- package/dist/behaviors/registry/atoms/std-text-effects.orb +251 -190
- package/dist/behaviors/registry/atoms/std-theme.orb +193 -135
- package/dist/behaviors/registry/atoms/std-timer.orb +320 -344
- package/dist/behaviors/registry/atoms/std-undo.orb +278 -199
- package/dist/behaviors/registry/atoms/std-upload.orb +112 -111
- package/dist/behaviors/registry/atoms/std-validate-on-save.orb +159 -151
- package/dist/behaviors/registry/atoms/std-wizard.orb +445 -336
- package/dist/behaviors/registry/molecules/std-agent-fix-loop.orb +876 -857
- package/dist/behaviors/registry/molecules/std-agent-learner.orb +635 -654
- package/dist/behaviors/registry/molecules/std-agent-planner.orb +581 -548
- package/dist/behaviors/registry/molecules/std-agent-rag.orb +414 -410
- package/dist/behaviors/registry/molecules/std-agent-tool-loop.orb +716 -711
- package/dist/behaviors/registry/molecules/std-batch-selected-list.orb +28 -12
- package/dist/behaviors/registry/molecules/std-builder-game.orb +86 -28
- package/dist/behaviors/registry/molecules/std-calendar-booking.orb +32 -8
- package/dist/behaviors/registry/molecules/std-cart.orb +347 -406
- package/dist/behaviors/registry/molecules/std-classifier-game.orb +95 -37
- package/dist/behaviors/registry/molecules/std-dashboard-tabbed.orb +16 -10
- package/dist/behaviors/registry/molecules/std-debugger-game.orb +95 -37
- package/dist/behaviors/registry/molecules/std-detail.orb +133 -138
- package/dist/behaviors/registry/molecules/std-drawer-master-list.orb +12 -6
- package/dist/behaviors/registry/molecules/std-event-handler-game.orb +91 -33
- package/dist/behaviors/registry/molecules/std-filtered-list.orb +14 -8
- package/dist/behaviors/registry/molecules/std-form-advanced.orb +242 -153
- package/dist/behaviors/registry/molecules/std-gallery-filtered.orb +16 -10
- package/dist/behaviors/registry/molecules/std-geospatial.orb +175 -122
- package/dist/behaviors/registry/molecules/std-inventory.orb +216 -170
- package/dist/behaviors/registry/molecules/std-list.orb +280 -205
- package/dist/behaviors/registry/molecules/std-messaging.orb +146 -99
- package/dist/behaviors/registry/molecules/std-negotiator-game.orb +95 -37
- package/dist/behaviors/registry/molecules/std-platformer-game.orb +300 -171
- package/dist/behaviors/registry/molecules/std-push-activity-log.orb +32 -8
- package/dist/behaviors/registry/molecules/std-puzzle-game.orb +287 -146
- package/dist/behaviors/registry/molecules/std-quiz.orb +322 -263
- package/dist/behaviors/registry/molecules/std-related-master-detail.orb +21 -15
- package/dist/behaviors/registry/molecules/std-sequencer-game.orb +92 -34
- package/dist/behaviors/registry/molecules/std-service-content-pipeline.orb +268 -267
- package/dist/behaviors/registry/molecules/std-service-custom-api-tester.orb +245 -152
- package/dist/behaviors/registry/molecules/std-service-devops-toolkit.orb +633 -294
- package/dist/behaviors/registry/molecules/std-service-notification-hub.orb +237 -152
- package/dist/behaviors/registry/molecules/std-service-payment-flow.orb +310 -180
- package/dist/behaviors/registry/molecules/std-simulator-game.orb +96 -38
- package/dist/behaviors/registry/molecules/std-turn-based-battle.orb +247 -137
- package/dist/behaviors/registry/molecules/std-wizard-form.orb +60 -9
- package/dist/behaviors/registry/organisms/std-agent-assistant.orb +2810 -1833
- package/dist/behaviors/registry/organisms/std-agent-builder.orb +6401 -4539
- package/dist/behaviors/registry/organisms/std-agent-pipeline.orb +5028 -3497
- package/dist/behaviors/registry/organisms/std-agent-reviewer.orb +2219 -1406
- package/dist/behaviors/registry/organisms/std-agent-tutor.orb +2069 -1384
- package/dist/behaviors/registry/organisms/std-api-gateway.orb +1419 -870
- package/dist/behaviors/registry/organisms/std-arcade-game.orb +488 -231
- package/dist/behaviors/registry/organisms/std-booking-system.orb +2457 -1467
- package/dist/behaviors/registry/organisms/std-cicd-pipeline.orb +1367 -825
- package/dist/behaviors/registry/organisms/std-cms.orb +1549 -566
- package/dist/behaviors/registry/organisms/std-coding-academy.orb +744 -495
- package/dist/behaviors/registry/organisms/std-crm.orb +1997 -1014
- package/dist/behaviors/registry/organisms/std-devops-dashboard.orb +2160 -1606
- package/dist/behaviors/registry/organisms/std-ecommerce.orb +2279 -1153
- package/dist/behaviors/registry/organisms/std-finance-tracker.orb +1375 -727
- package/dist/behaviors/registry/organisms/std-healthcare.orb +2940 -1703
- package/dist/behaviors/registry/organisms/std-helpdesk.orb +1443 -781
- package/dist/behaviors/registry/organisms/std-hr-portal.orb +2361 -1440
- package/dist/behaviors/registry/organisms/std-iot-dashboard.orb +1491 -1026
- package/dist/behaviors/registry/organisms/std-lms.orb +1629 -1046
- package/dist/behaviors/registry/organisms/std-logic-training.orb +321 -134
- package/dist/behaviors/registry/organisms/std-platformer-app.orb +855 -417
- package/dist/behaviors/registry/organisms/std-project-manager.orb +1795 -877
- package/dist/behaviors/registry/organisms/std-puzzle-app.orb +407 -206
- package/dist/behaviors/registry/organisms/std-realtime-chat.orb +1436 -844
- package/dist/behaviors/registry/organisms/std-rpg-game.orb +1522 -1007
- package/dist/behaviors/registry/organisms/std-service-marketplace.orb +2110 -1204
- package/dist/behaviors/registry/organisms/std-service-research-assistant.orb +1285 -1078
- package/dist/behaviors/registry/organisms/std-social-feed.orb +612 -252
- package/dist/behaviors/registry/organisms/std-stem-lab.orb +642 -450
- package/dist/behaviors/registry/organisms/std-strategy-game.orb +893 -650
- package/dist/behaviors/registry/organisms/std-trading-dashboard.orb +1271 -805
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/modules/core.js +16 -4
- package/dist/modules/core.js.map +1 -1
- package/dist/modules/index.js +16 -4
- package/dist/modules/index.js.map +1 -1
- package/dist/registry.js +16 -4
- package/dist/registry.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "std-iot-dashboard",
|
|
3
3
|
"version": "1.0.0",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "std-iot-dashboard as a Function",
|
|
5
5
|
"orbitals": [
|
|
6
6
|
{
|
|
7
7
|
"name": "SensorReadingOrbital",
|
|
@@ -37,8 +37,51 @@
|
|
|
37
37
|
"traits": [
|
|
38
38
|
{
|
|
39
39
|
"name": "SensorReadingDisplay",
|
|
40
|
-
"linkedEntity": "SensorReading",
|
|
41
40
|
"category": "interaction",
|
|
41
|
+
"linkedEntity": "SensorReading",
|
|
42
|
+
"emits": [
|
|
43
|
+
{
|
|
44
|
+
"event": "SensorReadingLoaded",
|
|
45
|
+
"description": "Fired when SensorReading finishes loading",
|
|
46
|
+
"scope": "internal",
|
|
47
|
+
"payload": [
|
|
48
|
+
{
|
|
49
|
+
"name": "id",
|
|
50
|
+
"type": "string",
|
|
51
|
+
"required": true
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "sensorId",
|
|
55
|
+
"type": "string",
|
|
56
|
+
"required": true
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "value",
|
|
60
|
+
"type": "number",
|
|
61
|
+
"required": true
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "unit",
|
|
65
|
+
"type": "string"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "timestamp",
|
|
69
|
+
"type": "string"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"event": "SensorReadingLoadFailed",
|
|
75
|
+
"description": "Fired when SensorReading fails to load",
|
|
76
|
+
"scope": "internal",
|
|
77
|
+
"payload": [
|
|
78
|
+
{
|
|
79
|
+
"name": "message",
|
|
80
|
+
"type": "string"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
],
|
|
42
85
|
"stateMachine": {
|
|
43
86
|
"states": [
|
|
44
87
|
{
|
|
@@ -68,6 +111,20 @@
|
|
|
68
111
|
{
|
|
69
112
|
"key": "REFRESHED",
|
|
70
113
|
"name": "Refreshed"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"key": "SensorReadingLoaded",
|
|
117
|
+
"name": "SensorReading loaded"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"key": "SensorReadingLoadFailed",
|
|
121
|
+
"name": "SensorReading load failed",
|
|
122
|
+
"payload": [
|
|
123
|
+
{
|
|
124
|
+
"name": "message",
|
|
125
|
+
"type": "string"
|
|
126
|
+
}
|
|
127
|
+
]
|
|
71
128
|
}
|
|
72
129
|
],
|
|
73
130
|
"transitions": [
|
|
@@ -78,18 +135,24 @@
|
|
|
78
135
|
"effects": [
|
|
79
136
|
[
|
|
80
137
|
"fetch",
|
|
81
|
-
"SensorReading"
|
|
138
|
+
"SensorReading",
|
|
139
|
+
{
|
|
140
|
+
"emit": {
|
|
141
|
+
"success": "SensorReadingLoaded",
|
|
142
|
+
"failure": "SensorReadingLoadFailed"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
82
145
|
],
|
|
83
146
|
[
|
|
84
147
|
"render-ui",
|
|
85
148
|
"main",
|
|
86
149
|
{
|
|
87
|
-
"type": "dashboard-layout",
|
|
88
150
|
"appName": "IoT Dashboard",
|
|
151
|
+
"type": "dashboard-layout",
|
|
89
152
|
"navItems": [
|
|
90
153
|
{
|
|
91
|
-
"label": "Sensors",
|
|
92
154
|
"href": "/sensors",
|
|
155
|
+
"label": "Sensors",
|
|
93
156
|
"icon": "layout-list"
|
|
94
157
|
},
|
|
95
158
|
{
|
|
@@ -105,54 +168,53 @@
|
|
|
105
168
|
],
|
|
106
169
|
"children": [
|
|
107
170
|
{
|
|
108
|
-
"type": "scaled-diagram",
|
|
109
171
|
"children": [
|
|
110
172
|
{
|
|
111
|
-
"type": "stack",
|
|
112
173
|
"direction": "vertical",
|
|
174
|
+
"type": "stack",
|
|
113
175
|
"gap": "lg",
|
|
114
176
|
"children": [
|
|
115
177
|
{
|
|
116
|
-
"type": "breadcrumb",
|
|
117
178
|
"items": [
|
|
118
179
|
{
|
|
119
|
-
"
|
|
120
|
-
"
|
|
180
|
+
"href": "/",
|
|
181
|
+
"label": "Home"
|
|
121
182
|
},
|
|
122
183
|
{
|
|
123
184
|
"label": "Sensor Readings"
|
|
124
185
|
}
|
|
125
|
-
]
|
|
186
|
+
],
|
|
187
|
+
"type": "breadcrumb"
|
|
126
188
|
},
|
|
127
189
|
{
|
|
128
|
-
"type": "stack",
|
|
129
190
|
"direction": "horizontal",
|
|
130
|
-
"gap": "md",
|
|
131
191
|
"justify": "space-between",
|
|
192
|
+
"type": "stack",
|
|
193
|
+
"gap": "md",
|
|
132
194
|
"children": [
|
|
133
195
|
{
|
|
134
196
|
"type": "stack",
|
|
135
197
|
"direction": "horizontal",
|
|
136
|
-
"gap": "md",
|
|
137
198
|
"children": [
|
|
138
199
|
{
|
|
139
|
-
"type": "icon",
|
|
140
200
|
"name": "thermometer",
|
|
141
|
-
"size": "lg"
|
|
201
|
+
"size": "lg",
|
|
202
|
+
"type": "icon"
|
|
142
203
|
},
|
|
143
204
|
{
|
|
144
205
|
"type": "typography",
|
|
145
206
|
"content": "Sensor Readings",
|
|
146
207
|
"variant": "h2"
|
|
147
208
|
}
|
|
148
|
-
]
|
|
209
|
+
],
|
|
210
|
+
"gap": "md"
|
|
149
211
|
},
|
|
150
212
|
{
|
|
151
|
-
"type": "button",
|
|
152
|
-
"label": "Refresh",
|
|
153
|
-
"event": "REFRESH",
|
|
154
213
|
"variant": "secondary",
|
|
155
|
-
"icon": "refresh-cw"
|
|
214
|
+
"icon": "refresh-cw",
|
|
215
|
+
"label": "Refresh",
|
|
216
|
+
"type": "button",
|
|
217
|
+
"event": "REFRESH"
|
|
156
218
|
}
|
|
157
219
|
]
|
|
158
220
|
},
|
|
@@ -160,29 +222,22 @@
|
|
|
160
222
|
"type": "divider"
|
|
161
223
|
},
|
|
162
224
|
{
|
|
163
|
-
"type": "box",
|
|
164
|
-
"padding": "md",
|
|
165
225
|
"children": [
|
|
166
226
|
{
|
|
167
|
-
"type": "simple-grid",
|
|
168
|
-
"columns": 3,
|
|
169
227
|
"children": [
|
|
170
228
|
{
|
|
171
229
|
"type": "card",
|
|
172
230
|
"children": [
|
|
173
231
|
{
|
|
174
|
-
"type": "stack",
|
|
175
|
-
"direction": "vertical",
|
|
176
232
|
"gap": "sm",
|
|
233
|
+
"type": "stack",
|
|
177
234
|
"children": [
|
|
178
235
|
{
|
|
179
236
|
"type": "typography",
|
|
180
|
-
"
|
|
181
|
-
"
|
|
237
|
+
"content": "SensorId",
|
|
238
|
+
"variant": "caption"
|
|
182
239
|
},
|
|
183
240
|
{
|
|
184
|
-
"type": "typography",
|
|
185
|
-
"variant": "h3",
|
|
186
241
|
"content": [
|
|
187
242
|
"object/get",
|
|
188
243
|
[
|
|
@@ -190,15 +245,18 @@
|
|
|
190
245
|
"@entity"
|
|
191
246
|
],
|
|
192
247
|
"sensorId"
|
|
193
|
-
]
|
|
248
|
+
],
|
|
249
|
+
"type": "typography",
|
|
250
|
+
"variant": "h3"
|
|
194
251
|
}
|
|
195
|
-
]
|
|
252
|
+
],
|
|
253
|
+
"direction": "vertical"
|
|
196
254
|
}
|
|
197
255
|
]
|
|
198
256
|
},
|
|
199
257
|
{
|
|
200
|
-
"type": "stat-display",
|
|
201
258
|
"label": "Value",
|
|
259
|
+
"type": "stat-display",
|
|
202
260
|
"value": [
|
|
203
261
|
"object/get",
|
|
204
262
|
[
|
|
@@ -212,9 +270,9 @@
|
|
|
212
270
|
"type": "card",
|
|
213
271
|
"children": [
|
|
214
272
|
{
|
|
215
|
-
"type": "stack",
|
|
216
|
-
"direction": "vertical",
|
|
217
273
|
"gap": "sm",
|
|
274
|
+
"direction": "vertical",
|
|
275
|
+
"type": "stack",
|
|
218
276
|
"children": [
|
|
219
277
|
{
|
|
220
278
|
"type": "typography",
|
|
@@ -222,7 +280,6 @@
|
|
|
222
280
|
"content": "Unit"
|
|
223
281
|
},
|
|
224
282
|
{
|
|
225
|
-
"type": "typography",
|
|
226
283
|
"variant": "h3",
|
|
227
284
|
"content": [
|
|
228
285
|
"object/get",
|
|
@@ -231,7 +288,8 @@
|
|
|
231
288
|
"@entity"
|
|
232
289
|
],
|
|
233
290
|
"unit"
|
|
234
|
-
]
|
|
291
|
+
],
|
|
292
|
+
"type": "typography"
|
|
235
293
|
}
|
|
236
294
|
]
|
|
237
295
|
}
|
|
@@ -241,18 +299,13 @@
|
|
|
241
299
|
"type": "card",
|
|
242
300
|
"children": [
|
|
243
301
|
{
|
|
244
|
-
"type": "stack",
|
|
245
|
-
"direction": "vertical",
|
|
246
|
-
"gap": "sm",
|
|
247
302
|
"children": [
|
|
248
303
|
{
|
|
249
|
-
"type": "typography",
|
|
250
304
|
"variant": "caption",
|
|
251
|
-
"content": "Timestamp"
|
|
305
|
+
"content": "Timestamp",
|
|
306
|
+
"type": "typography"
|
|
252
307
|
},
|
|
253
308
|
{
|
|
254
|
-
"type": "typography",
|
|
255
|
-
"variant": "h3",
|
|
256
309
|
"content": [
|
|
257
310
|
"object/get",
|
|
258
311
|
[
|
|
@@ -260,77 +313,86 @@
|
|
|
260
313
|
"@entity"
|
|
261
314
|
],
|
|
262
315
|
"timestamp"
|
|
263
|
-
]
|
|
316
|
+
],
|
|
317
|
+
"variant": "h3",
|
|
318
|
+
"type": "typography"
|
|
264
319
|
}
|
|
265
|
-
]
|
|
320
|
+
],
|
|
321
|
+
"gap": "sm",
|
|
322
|
+
"type": "stack",
|
|
323
|
+
"direction": "vertical"
|
|
266
324
|
}
|
|
267
325
|
]
|
|
268
326
|
}
|
|
269
|
-
]
|
|
327
|
+
],
|
|
328
|
+
"type": "simple-grid",
|
|
329
|
+
"columns": 3.0
|
|
270
330
|
}
|
|
271
|
-
]
|
|
331
|
+
],
|
|
332
|
+
"type": "box",
|
|
333
|
+
"padding": "md"
|
|
272
334
|
},
|
|
273
335
|
{
|
|
274
336
|
"type": "divider"
|
|
275
337
|
},
|
|
276
338
|
{
|
|
277
|
-
"type": "grid",
|
|
278
|
-
"columns": 2,
|
|
279
339
|
"gap": "md",
|
|
340
|
+
"type": "grid",
|
|
280
341
|
"children": [
|
|
281
342
|
{
|
|
282
|
-
"type": "card",
|
|
283
343
|
"children": [
|
|
284
344
|
{
|
|
285
345
|
"type": "typography",
|
|
286
|
-
"
|
|
287
|
-
"
|
|
346
|
+
"content": "Chart View",
|
|
347
|
+
"variant": "caption"
|
|
288
348
|
}
|
|
289
|
-
]
|
|
349
|
+
],
|
|
350
|
+
"type": "card"
|
|
290
351
|
},
|
|
291
352
|
{
|
|
292
353
|
"type": "card",
|
|
293
354
|
"children": [
|
|
294
355
|
{
|
|
295
|
-
"type": "typography",
|
|
296
356
|
"variant": "caption",
|
|
297
|
-
"content": "Graph View"
|
|
357
|
+
"content": "Graph View",
|
|
358
|
+
"type": "typography"
|
|
298
359
|
}
|
|
299
360
|
]
|
|
300
361
|
}
|
|
301
|
-
]
|
|
362
|
+
],
|
|
363
|
+
"columns": 2.0
|
|
302
364
|
},
|
|
303
365
|
{
|
|
366
|
+
"yKey": "value",
|
|
304
367
|
"type": "line-chart",
|
|
368
|
+
"title": "Trend",
|
|
305
369
|
"data": [
|
|
306
370
|
{
|
|
307
|
-
"
|
|
308
|
-
"
|
|
371
|
+
"value": 12.0,
|
|
372
|
+
"date": "Jan"
|
|
309
373
|
},
|
|
310
374
|
{
|
|
311
|
-
"
|
|
312
|
-
"
|
|
375
|
+
"value": 19.0,
|
|
376
|
+
"date": "Feb"
|
|
313
377
|
},
|
|
314
378
|
{
|
|
315
379
|
"date": "Mar",
|
|
316
|
-
"value": 15
|
|
380
|
+
"value": 15.0
|
|
317
381
|
},
|
|
318
382
|
{
|
|
319
|
-
"
|
|
320
|
-
"
|
|
383
|
+
"value": 25.0,
|
|
384
|
+
"date": "Apr"
|
|
321
385
|
},
|
|
322
386
|
{
|
|
323
|
-
"
|
|
324
|
-
"
|
|
387
|
+
"value": 22.0,
|
|
388
|
+
"date": "May"
|
|
325
389
|
},
|
|
326
390
|
{
|
|
327
|
-
"
|
|
328
|
-
"
|
|
391
|
+
"value": 30.0,
|
|
392
|
+
"date": "Jun"
|
|
329
393
|
}
|
|
330
394
|
],
|
|
331
|
-
"xKey": "date"
|
|
332
|
-
"yKey": "value",
|
|
333
|
-
"title": "Trend"
|
|
395
|
+
"xKey": "date"
|
|
334
396
|
},
|
|
335
397
|
{
|
|
336
398
|
"type": "chart-legend",
|
|
@@ -340,49 +402,50 @@
|
|
|
340
402
|
"color": "primary"
|
|
341
403
|
},
|
|
342
404
|
{
|
|
343
|
-
"
|
|
344
|
-
"
|
|
405
|
+
"color": "muted",
|
|
406
|
+
"label": "Previous"
|
|
345
407
|
}
|
|
346
408
|
]
|
|
347
409
|
},
|
|
348
410
|
{
|
|
411
|
+
"height": 200.0,
|
|
412
|
+
"edges": [
|
|
413
|
+
{
|
|
414
|
+
"to": "b",
|
|
415
|
+
"from": "a"
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"to": "c",
|
|
419
|
+
"from": "b"
|
|
420
|
+
}
|
|
421
|
+
],
|
|
349
422
|
"type": "graph-view",
|
|
350
423
|
"nodes": [
|
|
351
424
|
{
|
|
352
|
-
"id": "a",
|
|
353
425
|
"label": "Start",
|
|
354
|
-
"x": 50,
|
|
355
|
-
"y": 100
|
|
426
|
+
"x": 50.0,
|
|
427
|
+
"y": 100.0,
|
|
428
|
+
"id": "a"
|
|
356
429
|
},
|
|
357
430
|
{
|
|
431
|
+
"y": 50.0,
|
|
358
432
|
"id": "b",
|
|
359
|
-
"
|
|
360
|
-
"
|
|
361
|
-
"y": 50
|
|
433
|
+
"x": 200.0,
|
|
434
|
+
"label": "Process"
|
|
362
435
|
},
|
|
363
436
|
{
|
|
364
|
-
"id": "c",
|
|
365
437
|
"label": "End",
|
|
366
|
-
"
|
|
367
|
-
"
|
|
368
|
-
|
|
369
|
-
],
|
|
370
|
-
"edges": [
|
|
371
|
-
{
|
|
372
|
-
"from": "a",
|
|
373
|
-
"to": "b"
|
|
374
|
-
},
|
|
375
|
-
{
|
|
376
|
-
"from": "b",
|
|
377
|
-
"to": "c"
|
|
438
|
+
"y": 100.0,
|
|
439
|
+
"x": 350.0,
|
|
440
|
+
"id": "c"
|
|
378
441
|
}
|
|
379
442
|
],
|
|
380
|
-
"width": 400
|
|
381
|
-
"height": 200
|
|
443
|
+
"width": 400.0
|
|
382
444
|
}
|
|
383
445
|
]
|
|
384
446
|
}
|
|
385
|
-
]
|
|
447
|
+
],
|
|
448
|
+
"type": "scaled-diagram"
|
|
386
449
|
}
|
|
387
450
|
]
|
|
388
451
|
}
|
|
@@ -396,14 +459,19 @@
|
|
|
396
459
|
"effects": [
|
|
397
460
|
[
|
|
398
461
|
"fetch",
|
|
399
|
-
"SensorReading"
|
|
462
|
+
"SensorReading",
|
|
463
|
+
{
|
|
464
|
+
"emit": {
|
|
465
|
+
"success": "SensorReadingLoaded",
|
|
466
|
+
"failure": "SensorReadingLoadFailed"
|
|
467
|
+
}
|
|
468
|
+
}
|
|
400
469
|
],
|
|
401
470
|
[
|
|
402
471
|
"render-ui",
|
|
403
472
|
"main",
|
|
404
473
|
{
|
|
405
474
|
"type": "dashboard-layout",
|
|
406
|
-
"appName": "IoT Dashboard",
|
|
407
475
|
"navItems": [
|
|
408
476
|
{
|
|
409
477
|
"label": "Sensors",
|
|
@@ -434,8 +502,8 @@
|
|
|
434
502
|
"type": "breadcrumb",
|
|
435
503
|
"items": [
|
|
436
504
|
{
|
|
437
|
-
"
|
|
438
|
-
"
|
|
505
|
+
"href": "/",
|
|
506
|
+
"label": "Home"
|
|
439
507
|
},
|
|
440
508
|
{
|
|
441
509
|
"label": "Sensor Readings"
|
|
@@ -443,15 +511,8 @@
|
|
|
443
511
|
]
|
|
444
512
|
},
|
|
445
513
|
{
|
|
446
|
-
"type": "stack",
|
|
447
|
-
"direction": "horizontal",
|
|
448
|
-
"gap": "md",
|
|
449
|
-
"justify": "space-between",
|
|
450
514
|
"children": [
|
|
451
515
|
{
|
|
452
|
-
"type": "stack",
|
|
453
|
-
"direction": "horizontal",
|
|
454
|
-
"gap": "md",
|
|
455
516
|
"children": [
|
|
456
517
|
{
|
|
457
518
|
"type": "icon",
|
|
@@ -459,44 +520,49 @@
|
|
|
459
520
|
"size": "lg"
|
|
460
521
|
},
|
|
461
522
|
{
|
|
462
|
-
"
|
|
523
|
+
"variant": "h2",
|
|
463
524
|
"content": "Sensor Readings",
|
|
464
|
-
"
|
|
525
|
+
"type": "typography"
|
|
465
526
|
}
|
|
466
|
-
]
|
|
527
|
+
],
|
|
528
|
+
"direction": "horizontal",
|
|
529
|
+
"gap": "md",
|
|
530
|
+
"type": "stack"
|
|
467
531
|
},
|
|
468
532
|
{
|
|
469
533
|
"type": "button",
|
|
470
|
-
"
|
|
471
|
-
"event": "REFRESH",
|
|
534
|
+
"icon": "refresh-cw",
|
|
472
535
|
"variant": "secondary",
|
|
473
|
-
"
|
|
536
|
+
"event": "REFRESH",
|
|
537
|
+
"label": "Refresh"
|
|
474
538
|
}
|
|
475
|
-
]
|
|
539
|
+
],
|
|
540
|
+
"gap": "md",
|
|
541
|
+
"justify": "space-between",
|
|
542
|
+
"type": "stack",
|
|
543
|
+
"direction": "horizontal"
|
|
476
544
|
},
|
|
477
545
|
{
|
|
478
546
|
"type": "divider"
|
|
479
547
|
},
|
|
480
548
|
{
|
|
481
|
-
"type": "box",
|
|
482
549
|
"padding": "md",
|
|
483
550
|
"children": [
|
|
484
551
|
{
|
|
485
552
|
"type": "simple-grid",
|
|
486
|
-
"columns": 3,
|
|
553
|
+
"columns": 3.0,
|
|
487
554
|
"children": [
|
|
488
555
|
{
|
|
489
|
-
"type": "card",
|
|
490
556
|
"children": [
|
|
491
557
|
{
|
|
558
|
+
"gap": "sm",
|
|
492
559
|
"type": "stack",
|
|
493
560
|
"direction": "vertical",
|
|
494
|
-
"gap": "sm",
|
|
495
561
|
"children": [
|
|
496
562
|
{
|
|
563
|
+
"content": "SensorId",
|
|
497
564
|
"type": "typography",
|
|
498
|
-
"variant": "caption"
|
|
499
|
-
"content": "SensorId"
|
|
565
|
+
"variant": "caption"
|
|
500
566
|
},
|
|
501
567
|
{
|
|
502
568
|
"type": "typography",
|
|
@@ -512,11 +578,12 @@
|
|
|
512
578
|
}
|
|
513
579
|
]
|
|
514
580
|
}
|
|
515
|
-
]
|
|
581
|
+
],
|
|
582
|
+
"type": "card"
|
|
516
583
|
},
|
|
517
584
|
{
|
|
518
|
-
"type": "stat-display",
|
|
519
585
|
"label": "Value",
|
|
586
|
+
"type": "stat-display",
|
|
520
587
|
"value": [
|
|
521
588
|
"object/get",
|
|
522
589
|
[
|
|
@@ -531,17 +598,13 @@
|
|
|
531
598
|
"children": [
|
|
532
599
|
{
|
|
533
600
|
"type": "stack",
|
|
534
|
-
"direction": "vertical",
|
|
535
|
-
"gap": "sm",
|
|
536
601
|
"children": [
|
|
537
602
|
{
|
|
538
|
-
"type": "typography",
|
|
539
603
|
"variant": "caption",
|
|
540
|
-
"content": "Unit"
|
|
604
|
+
"content": "Unit",
|
|
605
|
+
"type": "typography"
|
|
541
606
|
},
|
|
542
607
|
{
|
|
543
|
-
"type": "typography",
|
|
544
|
-
"variant": "h3",
|
|
545
608
|
"content": [
|
|
546
609
|
"object/get",
|
|
547
610
|
[
|
|
@@ -549,9 +612,13 @@
|
|
|
549
612
|
"@entity"
|
|
550
613
|
],
|
|
551
614
|
"unit"
|
|
552
|
-
]
|
|
615
|
+
],
|
|
616
|
+
"type": "typography",
|
|
617
|
+
"variant": "h3"
|
|
553
618
|
}
|
|
554
|
-
]
|
|
619
|
+
],
|
|
620
|
+
"gap": "sm",
|
|
621
|
+
"direction": "vertical"
|
|
555
622
|
}
|
|
556
623
|
]
|
|
557
624
|
},
|
|
@@ -559,14 +626,14 @@
|
|
|
559
626
|
"type": "card",
|
|
560
627
|
"children": [
|
|
561
628
|
{
|
|
629
|
+
"gap": "sm",
|
|
562
630
|
"type": "stack",
|
|
563
631
|
"direction": "vertical",
|
|
564
|
-
"gap": "sm",
|
|
565
632
|
"children": [
|
|
566
633
|
{
|
|
634
|
+
"content": "Timestamp",
|
|
567
635
|
"type": "typography",
|
|
568
|
-
"variant": "caption"
|
|
569
|
-
"content": "Timestamp"
|
|
636
|
+
"variant": "caption"
|
|
570
637
|
},
|
|
571
638
|
{
|
|
572
639
|
"type": "typography",
|
|
@@ -586,15 +653,13 @@
|
|
|
586
653
|
}
|
|
587
654
|
]
|
|
588
655
|
}
|
|
589
|
-
]
|
|
656
|
+
],
|
|
657
|
+
"type": "box"
|
|
590
658
|
},
|
|
591
659
|
{
|
|
592
660
|
"type": "divider"
|
|
593
661
|
},
|
|
594
662
|
{
|
|
595
|
-
"type": "grid",
|
|
596
|
-
"columns": 2,
|
|
597
|
-
"gap": "md",
|
|
598
663
|
"children": [
|
|
599
664
|
{
|
|
600
665
|
"type": "card",
|
|
@@ -610,48 +675,50 @@
|
|
|
610
675
|
"type": "card",
|
|
611
676
|
"children": [
|
|
612
677
|
{
|
|
678
|
+
"content": "Graph View",
|
|
613
679
|
"type": "typography",
|
|
614
|
-
"variant": "caption"
|
|
615
|
-
"content": "Graph View"
|
|
680
|
+
"variant": "caption"
|
|
616
681
|
}
|
|
617
682
|
]
|
|
618
683
|
}
|
|
619
|
-
]
|
|
684
|
+
],
|
|
685
|
+
"type": "grid",
|
|
686
|
+
"columns": 2.0,
|
|
687
|
+
"gap": "md"
|
|
620
688
|
},
|
|
621
689
|
{
|
|
622
|
-
"type": "line-chart",
|
|
623
690
|
"data": [
|
|
624
691
|
{
|
|
625
|
-
"
|
|
626
|
-
"
|
|
692
|
+
"value": 12.0,
|
|
693
|
+
"date": "Jan"
|
|
627
694
|
},
|
|
628
695
|
{
|
|
629
|
-
"
|
|
630
|
-
"
|
|
696
|
+
"value": 19.0,
|
|
697
|
+
"date": "Feb"
|
|
631
698
|
},
|
|
632
699
|
{
|
|
633
|
-
"
|
|
634
|
-
"
|
|
700
|
+
"value": 15.0,
|
|
701
|
+
"date": "Mar"
|
|
635
702
|
},
|
|
636
703
|
{
|
|
637
|
-
"
|
|
638
|
-
"
|
|
704
|
+
"value": 25.0,
|
|
705
|
+
"date": "Apr"
|
|
639
706
|
},
|
|
640
707
|
{
|
|
641
|
-
"
|
|
642
|
-
"
|
|
708
|
+
"value": 22.0,
|
|
709
|
+
"date": "May"
|
|
643
710
|
},
|
|
644
711
|
{
|
|
645
|
-
"
|
|
646
|
-
"
|
|
712
|
+
"value": 30.0,
|
|
713
|
+
"date": "Jun"
|
|
647
714
|
}
|
|
648
715
|
],
|
|
649
|
-
"
|
|
716
|
+
"title": "Trend",
|
|
717
|
+
"type": "line-chart",
|
|
650
718
|
"yKey": "value",
|
|
651
|
-
"
|
|
719
|
+
"xKey": "date"
|
|
652
720
|
},
|
|
653
721
|
{
|
|
654
|
-
"type": "chart-legend",
|
|
655
722
|
"items": [
|
|
656
723
|
{
|
|
657
724
|
"label": "Current",
|
|
@@ -661,48 +728,50 @@
|
|
|
661
728
|
"label": "Previous",
|
|
662
729
|
"color": "muted"
|
|
663
730
|
}
|
|
664
|
-
]
|
|
731
|
+
],
|
|
732
|
+
"type": "chart-legend"
|
|
665
733
|
},
|
|
666
734
|
{
|
|
667
|
-
"type": "graph-view",
|
|
668
735
|
"nodes": [
|
|
669
736
|
{
|
|
670
|
-
"
|
|
737
|
+
"y": 100.0,
|
|
738
|
+
"x": 50.0,
|
|
671
739
|
"label": "Start",
|
|
672
|
-
"
|
|
673
|
-
"y": 100
|
|
740
|
+
"id": "a"
|
|
674
741
|
},
|
|
675
742
|
{
|
|
676
|
-
"id": "b",
|
|
677
743
|
"label": "Process",
|
|
678
|
-
"
|
|
679
|
-
"
|
|
744
|
+
"y": 50.0,
|
|
745
|
+
"x": 200.0,
|
|
746
|
+
"id": "b"
|
|
680
747
|
},
|
|
681
748
|
{
|
|
682
|
-
"id": "c",
|
|
683
749
|
"label": "End",
|
|
684
|
-
"x": 350,
|
|
685
|
-
"
|
|
750
|
+
"x": 350.0,
|
|
751
|
+
"id": "c",
|
|
752
|
+
"y": 100.0
|
|
686
753
|
}
|
|
687
754
|
],
|
|
755
|
+
"type": "graph-view",
|
|
756
|
+
"width": 400.0,
|
|
757
|
+
"height": 200.0,
|
|
688
758
|
"edges": [
|
|
689
759
|
{
|
|
690
760
|
"from": "a",
|
|
691
761
|
"to": "b"
|
|
692
762
|
},
|
|
693
763
|
{
|
|
694
|
-
"
|
|
695
|
-
"
|
|
764
|
+
"to": "c",
|
|
765
|
+
"from": "b"
|
|
696
766
|
}
|
|
697
|
-
]
|
|
698
|
-
"width": 400,
|
|
699
|
-
"height": 200
|
|
767
|
+
]
|
|
700
768
|
}
|
|
701
769
|
]
|
|
702
770
|
}
|
|
703
771
|
]
|
|
704
772
|
}
|
|
705
|
-
]
|
|
773
|
+
],
|
|
774
|
+
"appName": "IoT Dashboard"
|
|
706
775
|
}
|
|
707
776
|
]
|
|
708
777
|
]
|
|
@@ -714,81 +783,65 @@
|
|
|
714
783
|
"effects": [
|
|
715
784
|
[
|
|
716
785
|
"fetch",
|
|
717
|
-
"SensorReading"
|
|
786
|
+
"SensorReading",
|
|
787
|
+
{
|
|
788
|
+
"emit": {
|
|
789
|
+
"success": "SensorReadingLoaded",
|
|
790
|
+
"failure": "SensorReadingLoadFailed"
|
|
791
|
+
}
|
|
792
|
+
}
|
|
718
793
|
],
|
|
719
794
|
[
|
|
720
795
|
"render-ui",
|
|
721
796
|
"main",
|
|
722
797
|
{
|
|
723
|
-
"type": "dashboard-layout",
|
|
724
|
-
"appName": "IoT Dashboard",
|
|
725
|
-
"navItems": [
|
|
726
|
-
{
|
|
727
|
-
"label": "Sensors",
|
|
728
|
-
"href": "/sensors",
|
|
729
|
-
"icon": "layout-list"
|
|
730
|
-
},
|
|
731
|
-
{
|
|
732
|
-
"label": "Devices",
|
|
733
|
-
"href": "/devices",
|
|
734
|
-
"icon": "cpu"
|
|
735
|
-
},
|
|
736
|
-
{
|
|
737
|
-
"label": "Alerts",
|
|
738
|
-
"href": "/alerts",
|
|
739
|
-
"icon": "bell"
|
|
740
|
-
}
|
|
741
|
-
],
|
|
742
798
|
"children": [
|
|
743
799
|
{
|
|
744
|
-
"type": "scaled-diagram",
|
|
745
800
|
"children": [
|
|
746
801
|
{
|
|
747
802
|
"type": "stack",
|
|
748
|
-
"direction": "vertical",
|
|
749
|
-
"gap": "lg",
|
|
750
803
|
"children": [
|
|
751
804
|
{
|
|
752
|
-
"type": "breadcrumb",
|
|
753
805
|
"items": [
|
|
754
806
|
{
|
|
755
|
-
"
|
|
756
|
-
"
|
|
807
|
+
"href": "/",
|
|
808
|
+
"label": "Home"
|
|
757
809
|
},
|
|
758
810
|
{
|
|
759
811
|
"label": "Sensor Readings"
|
|
760
812
|
}
|
|
761
|
-
]
|
|
813
|
+
],
|
|
814
|
+
"type": "breadcrumb"
|
|
762
815
|
},
|
|
763
816
|
{
|
|
764
|
-
"type": "stack",
|
|
765
|
-
"direction": "horizontal",
|
|
766
817
|
"gap": "md",
|
|
767
818
|
"justify": "space-between",
|
|
819
|
+
"type": "stack",
|
|
820
|
+
"direction": "horizontal",
|
|
768
821
|
"children": [
|
|
769
822
|
{
|
|
770
|
-
"type": "stack",
|
|
771
823
|
"direction": "horizontal",
|
|
772
824
|
"gap": "md",
|
|
773
825
|
"children": [
|
|
774
826
|
{
|
|
775
|
-
"type": "icon",
|
|
776
827
|
"name": "thermometer",
|
|
777
|
-
"size": "lg"
|
|
828
|
+
"size": "lg",
|
|
829
|
+
"type": "icon"
|
|
778
830
|
},
|
|
779
831
|
{
|
|
780
832
|
"type": "typography",
|
|
781
|
-
"
|
|
782
|
-
"
|
|
833
|
+
"variant": "h2",
|
|
834
|
+
"content": "Sensor Readings"
|
|
783
835
|
}
|
|
784
|
-
]
|
|
836
|
+
],
|
|
837
|
+
"type": "stack"
|
|
785
838
|
},
|
|
786
839
|
{
|
|
787
840
|
"type": "button",
|
|
788
841
|
"label": "Refresh",
|
|
789
842
|
"event": "REFRESH",
|
|
790
|
-
"
|
|
791
|
-
"
|
|
843
|
+
"icon": "refresh-cw",
|
|
844
|
+
"variant": "secondary"
|
|
792
845
|
}
|
|
793
846
|
]
|
|
794
847
|
},
|
|
@@ -801,15 +854,11 @@
|
|
|
801
854
|
"children": [
|
|
802
855
|
{
|
|
803
856
|
"type": "simple-grid",
|
|
804
|
-
"columns": 3,
|
|
857
|
+
"columns": 3.0,
|
|
805
858
|
"children": [
|
|
806
859
|
{
|
|
807
|
-
"type": "card",
|
|
808
860
|
"children": [
|
|
809
861
|
{
|
|
810
|
-
"type": "stack",
|
|
811
|
-
"direction": "vertical",
|
|
812
|
-
"gap": "sm",
|
|
813
862
|
"children": [
|
|
814
863
|
{
|
|
815
864
|
"type": "typography",
|
|
@@ -817,7 +866,6 @@
|
|
|
817
866
|
"content": "SensorId"
|
|
818
867
|
},
|
|
819
868
|
{
|
|
820
|
-
"type": "typography",
|
|
821
869
|
"variant": "h3",
|
|
822
870
|
"content": [
|
|
823
871
|
"object/get",
|
|
@@ -826,15 +874,18 @@
|
|
|
826
874
|
"@entity"
|
|
827
875
|
],
|
|
828
876
|
"sensorId"
|
|
829
|
-
]
|
|
877
|
+
],
|
|
878
|
+
"type": "typography"
|
|
830
879
|
}
|
|
831
|
-
]
|
|
880
|
+
],
|
|
881
|
+
"gap": "sm",
|
|
882
|
+
"type": "stack",
|
|
883
|
+
"direction": "vertical"
|
|
832
884
|
}
|
|
833
|
-
]
|
|
885
|
+
],
|
|
886
|
+
"type": "card"
|
|
834
887
|
},
|
|
835
888
|
{
|
|
836
|
-
"type": "stat-display",
|
|
837
|
-
"label": "Value",
|
|
838
889
|
"value": [
|
|
839
890
|
"object/get",
|
|
840
891
|
[
|
|
@@ -842,14 +893,16 @@
|
|
|
842
893
|
"@entity"
|
|
843
894
|
],
|
|
844
895
|
"value"
|
|
845
|
-
]
|
|
896
|
+
],
|
|
897
|
+
"type": "stat-display",
|
|
898
|
+
"label": "Value"
|
|
846
899
|
},
|
|
847
900
|
{
|
|
848
901
|
"type": "card",
|
|
849
902
|
"children": [
|
|
850
903
|
{
|
|
851
|
-
"type": "stack",
|
|
852
904
|
"direction": "vertical",
|
|
905
|
+
"type": "stack",
|
|
853
906
|
"gap": "sm",
|
|
854
907
|
"children": [
|
|
855
908
|
{
|
|
@@ -858,7 +911,6 @@
|
|
|
858
911
|
"content": "Unit"
|
|
859
912
|
},
|
|
860
913
|
{
|
|
861
|
-
"type": "typography",
|
|
862
914
|
"variant": "h3",
|
|
863
915
|
"content": [
|
|
864
916
|
"object/get",
|
|
@@ -867,7 +919,8 @@
|
|
|
867
919
|
"@entity"
|
|
868
920
|
],
|
|
869
921
|
"unit"
|
|
870
|
-
]
|
|
922
|
+
],
|
|
923
|
+
"type": "typography"
|
|
871
924
|
}
|
|
872
925
|
]
|
|
873
926
|
}
|
|
@@ -877,18 +930,15 @@
|
|
|
877
930
|
"type": "card",
|
|
878
931
|
"children": [
|
|
879
932
|
{
|
|
880
|
-
"type": "stack",
|
|
881
|
-
"direction": "vertical",
|
|
882
933
|
"gap": "sm",
|
|
934
|
+
"direction": "vertical",
|
|
883
935
|
"children": [
|
|
884
936
|
{
|
|
885
937
|
"type": "typography",
|
|
886
|
-
"
|
|
887
|
-
"
|
|
938
|
+
"content": "Timestamp",
|
|
939
|
+
"variant": "caption"
|
|
888
940
|
},
|
|
889
941
|
{
|
|
890
|
-
"type": "typography",
|
|
891
|
-
"variant": "h3",
|
|
892
942
|
"content": [
|
|
893
943
|
"object/get",
|
|
894
944
|
[
|
|
@@ -896,9 +946,12 @@
|
|
|
896
946
|
"@entity"
|
|
897
947
|
],
|
|
898
948
|
"timestamp"
|
|
899
|
-
]
|
|
949
|
+
],
|
|
950
|
+
"variant": "h3",
|
|
951
|
+
"type": "typography"
|
|
900
952
|
}
|
|
901
|
-
]
|
|
953
|
+
],
|
|
954
|
+
"type": "stack"
|
|
902
955
|
}
|
|
903
956
|
]
|
|
904
957
|
}
|
|
@@ -910,66 +963,65 @@
|
|
|
910
963
|
"type": "divider"
|
|
911
964
|
},
|
|
912
965
|
{
|
|
913
|
-
"type": "grid",
|
|
914
|
-
"columns": 2,
|
|
915
|
-
"gap": "md",
|
|
916
966
|
"children": [
|
|
917
967
|
{
|
|
918
968
|
"type": "card",
|
|
919
969
|
"children": [
|
|
920
970
|
{
|
|
921
|
-
"type": "typography",
|
|
922
971
|
"variant": "caption",
|
|
972
|
+
"type": "typography",
|
|
923
973
|
"content": "Chart View"
|
|
924
974
|
}
|
|
925
975
|
]
|
|
926
976
|
},
|
|
927
977
|
{
|
|
928
|
-
"type": "card",
|
|
929
978
|
"children": [
|
|
930
979
|
{
|
|
931
980
|
"type": "typography",
|
|
932
|
-
"
|
|
933
|
-
"
|
|
981
|
+
"content": "Graph View",
|
|
982
|
+
"variant": "caption"
|
|
934
983
|
}
|
|
935
|
-
]
|
|
984
|
+
],
|
|
985
|
+
"type": "card"
|
|
936
986
|
}
|
|
937
|
-
]
|
|
987
|
+
],
|
|
988
|
+
"gap": "md",
|
|
989
|
+
"columns": 2.0,
|
|
990
|
+
"type": "grid"
|
|
938
991
|
},
|
|
939
992
|
{
|
|
940
993
|
"type": "line-chart",
|
|
994
|
+
"xKey": "date",
|
|
941
995
|
"data": [
|
|
942
996
|
{
|
|
943
997
|
"date": "Jan",
|
|
944
|
-
"value": 12
|
|
998
|
+
"value": 12.0
|
|
945
999
|
},
|
|
946
1000
|
{
|
|
947
|
-
"
|
|
948
|
-
"
|
|
1001
|
+
"value": 19.0,
|
|
1002
|
+
"date": "Feb"
|
|
949
1003
|
},
|
|
950
1004
|
{
|
|
951
|
-
"
|
|
952
|
-
"
|
|
1005
|
+
"value": 15.0,
|
|
1006
|
+
"date": "Mar"
|
|
953
1007
|
},
|
|
954
1008
|
{
|
|
955
|
-
"
|
|
956
|
-
"
|
|
1009
|
+
"value": 25.0,
|
|
1010
|
+
"date": "Apr"
|
|
957
1011
|
},
|
|
958
1012
|
{
|
|
959
1013
|
"date": "May",
|
|
960
|
-
"value": 22
|
|
1014
|
+
"value": 22.0
|
|
961
1015
|
},
|
|
962
1016
|
{
|
|
963
1017
|
"date": "Jun",
|
|
964
|
-
"value": 30
|
|
1018
|
+
"value": 30.0
|
|
965
1019
|
}
|
|
966
1020
|
],
|
|
967
|
-
"xKey": "date",
|
|
968
1021
|
"yKey": "value",
|
|
969
1022
|
"title": "Trend"
|
|
970
1023
|
},
|
|
971
1024
|
{
|
|
972
|
-
"type": "chart-legend",
|
|
973
1025
|
"items": [
|
|
974
1026
|
{
|
|
975
1027
|
"label": "Current",
|
|
@@ -979,46 +1031,69 @@
|
|
|
979
1031
|
"label": "Previous",
|
|
980
1032
|
"color": "muted"
|
|
981
1033
|
}
|
|
982
|
-
]
|
|
1034
|
+
],
|
|
1035
|
+
"type": "chart-legend"
|
|
983
1036
|
},
|
|
984
1037
|
{
|
|
1038
|
+
"edges": [
|
|
1039
|
+
{
|
|
1040
|
+
"to": "b",
|
|
1041
|
+
"from": "a"
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
"to": "c",
|
|
1045
|
+
"from": "b"
|
|
1046
|
+
}
|
|
1047
|
+
],
|
|
1048
|
+
"height": 200.0,
|
|
985
1049
|
"type": "graph-view",
|
|
986
1050
|
"nodes": [
|
|
987
1051
|
{
|
|
1052
|
+
"x": 50.0,
|
|
1053
|
+
"y": 100.0,
|
|
988
1054
|
"id": "a",
|
|
989
|
-
"label": "Start"
|
|
990
|
-
"x": 50,
|
|
991
|
-
"y": 100
|
|
1055
|
+
"label": "Start"
|
|
992
1056
|
},
|
|
993
1057
|
{
|
|
994
|
-
"id": "b",
|
|
995
1058
|
"label": "Process",
|
|
996
|
-
"x": 200,
|
|
997
|
-
"
|
|
1059
|
+
"x": 200.0,
|
|
1060
|
+
"id": "b",
|
|
1061
|
+
"y": 50.0
|
|
998
1062
|
},
|
|
999
1063
|
{
|
|
1064
|
+
"x": 350.0,
|
|
1000
1065
|
"id": "c",
|
|
1001
1066
|
"label": "End",
|
|
1002
|
-
"
|
|
1003
|
-
"y": 100
|
|
1004
|
-
}
|
|
1005
|
-
],
|
|
1006
|
-
"edges": [
|
|
1007
|
-
{
|
|
1008
|
-
"from": "a",
|
|
1009
|
-
"to": "b"
|
|
1010
|
-
},
|
|
1011
|
-
{
|
|
1012
|
-
"from": "b",
|
|
1013
|
-
"to": "c"
|
|
1067
|
+
"y": 100.0
|
|
1014
1068
|
}
|
|
1015
1069
|
],
|
|
1016
|
-
"width": 400
|
|
1017
|
-
"height": 200
|
|
1070
|
+
"width": 400.0
|
|
1018
1071
|
}
|
|
1019
|
-
]
|
|
1072
|
+
],
|
|
1073
|
+
"gap": "lg",
|
|
1074
|
+
"direction": "vertical"
|
|
1020
1075
|
}
|
|
1021
|
-
]
|
|
1076
|
+
],
|
|
1077
|
+
"type": "scaled-diagram"
|
|
1078
|
+
}
|
|
1079
|
+
],
|
|
1080
|
+
"appName": "IoT Dashboard",
|
|
1081
|
+
"type": "dashboard-layout",
|
|
1082
|
+
"navItems": [
|
|
1083
|
+
{
|
|
1084
|
+
"href": "/sensors",
|
|
1085
|
+
"icon": "layout-list",
|
|
1086
|
+
"label": "Sensors"
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"label": "Devices",
|
|
1090
|
+
"icon": "cpu",
|
|
1091
|
+
"href": "/devices"
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"href": "/alerts",
|
|
1095
|
+
"icon": "bell",
|
|
1096
|
+
"label": "Alerts"
|
|
1022
1097
|
}
|
|
1023
1098
|
]
|
|
1024
1099
|
}
|
|
@@ -1032,14 +1107,18 @@
|
|
|
1032
1107
|
"effects": [
|
|
1033
1108
|
[
|
|
1034
1109
|
"fetch",
|
|
1035
|
-
"SensorReading"
|
|
1110
|
+
"SensorReading",
|
|
1111
|
+
{
|
|
1112
|
+
"emit": {
|
|
1113
|
+
"failure": "SensorReadingLoadFailed",
|
|
1114
|
+
"success": "SensorReadingLoaded"
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1036
1117
|
],
|
|
1037
1118
|
[
|
|
1038
1119
|
"render-ui",
|
|
1039
1120
|
"main",
|
|
1040
1121
|
{
|
|
1041
|
-
"type": "dashboard-layout",
|
|
1042
|
-
"appName": "IoT Dashboard",
|
|
1043
1122
|
"navItems": [
|
|
1044
1123
|
{
|
|
1045
1124
|
"label": "Sensors",
|
|
@@ -1047,8 +1126,8 @@
|
|
|
1047
1126
|
"icon": "layout-list"
|
|
1048
1127
|
},
|
|
1049
1128
|
{
|
|
1050
|
-
"label": "Devices",
|
|
1051
1129
|
"href": "/devices",
|
|
1130
|
+
"label": "Devices",
|
|
1052
1131
|
"icon": "cpu"
|
|
1053
1132
|
},
|
|
1054
1133
|
{
|
|
@@ -1057,21 +1136,19 @@
|
|
|
1057
1136
|
"icon": "bell"
|
|
1058
1137
|
}
|
|
1059
1138
|
],
|
|
1139
|
+
"type": "dashboard-layout",
|
|
1140
|
+
"appName": "IoT Dashboard",
|
|
1060
1141
|
"children": [
|
|
1061
1142
|
{
|
|
1062
|
-
"type": "scaled-diagram",
|
|
1063
1143
|
"children": [
|
|
1064
1144
|
{
|
|
1065
|
-
"type": "stack",
|
|
1066
|
-
"direction": "vertical",
|
|
1067
|
-
"gap": "lg",
|
|
1068
1145
|
"children": [
|
|
1069
1146
|
{
|
|
1070
1147
|
"type": "breadcrumb",
|
|
1071
1148
|
"items": [
|
|
1072
1149
|
{
|
|
1073
|
-
"
|
|
1074
|
-
"
|
|
1150
|
+
"href": "/",
|
|
1151
|
+
"label": "Home"
|
|
1075
1152
|
},
|
|
1076
1153
|
{
|
|
1077
1154
|
"label": "Sensor Readings"
|
|
@@ -1079,19 +1156,18 @@
|
|
|
1079
1156
|
]
|
|
1080
1157
|
},
|
|
1081
1158
|
{
|
|
1082
|
-
"type": "stack",
|
|
1083
1159
|
"direction": "horizontal",
|
|
1084
|
-
"gap": "md",
|
|
1085
1160
|
"justify": "space-between",
|
|
1161
|
+
"gap": "md",
|
|
1086
1162
|
"children": [
|
|
1087
1163
|
{
|
|
1088
|
-
"type": "stack",
|
|
1089
|
-
"direction": "horizontal",
|
|
1090
1164
|
"gap": "md",
|
|
1165
|
+
"direction": "horizontal",
|
|
1166
|
+
"type": "stack",
|
|
1091
1167
|
"children": [
|
|
1092
1168
|
{
|
|
1093
|
-
"type": "icon",
|
|
1094
1169
|
"name": "thermometer",
|
|
1170
|
+
"type": "icon",
|
|
1095
1171
|
"size": "lg"
|
|
1096
1172
|
},
|
|
1097
1173
|
{
|
|
@@ -1102,13 +1178,14 @@
|
|
|
1102
1178
|
]
|
|
1103
1179
|
},
|
|
1104
1180
|
{
|
|
1105
|
-
"type": "button",
|
|
1106
1181
|
"label": "Refresh",
|
|
1182
|
+
"type": "button",
|
|
1107
1183
|
"event": "REFRESH",
|
|
1108
1184
|
"variant": "secondary",
|
|
1109
1185
|
"icon": "refresh-cw"
|
|
1110
1186
|
}
|
|
1111
|
-
]
|
|
1187
|
+
],
|
|
1188
|
+
"type": "stack"
|
|
1112
1189
|
},
|
|
1113
1190
|
{
|
|
1114
1191
|
"type": "divider"
|
|
@@ -1119,23 +1196,18 @@
|
|
|
1119
1196
|
"children": [
|
|
1120
1197
|
{
|
|
1121
1198
|
"type": "simple-grid",
|
|
1122
|
-
"columns": 3,
|
|
1199
|
+
"columns": 3.0,
|
|
1123
1200
|
"children": [
|
|
1124
1201
|
{
|
|
1125
|
-
"type": "card",
|
|
1126
1202
|
"children": [
|
|
1127
1203
|
{
|
|
1128
|
-
"type": "stack",
|
|
1129
|
-
"direction": "vertical",
|
|
1130
|
-
"gap": "sm",
|
|
1131
1204
|
"children": [
|
|
1132
1205
|
{
|
|
1133
1206
|
"type": "typography",
|
|
1134
|
-
"
|
|
1135
|
-
"
|
|
1207
|
+
"content": "SensorId",
|
|
1208
|
+
"variant": "caption"
|
|
1136
1209
|
},
|
|
1137
1210
|
{
|
|
1138
|
-
"type": "typography",
|
|
1139
1211
|
"variant": "h3",
|
|
1140
1212
|
"content": [
|
|
1141
1213
|
"object/get",
|
|
@@ -1144,11 +1216,16 @@
|
|
|
1144
1216
|
"@entity"
|
|
1145
1217
|
],
|
|
1146
1218
|
"sensorId"
|
|
1147
|
-
]
|
|
1219
|
+
],
|
|
1220
|
+
"type": "typography"
|
|
1148
1221
|
}
|
|
1149
|
-
]
|
|
1222
|
+
],
|
|
1223
|
+
"direction": "vertical",
|
|
1224
|
+
"type": "stack",
|
|
1225
|
+
"gap": "sm"
|
|
1150
1226
|
}
|
|
1151
|
-
]
|
|
1227
|
+
],
|
|
1228
|
+
"type": "card"
|
|
1152
1229
|
},
|
|
1153
1230
|
{
|
|
1154
1231
|
"type": "stat-display",
|
|
@@ -1163,21 +1240,17 @@
|
|
|
1163
1240
|
]
|
|
1164
1241
|
},
|
|
1165
1242
|
{
|
|
1166
|
-
"type": "card",
|
|
1167
1243
|
"children": [
|
|
1168
1244
|
{
|
|
1169
1245
|
"type": "stack",
|
|
1170
1246
|
"direction": "vertical",
|
|
1171
|
-
"gap": "sm",
|
|
1172
1247
|
"children": [
|
|
1173
1248
|
{
|
|
1174
1249
|
"type": "typography",
|
|
1175
|
-
"
|
|
1176
|
-
"
|
|
1250
|
+
"content": "Unit",
|
|
1251
|
+
"variant": "caption"
|
|
1177
1252
|
},
|
|
1178
1253
|
{
|
|
1179
|
-
"type": "typography",
|
|
1180
|
-
"variant": "h3",
|
|
1181
1254
|
"content": [
|
|
1182
1255
|
"object/get",
|
|
1183
1256
|
[
|
|
@@ -1185,19 +1258,22 @@
|
|
|
1185
1258
|
"@entity"
|
|
1186
1259
|
],
|
|
1187
1260
|
"unit"
|
|
1188
|
-
]
|
|
1261
|
+
],
|
|
1262
|
+
"variant": "h3",
|
|
1263
|
+
"type": "typography"
|
|
1189
1264
|
}
|
|
1190
|
-
]
|
|
1265
|
+
],
|
|
1266
|
+
"gap": "sm"
|
|
1191
1267
|
}
|
|
1192
|
-
]
|
|
1268
|
+
],
|
|
1269
|
+
"type": "card"
|
|
1193
1270
|
},
|
|
1194
1271
|
{
|
|
1195
|
-
"type": "card",
|
|
1196
1272
|
"children": [
|
|
1197
1273
|
{
|
|
1198
|
-
"type": "stack",
|
|
1199
1274
|
"direction": "vertical",
|
|
1200
1275
|
"gap": "sm",
|
|
1276
|
+
"type": "stack",
|
|
1201
1277
|
"children": [
|
|
1202
1278
|
{
|
|
1203
1279
|
"type": "typography",
|
|
@@ -1205,7 +1281,6 @@
|
|
|
1205
1281
|
"content": "Timestamp"
|
|
1206
1282
|
},
|
|
1207
1283
|
{
|
|
1208
|
-
"type": "typography",
|
|
1209
1284
|
"variant": "h3",
|
|
1210
1285
|
"content": [
|
|
1211
1286
|
"object/get",
|
|
@@ -1214,11 +1289,13 @@
|
|
|
1214
1289
|
"@entity"
|
|
1215
1290
|
],
|
|
1216
1291
|
"timestamp"
|
|
1217
|
-
]
|
|
1292
|
+
],
|
|
1293
|
+
"type": "typography"
|
|
1218
1294
|
}
|
|
1219
1295
|
]
|
|
1220
1296
|
}
|
|
1221
|
-
]
|
|
1297
|
+
],
|
|
1298
|
+
"type": "card"
|
|
1222
1299
|
}
|
|
1223
1300
|
]
|
|
1224
1301
|
}
|
|
@@ -1228,17 +1305,15 @@
|
|
|
1228
1305
|
"type": "divider"
|
|
1229
1306
|
},
|
|
1230
1307
|
{
|
|
1231
|
-
"
|
|
1232
|
-
"columns": 2,
|
|
1233
|
-
"gap": "md",
|
|
1308
|
+
"columns": 2.0,
|
|
1234
1309
|
"children": [
|
|
1235
1310
|
{
|
|
1236
1311
|
"type": "card",
|
|
1237
1312
|
"children": [
|
|
1238
1313
|
{
|
|
1239
|
-
"type": "typography",
|
|
1240
1314
|
"variant": "caption",
|
|
1241
|
-
"content": "Chart View"
|
|
1315
|
+
"content": "Chart View",
|
|
1316
|
+
"type": "typography"
|
|
1242
1317
|
}
|
|
1243
1318
|
]
|
|
1244
1319
|
},
|
|
@@ -1246,42 +1321,44 @@
|
|
|
1246
1321
|
"type": "card",
|
|
1247
1322
|
"children": [
|
|
1248
1323
|
{
|
|
1324
|
+
"content": "Graph View",
|
|
1249
1325
|
"type": "typography",
|
|
1250
|
-
"variant": "caption"
|
|
1251
|
-
"content": "Graph View"
|
|
1326
|
+
"variant": "caption"
|
|
1252
1327
|
}
|
|
1253
1328
|
]
|
|
1254
1329
|
}
|
|
1255
|
-
]
|
|
1330
|
+
],
|
|
1331
|
+
"type": "grid",
|
|
1332
|
+
"gap": "md"
|
|
1256
1333
|
},
|
|
1257
1334
|
{
|
|
1258
|
-
"type": "line-chart",
|
|
1259
1335
|
"data": [
|
|
1260
1336
|
{
|
|
1261
1337
|
"date": "Jan",
|
|
1262
|
-
"value": 12
|
|
1338
|
+
"value": 12.0
|
|
1263
1339
|
},
|
|
1264
1340
|
{
|
|
1265
|
-
"
|
|
1266
|
-
"
|
|
1341
|
+
"value": 19.0,
|
|
1342
|
+
"date": "Feb"
|
|
1267
1343
|
},
|
|
1268
1344
|
{
|
|
1269
1345
|
"date": "Mar",
|
|
1270
|
-
"value": 15
|
|
1346
|
+
"value": 15.0
|
|
1271
1347
|
},
|
|
1272
1348
|
{
|
|
1273
|
-
"
|
|
1274
|
-
"
|
|
1349
|
+
"value": 25.0,
|
|
1350
|
+
"date": "Apr"
|
|
1275
1351
|
},
|
|
1276
1352
|
{
|
|
1277
|
-
"
|
|
1278
|
-
"
|
|
1353
|
+
"value": 22.0,
|
|
1354
|
+
"date": "May"
|
|
1279
1355
|
},
|
|
1280
1356
|
{
|
|
1281
|
-
"
|
|
1282
|
-
"
|
|
1357
|
+
"value": 30.0,
|
|
1358
|
+
"date": "Jun"
|
|
1283
1359
|
}
|
|
1284
1360
|
],
|
|
1361
|
+
"type": "line-chart",
|
|
1285
1362
|
"xKey": "date",
|
|
1286
1363
|
"yKey": "value",
|
|
1287
1364
|
"title": "Trend"
|
|
@@ -1290,8 +1367,8 @@
|
|
|
1290
1367
|
"type": "chart-legend",
|
|
1291
1368
|
"items": [
|
|
1292
1369
|
{
|
|
1293
|
-
"
|
|
1294
|
-
"
|
|
1370
|
+
"color": "primary",
|
|
1371
|
+
"label": "Current"
|
|
1295
1372
|
},
|
|
1296
1373
|
{
|
|
1297
1374
|
"label": "Previous",
|
|
@@ -1300,43 +1377,47 @@
|
|
|
1300
1377
|
]
|
|
1301
1378
|
},
|
|
1302
1379
|
{
|
|
1303
|
-
"
|
|
1380
|
+
"edges": [
|
|
1381
|
+
{
|
|
1382
|
+
"to": "b",
|
|
1383
|
+
"from": "a"
|
|
1384
|
+
},
|
|
1385
|
+
{
|
|
1386
|
+
"from": "b",
|
|
1387
|
+
"to": "c"
|
|
1388
|
+
}
|
|
1389
|
+
],
|
|
1304
1390
|
"nodes": [
|
|
1305
1391
|
{
|
|
1306
|
-
"
|
|
1392
|
+
"x": 50.0,
|
|
1307
1393
|
"label": "Start",
|
|
1308
|
-
"
|
|
1309
|
-
"y": 100
|
|
1394
|
+
"id": "a",
|
|
1395
|
+
"y": 100.0
|
|
1310
1396
|
},
|
|
1311
1397
|
{
|
|
1398
|
+
"x": 200.0,
|
|
1312
1399
|
"id": "b",
|
|
1313
|
-
"
|
|
1314
|
-
"
|
|
1315
|
-
"y": 50
|
|
1400
|
+
"y": 50.0,
|
|
1401
|
+
"label": "Process"
|
|
1316
1402
|
},
|
|
1317
1403
|
{
|
|
1318
|
-
"id": "c",
|
|
1319
1404
|
"label": "End",
|
|
1320
|
-
"
|
|
1321
|
-
"
|
|
1322
|
-
|
|
1323
|
-
],
|
|
1324
|
-
"edges": [
|
|
1325
|
-
{
|
|
1326
|
-
"from": "a",
|
|
1327
|
-
"to": "b"
|
|
1328
|
-
},
|
|
1329
|
-
{
|
|
1330
|
-
"from": "b",
|
|
1331
|
-
"to": "c"
|
|
1405
|
+
"y": 100.0,
|
|
1406
|
+
"x": 350.0,
|
|
1407
|
+
"id": "c"
|
|
1332
1408
|
}
|
|
1333
1409
|
],
|
|
1334
|
-
"width": 400,
|
|
1335
|
-
"height": 200
|
|
1410
|
+
"width": 400.0,
|
|
1411
|
+
"height": 200.0,
|
|
1412
|
+
"type": "graph-view"
|
|
1336
1413
|
}
|
|
1337
|
-
]
|
|
1414
|
+
],
|
|
1415
|
+
"gap": "lg",
|
|
1416
|
+
"direction": "vertical",
|
|
1417
|
+
"type": "stack"
|
|
1338
1418
|
}
|
|
1339
|
-
]
|
|
1419
|
+
],
|
|
1420
|
+
"type": "scaled-diagram"
|
|
1340
1421
|
}
|
|
1341
1422
|
]
|
|
1342
1423
|
}
|
|
@@ -1350,39 +1431,25 @@
|
|
|
1350
1431
|
"effects": [
|
|
1351
1432
|
[
|
|
1352
1433
|
"fetch",
|
|
1353
|
-
"SensorReading"
|
|
1434
|
+
"SensorReading",
|
|
1435
|
+
{
|
|
1436
|
+
"emit": {
|
|
1437
|
+
"failure": "SensorReadingLoadFailed",
|
|
1438
|
+
"success": "SensorReadingLoaded"
|
|
1439
|
+
}
|
|
1440
|
+
}
|
|
1354
1441
|
],
|
|
1355
1442
|
[
|
|
1356
1443
|
"render-ui",
|
|
1357
1444
|
"main",
|
|
1358
1445
|
{
|
|
1359
|
-
"type": "dashboard-layout",
|
|
1360
1446
|
"appName": "IoT Dashboard",
|
|
1361
|
-
"
|
|
1362
|
-
{
|
|
1363
|
-
"label": "Sensors",
|
|
1364
|
-
"href": "/sensors",
|
|
1365
|
-
"icon": "layout-list"
|
|
1366
|
-
},
|
|
1367
|
-
{
|
|
1368
|
-
"label": "Devices",
|
|
1369
|
-
"href": "/devices",
|
|
1370
|
-
"icon": "cpu"
|
|
1371
|
-
},
|
|
1372
|
-
{
|
|
1373
|
-
"label": "Alerts",
|
|
1374
|
-
"href": "/alerts",
|
|
1375
|
-
"icon": "bell"
|
|
1376
|
-
}
|
|
1377
|
-
],
|
|
1447
|
+
"type": "dashboard-layout",
|
|
1378
1448
|
"children": [
|
|
1379
1449
|
{
|
|
1380
|
-
"type": "scaled-diagram",
|
|
1381
1450
|
"children": [
|
|
1382
1451
|
{
|
|
1383
1452
|
"type": "stack",
|
|
1384
|
-
"direction": "vertical",
|
|
1385
|
-
"gap": "lg",
|
|
1386
1453
|
"children": [
|
|
1387
1454
|
{
|
|
1388
1455
|
"type": "breadcrumb",
|
|
@@ -1398,9 +1465,7 @@
|
|
|
1398
1465
|
},
|
|
1399
1466
|
{
|
|
1400
1467
|
"type": "stack",
|
|
1401
|
-
"direction": "horizontal",
|
|
1402
1468
|
"gap": "md",
|
|
1403
|
-
"justify": "space-between",
|
|
1404
1469
|
"children": [
|
|
1405
1470
|
{
|
|
1406
1471
|
"type": "stack",
|
|
@@ -1413,31 +1478,31 @@
|
|
|
1413
1478
|
"size": "lg"
|
|
1414
1479
|
},
|
|
1415
1480
|
{
|
|
1416
|
-
"type": "typography",
|
|
1417
1481
|
"content": "Sensor Readings",
|
|
1418
|
-
"variant": "h2"
|
|
1482
|
+
"variant": "h2",
|
|
1483
|
+
"type": "typography"
|
|
1419
1484
|
}
|
|
1420
1485
|
]
|
|
1421
1486
|
},
|
|
1422
1487
|
{
|
|
1423
|
-
"type": "button",
|
|
1424
|
-
"label": "Refresh",
|
|
1425
1488
|
"event": "REFRESH",
|
|
1426
1489
|
"variant": "secondary",
|
|
1427
|
-
"icon": "refresh-cw"
|
|
1490
|
+
"icon": "refresh-cw",
|
|
1491
|
+
"type": "button",
|
|
1492
|
+
"label": "Refresh"
|
|
1428
1493
|
}
|
|
1429
|
-
]
|
|
1494
|
+
],
|
|
1495
|
+
"justify": "space-between",
|
|
1496
|
+
"direction": "horizontal"
|
|
1430
1497
|
},
|
|
1431
1498
|
{
|
|
1432
1499
|
"type": "divider"
|
|
1433
1500
|
},
|
|
1434
1501
|
{
|
|
1435
|
-
"type": "box",
|
|
1436
1502
|
"padding": "md",
|
|
1437
1503
|
"children": [
|
|
1438
1504
|
{
|
|
1439
1505
|
"type": "simple-grid",
|
|
1440
|
-
"columns": 3,
|
|
1441
1506
|
"children": [
|
|
1442
1507
|
{
|
|
1443
1508
|
"type": "card",
|
|
@@ -1448,12 +1513,11 @@
|
|
|
1448
1513
|
"gap": "sm",
|
|
1449
1514
|
"children": [
|
|
1450
1515
|
{
|
|
1451
|
-
"type": "typography",
|
|
1452
1516
|
"variant": "caption",
|
|
1517
|
+
"type": "typography",
|
|
1453
1518
|
"content": "SensorId"
|
|
1454
1519
|
},
|
|
1455
1520
|
{
|
|
1456
|
-
"type": "typography",
|
|
1457
1521
|
"variant": "h3",
|
|
1458
1522
|
"content": [
|
|
1459
1523
|
"object/get",
|
|
@@ -1462,15 +1526,14 @@
|
|
|
1462
1526
|
"@entity"
|
|
1463
1527
|
],
|
|
1464
1528
|
"sensorId"
|
|
1465
|
-
]
|
|
1529
|
+
],
|
|
1530
|
+
"type": "typography"
|
|
1466
1531
|
}
|
|
1467
1532
|
]
|
|
1468
1533
|
}
|
|
1469
1534
|
]
|
|
1470
1535
|
},
|
|
1471
1536
|
{
|
|
1472
|
-
"type": "stat-display",
|
|
1473
|
-
"label": "Value",
|
|
1474
1537
|
"value": [
|
|
1475
1538
|
"object/get",
|
|
1476
1539
|
[
|
|
@@ -1478,24 +1541,23 @@
|
|
|
1478
1541
|
"@entity"
|
|
1479
1542
|
],
|
|
1480
1543
|
"value"
|
|
1481
|
-
]
|
|
1544
|
+
],
|
|
1545
|
+
"type": "stat-display",
|
|
1546
|
+
"label": "Value"
|
|
1482
1547
|
},
|
|
1483
1548
|
{
|
|
1484
1549
|
"type": "card",
|
|
1485
1550
|
"children": [
|
|
1486
1551
|
{
|
|
1487
|
-
"type": "stack",
|
|
1488
|
-
"direction": "vertical",
|
|
1489
|
-
"gap": "sm",
|
|
1490
1552
|
"children": [
|
|
1491
1553
|
{
|
|
1492
1554
|
"type": "typography",
|
|
1493
|
-
"
|
|
1494
|
-
"
|
|
1555
|
+
"content": "Unit",
|
|
1556
|
+
"variant": "caption"
|
|
1495
1557
|
},
|
|
1496
1558
|
{
|
|
1497
|
-
"type": "typography",
|
|
1498
1559
|
"variant": "h3",
|
|
1560
|
+
"type": "typography",
|
|
1499
1561
|
"content": [
|
|
1500
1562
|
"object/get",
|
|
1501
1563
|
[
|
|
@@ -1505,7 +1567,10 @@
|
|
|
1505
1567
|
"unit"
|
|
1506
1568
|
]
|
|
1507
1569
|
}
|
|
1508
|
-
]
|
|
1570
|
+
],
|
|
1571
|
+
"type": "stack",
|
|
1572
|
+
"direction": "vertical",
|
|
1573
|
+
"gap": "sm"
|
|
1509
1574
|
}
|
|
1510
1575
|
]
|
|
1511
1576
|
},
|
|
@@ -1513,18 +1578,18 @@
|
|
|
1513
1578
|
"type": "card",
|
|
1514
1579
|
"children": [
|
|
1515
1580
|
{
|
|
1516
|
-
"type": "stack",
|
|
1517
|
-
"direction": "vertical",
|
|
1518
1581
|
"gap": "sm",
|
|
1582
|
+
"direction": "vertical",
|
|
1583
|
+
"type": "stack",
|
|
1519
1584
|
"children": [
|
|
1520
1585
|
{
|
|
1586
|
+
"content": "Timestamp",
|
|
1521
1587
|
"type": "typography",
|
|
1522
|
-
"variant": "caption"
|
|
1523
|
-
"content": "Timestamp"
|
|
1588
|
+
"variant": "caption"
|
|
1524
1589
|
},
|
|
1525
1590
|
{
|
|
1526
|
-
"type": "typography",
|
|
1527
1591
|
"variant": "h3",
|
|
1592
|
+
"type": "typography",
|
|
1528
1593
|
"content": [
|
|
1529
1594
|
"object/get",
|
|
1530
1595
|
[
|
|
@@ -1538,78 +1603,80 @@
|
|
|
1538
1603
|
}
|
|
1539
1604
|
]
|
|
1540
1605
|
}
|
|
1541
|
-
]
|
|
1606
|
+
],
|
|
1607
|
+
"columns": 3.0
|
|
1542
1608
|
}
|
|
1543
|
-
]
|
|
1609
|
+
],
|
|
1610
|
+
"type": "box"
|
|
1544
1611
|
},
|
|
1545
1612
|
{
|
|
1546
1613
|
"type": "divider"
|
|
1547
1614
|
},
|
|
1548
1615
|
{
|
|
1549
|
-
"type": "grid",
|
|
1550
|
-
"columns": 2,
|
|
1551
|
-
"gap": "md",
|
|
1552
1616
|
"children": [
|
|
1553
1617
|
{
|
|
1554
|
-
"type": "card",
|
|
1555
1618
|
"children": [
|
|
1556
1619
|
{
|
|
1557
|
-
"type": "typography",
|
|
1558
1620
|
"variant": "caption",
|
|
1621
|
+
"type": "typography",
|
|
1559
1622
|
"content": "Chart View"
|
|
1560
1623
|
}
|
|
1561
|
-
]
|
|
1624
|
+
],
|
|
1625
|
+
"type": "card"
|
|
1562
1626
|
},
|
|
1563
1627
|
{
|
|
1564
1628
|
"type": "card",
|
|
1565
1629
|
"children": [
|
|
1566
1630
|
{
|
|
1567
|
-
"type": "typography",
|
|
1568
1631
|
"variant": "caption",
|
|
1632
|
+
"type": "typography",
|
|
1569
1633
|
"content": "Graph View"
|
|
1570
1634
|
}
|
|
1571
1635
|
]
|
|
1572
1636
|
}
|
|
1573
|
-
]
|
|
1637
|
+
],
|
|
1638
|
+
"columns": 2.0,
|
|
1639
|
+
"gap": "md",
|
|
1640
|
+
"type": "grid"
|
|
1574
1641
|
},
|
|
1575
1642
|
{
|
|
1576
1643
|
"type": "line-chart",
|
|
1644
|
+
"yKey": "value",
|
|
1645
|
+
"title": "Trend",
|
|
1577
1646
|
"data": [
|
|
1578
1647
|
{
|
|
1579
|
-
"
|
|
1580
|
-
"
|
|
1648
|
+
"value": 12.0,
|
|
1649
|
+
"date": "Jan"
|
|
1581
1650
|
},
|
|
1582
1651
|
{
|
|
1583
|
-
"
|
|
1584
|
-
"
|
|
1652
|
+
"value": 19.0,
|
|
1653
|
+
"date": "Feb"
|
|
1585
1654
|
},
|
|
1586
1655
|
{
|
|
1587
1656
|
"date": "Mar",
|
|
1588
|
-
"value": 15
|
|
1657
|
+
"value": 15.0
|
|
1589
1658
|
},
|
|
1590
1659
|
{
|
|
1591
|
-
"
|
|
1592
|
-
"
|
|
1660
|
+
"value": 25.0,
|
|
1661
|
+
"date": "Apr"
|
|
1593
1662
|
},
|
|
1594
1663
|
{
|
|
1595
|
-
"
|
|
1596
|
-
"
|
|
1664
|
+
"value": 22.0,
|
|
1665
|
+
"date": "May"
|
|
1597
1666
|
},
|
|
1598
1667
|
{
|
|
1599
|
-
"
|
|
1600
|
-
"
|
|
1668
|
+
"value": 30.0,
|
|
1669
|
+
"date": "Jun"
|
|
1601
1670
|
}
|
|
1602
1671
|
],
|
|
1603
|
-
"xKey": "date"
|
|
1604
|
-
"yKey": "value",
|
|
1605
|
-
"title": "Trend"
|
|
1672
|
+
"xKey": "date"
|
|
1606
1673
|
},
|
|
1607
1674
|
{
|
|
1608
1675
|
"type": "chart-legend",
|
|
1609
1676
|
"items": [
|
|
1610
1677
|
{
|
|
1611
|
-
"
|
|
1612
|
-
"
|
|
1678
|
+
"color": "primary",
|
|
1679
|
+
"label": "Current"
|
|
1613
1680
|
},
|
|
1614
1681
|
{
|
|
1615
1682
|
"label": "Previous",
|
|
@@ -1618,43 +1685,63 @@
|
|
|
1618
1685
|
]
|
|
1619
1686
|
},
|
|
1620
1687
|
{
|
|
1621
|
-
"type": "graph-view",
|
|
1622
1688
|
"nodes": [
|
|
1623
1689
|
{
|
|
1624
|
-
"
|
|
1690
|
+
"x": 50.0,
|
|
1625
1691
|
"label": "Start",
|
|
1626
|
-
"
|
|
1627
|
-
"y": 100
|
|
1692
|
+
"id": "a",
|
|
1693
|
+
"y": 100.0
|
|
1628
1694
|
},
|
|
1629
1695
|
{
|
|
1630
|
-
"id": "b",
|
|
1631
1696
|
"label": "Process",
|
|
1632
|
-
"x": 200,
|
|
1633
|
-
"y": 50
|
|
1697
|
+
"x": 200.0,
|
|
1698
|
+
"y": 50.0,
|
|
1699
|
+
"id": "b"
|
|
1634
1700
|
},
|
|
1635
1701
|
{
|
|
1702
|
+
"x": 350.0,
|
|
1636
1703
|
"id": "c",
|
|
1637
1704
|
"label": "End",
|
|
1638
|
-
"
|
|
1639
|
-
"y": 100
|
|
1705
|
+
"y": 100.0
|
|
1640
1706
|
}
|
|
1641
1707
|
],
|
|
1708
|
+
"type": "graph-view",
|
|
1709
|
+
"width": 400.0,
|
|
1710
|
+
"height": 200.0,
|
|
1642
1711
|
"edges": [
|
|
1643
1712
|
{
|
|
1644
|
-
"
|
|
1645
|
-
"
|
|
1713
|
+
"to": "b",
|
|
1714
|
+
"from": "a"
|
|
1646
1715
|
},
|
|
1647
1716
|
{
|
|
1648
1717
|
"from": "b",
|
|
1649
1718
|
"to": "c"
|
|
1650
1719
|
}
|
|
1651
|
-
]
|
|
1652
|
-
"width": 400,
|
|
1653
|
-
"height": 200
|
|
1720
|
+
]
|
|
1654
1721
|
}
|
|
1655
|
-
]
|
|
1722
|
+
],
|
|
1723
|
+
"gap": "lg",
|
|
1724
|
+
"direction": "vertical"
|
|
1656
1725
|
}
|
|
1657
|
-
]
|
|
1726
|
+
],
|
|
1727
|
+
"type": "scaled-diagram"
|
|
1728
|
+
}
|
|
1729
|
+
],
|
|
1730
|
+
"navItems": [
|
|
1731
|
+
{
|
|
1732
|
+
"label": "Sensors",
|
|
1733
|
+
"href": "/sensors",
|
|
1734
|
+
"icon": "layout-list"
|
|
1735
|
+
},
|
|
1736
|
+
{
|
|
1737
|
+
"icon": "cpu",
|
|
1738
|
+
"href": "/devices",
|
|
1739
|
+
"label": "Devices"
|
|
1740
|
+
},
|
|
1741
|
+
{
|
|
1742
|
+
"icon": "bell",
|
|
1743
|
+
"label": "Alerts",
|
|
1744
|
+
"href": "/alerts"
|
|
1658
1745
|
}
|
|
1659
1746
|
]
|
|
1660
1747
|
}
|
|
@@ -1662,14 +1749,14 @@
|
|
|
1662
1749
|
]
|
|
1663
1750
|
}
|
|
1664
1751
|
]
|
|
1665
|
-
}
|
|
1752
|
+
},
|
|
1753
|
+
"scope": "collection"
|
|
1666
1754
|
}
|
|
1667
1755
|
],
|
|
1668
1756
|
"pages": [
|
|
1669
1757
|
{
|
|
1670
1758
|
"name": "SensorsPage",
|
|
1671
1759
|
"path": "/sensors",
|
|
1672
|
-
"isInitial": true,
|
|
1673
1760
|
"traits": [
|
|
1674
1761
|
{
|
|
1675
1762
|
"ref": "SensorReadingDisplay"
|
|
@@ -1682,8 +1769,8 @@
|
|
|
1682
1769
|
"name": "DeviceOrbital",
|
|
1683
1770
|
"entity": {
|
|
1684
1771
|
"name": "Device",
|
|
1685
|
-
"persistence": "persistent",
|
|
1686
1772
|
"collection": "devices",
|
|
1773
|
+
"persistence": "persistent",
|
|
1687
1774
|
"fields": [
|
|
1688
1775
|
{
|
|
1689
1776
|
"name": "id",
|
|
@@ -1702,17 +1789,11 @@
|
|
|
1702
1789
|
},
|
|
1703
1790
|
{
|
|
1704
1791
|
"name": "status",
|
|
1705
|
-
"type": "string"
|
|
1706
|
-
"default": "offline",
|
|
1707
|
-
"values": [
|
|
1708
|
-
"online",
|
|
1709
|
-
"offline",
|
|
1710
|
-
"maintenance"
|
|
1711
|
-
]
|
|
1792
|
+
"type": "string"
|
|
1712
1793
|
},
|
|
1713
1794
|
{
|
|
1714
1795
|
"name": "lastSeen",
|
|
1715
|
-
"type": "
|
|
1796
|
+
"type": "datetime"
|
|
1716
1797
|
},
|
|
1717
1798
|
{
|
|
1718
1799
|
"name": "pendingId",
|
|
@@ -1724,23 +1805,79 @@
|
|
|
1724
1805
|
"traits": [
|
|
1725
1806
|
{
|
|
1726
1807
|
"name": "DeviceBrowse",
|
|
1727
|
-
"linkedEntity": "Device",
|
|
1728
1808
|
"category": "interaction",
|
|
1809
|
+
"linkedEntity": "Device",
|
|
1810
|
+
"emits": [
|
|
1811
|
+
{
|
|
1812
|
+
"event": "DeviceLoaded",
|
|
1813
|
+
"description": "Fired when Device finishes loading",
|
|
1814
|
+
"scope": "internal",
|
|
1815
|
+
"payload": [
|
|
1816
|
+
{
|
|
1817
|
+
"name": "id",
|
|
1818
|
+
"type": "string",
|
|
1819
|
+
"required": true
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"name": "name",
|
|
1823
|
+
"type": "string",
|
|
1824
|
+
"required": true
|
|
1825
|
+
},
|
|
1826
|
+
{
|
|
1827
|
+
"name": "type",
|
|
1828
|
+
"type": "string",
|
|
1829
|
+
"required": true
|
|
1830
|
+
},
|
|
1831
|
+
{
|
|
1832
|
+
"name": "status",
|
|
1833
|
+
"type": "string"
|
|
1834
|
+
},
|
|
1835
|
+
{
|
|
1836
|
+
"name": "lastSeen",
|
|
1837
|
+
"type": "datetime"
|
|
1838
|
+
},
|
|
1839
|
+
{
|
|
1840
|
+
"name": "pendingId",
|
|
1841
|
+
"type": "string"
|
|
1842
|
+
}
|
|
1843
|
+
]
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
"event": "DeviceLoadFailed",
|
|
1847
|
+
"description": "Fired when Device fails to load",
|
|
1848
|
+
"scope": "internal",
|
|
1849
|
+
"payload": [
|
|
1850
|
+
{
|
|
1851
|
+
"name": "message",
|
|
1852
|
+
"type": "string"
|
|
1853
|
+
}
|
|
1854
|
+
]
|
|
1855
|
+
}
|
|
1856
|
+
],
|
|
1729
1857
|
"listens": [
|
|
1730
1858
|
{
|
|
1731
1859
|
"event": "DEVICE_CREATED",
|
|
1732
1860
|
"triggers": "INIT",
|
|
1733
|
-
"
|
|
1861
|
+
"source": {
|
|
1862
|
+
"kind": "trait",
|
|
1863
|
+
"trait": "DeviceCreate"
|
|
1864
|
+
}
|
|
1734
1865
|
},
|
|
1735
1866
|
{
|
|
1736
1867
|
"event": "DEVICE_UPDATED",
|
|
1737
1868
|
"triggers": "INIT",
|
|
1738
|
-
"
|
|
1869
|
+
"source": {
|
|
1870
|
+
"kind": "trait",
|
|
1871
|
+
"trait": "DeviceEdit"
|
|
1872
|
+
}
|
|
1739
1873
|
},
|
|
1740
1874
|
{
|
|
1741
1875
|
"event": "DEVICE_DELETED",
|
|
1742
1876
|
"triggers": "INIT",
|
|
1743
|
-
"
|
|
1877
|
+
"source": {
|
|
1878
|
+
"kind": "trait",
|
|
1879
|
+
"trait": "DeviceDelete"
|
|
1880
|
+
}
|
|
1744
1881
|
}
|
|
1745
1882
|
],
|
|
1746
1883
|
"stateMachine": {
|
|
@@ -1756,51 +1893,16 @@
|
|
|
1756
1893
|
"name": "Initialize"
|
|
1757
1894
|
},
|
|
1758
1895
|
{
|
|
1759
|
-
"key": "
|
|
1760
|
-
"name": "
|
|
1761
|
-
},
|
|
1762
|
-
{
|
|
1763
|
-
"key": "VIEW",
|
|
1764
|
-
"name": "VIEW",
|
|
1765
|
-
"payload": [
|
|
1766
|
-
{
|
|
1767
|
-
"name": "id",
|
|
1768
|
-
"type": "string",
|
|
1769
|
-
"required": true
|
|
1770
|
-
},
|
|
1771
|
-
{
|
|
1772
|
-
"name": "row",
|
|
1773
|
-
"type": "object"
|
|
1774
|
-
}
|
|
1775
|
-
]
|
|
1776
|
-
},
|
|
1777
|
-
{
|
|
1778
|
-
"key": "EDIT",
|
|
1779
|
-
"name": "EDIT",
|
|
1780
|
-
"payload": [
|
|
1781
|
-
{
|
|
1782
|
-
"name": "id",
|
|
1783
|
-
"type": "string",
|
|
1784
|
-
"required": true
|
|
1785
|
-
},
|
|
1786
|
-
{
|
|
1787
|
-
"name": "row",
|
|
1788
|
-
"type": "object"
|
|
1789
|
-
}
|
|
1790
|
-
]
|
|
1896
|
+
"key": "DeviceLoaded",
|
|
1897
|
+
"name": "Device loaded"
|
|
1791
1898
|
},
|
|
1792
1899
|
{
|
|
1793
|
-
"key": "
|
|
1794
|
-
"name": "
|
|
1900
|
+
"key": "DeviceLoadFailed",
|
|
1901
|
+
"name": "Device load failed",
|
|
1795
1902
|
"payload": [
|
|
1796
1903
|
{
|
|
1797
|
-
"name": "
|
|
1798
|
-
"type": "string"
|
|
1799
|
-
"required": true
|
|
1800
|
-
},
|
|
1801
|
-
{
|
|
1802
|
-
"name": "row",
|
|
1803
|
-
"type": "object"
|
|
1904
|
+
"name": "message",
|
|
1905
|
+
"type": "string"
|
|
1804
1906
|
}
|
|
1805
1907
|
]
|
|
1806
1908
|
}
|
|
@@ -1819,12 +1921,10 @@
|
|
|
1819
1921
|
"render-ui",
|
|
1820
1922
|
"main",
|
|
1821
1923
|
{
|
|
1822
|
-
"type": "dashboard-layout",
|
|
1823
|
-
"appName": "IoT Dashboard",
|
|
1824
1924
|
"navItems": [
|
|
1825
1925
|
{
|
|
1826
|
-
"label": "Sensors",
|
|
1827
1926
|
"href": "/sensors",
|
|
1927
|
+
"label": "Sensors",
|
|
1828
1928
|
"icon": "layout-list"
|
|
1829
1929
|
},
|
|
1830
1930
|
{
|
|
@@ -1833,34 +1933,27 @@
|
|
|
1833
1933
|
"icon": "cpu"
|
|
1834
1934
|
},
|
|
1835
1935
|
{
|
|
1836
|
-
"label": "Alerts",
|
|
1837
1936
|
"href": "/alerts",
|
|
1838
|
-
"icon": "bell"
|
|
1937
|
+
"icon": "bell",
|
|
1938
|
+
"label": "Alerts"
|
|
1839
1939
|
}
|
|
1840
1940
|
],
|
|
1841
1941
|
"children": [
|
|
1842
1942
|
{
|
|
1843
1943
|
"type": "stack",
|
|
1844
1944
|
"direction": "vertical",
|
|
1845
|
-
"gap": "lg",
|
|
1846
|
-
"className": "max-w-5xl mx-auto w-full",
|
|
1847
1945
|
"children": [
|
|
1848
1946
|
{
|
|
1849
1947
|
"type": "stack",
|
|
1850
1948
|
"direction": "horizontal",
|
|
1851
1949
|
"gap": "md",
|
|
1852
|
-
"justify": "space-between",
|
|
1853
|
-
"align": "center",
|
|
1854
1950
|
"children": [
|
|
1855
1951
|
{
|
|
1856
1952
|
"type": "stack",
|
|
1857
|
-
"direction": "horizontal",
|
|
1858
|
-
"gap": "sm",
|
|
1859
|
-
"align": "center",
|
|
1860
1953
|
"children": [
|
|
1861
1954
|
{
|
|
1862
|
-
"type": "icon",
|
|
1863
1955
|
"name": "cpu",
|
|
1956
|
+
"type": "icon",
|
|
1864
1957
|
"size": "lg"
|
|
1865
1958
|
},
|
|
1866
1959
|
{
|
|
@@ -1868,57 +1961,39 @@
|
|
|
1868
1961
|
"content": "Devices",
|
|
1869
1962
|
"variant": "h2"
|
|
1870
1963
|
}
|
|
1871
|
-
]
|
|
1964
|
+
],
|
|
1965
|
+
"gap": "sm",
|
|
1966
|
+
"align": "center",
|
|
1967
|
+
"direction": "horizontal"
|
|
1872
1968
|
},
|
|
1873
1969
|
{
|
|
1874
|
-
"type": "stack",
|
|
1875
|
-
"direction": "horizontal",
|
|
1876
1970
|
"gap": "sm",
|
|
1971
|
+
"type": "stack",
|
|
1877
1972
|
"children": [
|
|
1878
1973
|
{
|
|
1879
|
-
"
|
|
1974
|
+
"icon": "plus",
|
|
1880
1975
|
"label": "Create Device",
|
|
1881
|
-
"
|
|
1976
|
+
"type": "button",
|
|
1882
1977
|
"variant": "primary",
|
|
1883
|
-
"
|
|
1978
|
+
"event": "CREATE"
|
|
1884
1979
|
}
|
|
1885
|
-
]
|
|
1980
|
+
],
|
|
1981
|
+
"direction": "horizontal"
|
|
1886
1982
|
}
|
|
1887
|
-
]
|
|
1983
|
+
],
|
|
1984
|
+
"justify": "space-between",
|
|
1985
|
+
"align": "center"
|
|
1888
1986
|
},
|
|
1889
1987
|
{
|
|
1890
1988
|
"type": "divider"
|
|
1891
1989
|
},
|
|
1892
1990
|
{
|
|
1893
1991
|
"type": "data-grid",
|
|
1894
|
-
"entity": "Device",
|
|
1895
1992
|
"emptyIcon": "inbox",
|
|
1896
|
-
"emptyTitle": "No devices registered",
|
|
1897
|
-
"emptyDescription": "Connect a device to start monitoring.",
|
|
1898
|
-
"itemActions": [
|
|
1899
|
-
{
|
|
1900
|
-
"label": "View",
|
|
1901
|
-
"event": "VIEW",
|
|
1902
|
-
"variant": "ghost",
|
|
1903
|
-
"size": "sm"
|
|
1904
|
-
},
|
|
1905
|
-
{
|
|
1906
|
-
"label": "Edit",
|
|
1907
|
-
"event": "EDIT",
|
|
1908
|
-
"variant": "ghost",
|
|
1909
|
-
"size": "sm"
|
|
1910
|
-
},
|
|
1911
|
-
{
|
|
1912
|
-
"label": "Delete",
|
|
1913
|
-
"event": "DELETE",
|
|
1914
|
-
"variant": "danger",
|
|
1915
|
-
"size": "sm"
|
|
1916
|
-
}
|
|
1917
|
-
],
|
|
1918
1993
|
"columns": [
|
|
1919
1994
|
{
|
|
1920
|
-
"name": "name",
|
|
1921
1995
|
"variant": "h3",
|
|
1996
|
+
"name": "name",
|
|
1922
1997
|
"icon": "cpu"
|
|
1923
1998
|
},
|
|
1924
1999
|
{
|
|
@@ -1932,35 +2007,103 @@
|
|
|
1932
2007
|
{
|
|
1933
2008
|
"name": "lastSeen",
|
|
1934
2009
|
"label": "Last Seen",
|
|
1935
|
-
"
|
|
1936
|
-
"
|
|
2010
|
+
"format": "date",
|
|
2011
|
+
"variant": "caption"
|
|
2012
|
+
}
|
|
2013
|
+
],
|
|
2014
|
+
"cols": 3.0,
|
|
2015
|
+
"itemActions": [
|
|
2016
|
+
{
|
|
2017
|
+
"size": "sm",
|
|
2018
|
+
"event": "VIEW",
|
|
2019
|
+
"label": "View",
|
|
2020
|
+
"variant": "ghost"
|
|
2021
|
+
},
|
|
2022
|
+
{
|
|
2023
|
+
"label": "Edit",
|
|
2024
|
+
"event": "EDIT",
|
|
2025
|
+
"variant": "ghost",
|
|
2026
|
+
"size": "sm"
|
|
2027
|
+
},
|
|
2028
|
+
{
|
|
2029
|
+
"variant": "danger",
|
|
2030
|
+
"size": "sm",
|
|
2031
|
+
"event": "DELETE",
|
|
2032
|
+
"label": "Delete"
|
|
1937
2033
|
}
|
|
1938
2034
|
],
|
|
1939
|
-
"
|
|
1940
|
-
"
|
|
2035
|
+
"gap": "md",
|
|
2036
|
+
"entity": "Device",
|
|
2037
|
+
"emptyDescription": "Connect a device to start monitoring.",
|
|
2038
|
+
"emptyTitle": "No devices registered"
|
|
1941
2039
|
}
|
|
1942
|
-
]
|
|
2040
|
+
],
|
|
2041
|
+
"gap": "lg",
|
|
2042
|
+
"className": "max-w-5xl mx-auto w-full"
|
|
1943
2043
|
}
|
|
1944
|
-
]
|
|
2044
|
+
],
|
|
2045
|
+
"type": "dashboard-layout",
|
|
2046
|
+
"appName": "IoT Dashboard"
|
|
1945
2047
|
}
|
|
1946
2048
|
]
|
|
1947
2049
|
]
|
|
1948
2050
|
}
|
|
1949
2051
|
]
|
|
1950
|
-
}
|
|
2052
|
+
},
|
|
2053
|
+
"scope": "collection"
|
|
1951
2054
|
},
|
|
1952
2055
|
{
|
|
1953
2056
|
"name": "DeviceCreate",
|
|
1954
|
-
"linkedEntity": "Device",
|
|
1955
2057
|
"category": "interaction",
|
|
2058
|
+
"linkedEntity": "Device",
|
|
1956
2059
|
"emits": [
|
|
1957
2060
|
{
|
|
1958
|
-
"event": "
|
|
1959
|
-
"scope": "internal"
|
|
2061
|
+
"event": "DEVICE_CREATED"
|
|
1960
2062
|
},
|
|
1961
2063
|
{
|
|
1962
|
-
"event": "
|
|
1963
|
-
"
|
|
2064
|
+
"event": "DeviceLoaded",
|
|
2065
|
+
"description": "Fired when Device finishes loading",
|
|
2066
|
+
"scope": "internal",
|
|
2067
|
+
"payload": [
|
|
2068
|
+
{
|
|
2069
|
+
"name": "id",
|
|
2070
|
+
"type": "string",
|
|
2071
|
+
"required": true
|
|
2072
|
+
},
|
|
2073
|
+
{
|
|
2074
|
+
"name": "name",
|
|
2075
|
+
"type": "string",
|
|
2076
|
+
"required": true
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"name": "type",
|
|
2080
|
+
"type": "string",
|
|
2081
|
+
"required": true
|
|
2082
|
+
},
|
|
2083
|
+
{
|
|
2084
|
+
"name": "status",
|
|
2085
|
+
"type": "string"
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
"name": "lastSeen",
|
|
2089
|
+
"type": "datetime"
|
|
2090
|
+
},
|
|
2091
|
+
{
|
|
2092
|
+
"name": "pendingId",
|
|
2093
|
+
"type": "string"
|
|
2094
|
+
}
|
|
2095
|
+
]
|
|
2096
|
+
},
|
|
2097
|
+
{
|
|
2098
|
+
"event": "DeviceLoadFailed",
|
|
2099
|
+
"description": "Fired when Device fails to load",
|
|
2100
|
+
"scope": "internal",
|
|
2101
|
+
"payload": [
|
|
2102
|
+
{
|
|
2103
|
+
"name": "message",
|
|
2104
|
+
"type": "string"
|
|
2105
|
+
}
|
|
2106
|
+
]
|
|
1964
2107
|
}
|
|
1965
2108
|
],
|
|
1966
2109
|
"stateMachine": {
|
|
@@ -1980,7 +2123,7 @@
|
|
|
1980
2123
|
},
|
|
1981
2124
|
{
|
|
1982
2125
|
"key": "CREATE",
|
|
1983
|
-
"name": "
|
|
2126
|
+
"name": "Create"
|
|
1984
2127
|
},
|
|
1985
2128
|
{
|
|
1986
2129
|
"key": "CLOSE",
|
|
@@ -1992,8 +2135,25 @@
|
|
|
1992
2135
|
"payload": [
|
|
1993
2136
|
{
|
|
1994
2137
|
"name": "data",
|
|
1995
|
-
"type": "
|
|
1996
|
-
|
|
2138
|
+
"type": "string"
|
|
2139
|
+
}
|
|
2140
|
+
]
|
|
2141
|
+
},
|
|
2142
|
+
{
|
|
2143
|
+
"key": "DEVICE_CREATED",
|
|
2144
|
+
"name": "Device Created"
|
|
2145
|
+
},
|
|
2146
|
+
{
|
|
2147
|
+
"key": "DeviceLoaded",
|
|
2148
|
+
"name": "Device loaded"
|
|
2149
|
+
},
|
|
2150
|
+
{
|
|
2151
|
+
"key": "DeviceLoadFailed",
|
|
2152
|
+
"name": "Device load failed",
|
|
2153
|
+
"payload": [
|
|
2154
|
+
{
|
|
2155
|
+
"name": "message",
|
|
2156
|
+
"type": "string"
|
|
1997
2157
|
}
|
|
1998
2158
|
]
|
|
1999
2159
|
}
|
|
@@ -2017,7 +2177,13 @@
|
|
|
2017
2177
|
"effects": [
|
|
2018
2178
|
[
|
|
2019
2179
|
"fetch",
|
|
2020
|
-
"Device"
|
|
2180
|
+
"Device",
|
|
2181
|
+
{
|
|
2182
|
+
"emit": {
|
|
2183
|
+
"success": "DeviceLoaded",
|
|
2184
|
+
"failure": "DeviceLoadFailed"
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2021
2187
|
],
|
|
2022
2188
|
[
|
|
2023
2189
|
"render-ui",
|
|
@@ -2025,12 +2191,10 @@
|
|
|
2025
2191
|
{
|
|
2026
2192
|
"type": "stack",
|
|
2027
2193
|
"direction": "vertical",
|
|
2028
|
-
"gap": "md",
|
|
2029
2194
|
"children": [
|
|
2030
2195
|
{
|
|
2031
|
-
"type": "stack",
|
|
2032
|
-
"direction": "horizontal",
|
|
2033
2196
|
"gap": "sm",
|
|
2197
|
+
"direction": "horizontal",
|
|
2034
2198
|
"children": [
|
|
2035
2199
|
{
|
|
2036
2200
|
"type": "icon",
|
|
@@ -2042,25 +2206,27 @@
|
|
|
2042
2206
|
"content": "Create Device",
|
|
2043
2207
|
"variant": "h3"
|
|
2044
2208
|
}
|
|
2045
|
-
]
|
|
2209
|
+
],
|
|
2210
|
+
"type": "stack"
|
|
2046
2211
|
},
|
|
2047
2212
|
{
|
|
2048
2213
|
"type": "divider"
|
|
2049
2214
|
},
|
|
2050
2215
|
{
|
|
2051
|
-
"type": "form-section",
|
|
2052
|
-
"entity": "Device",
|
|
2053
2216
|
"mode": "create",
|
|
2054
|
-
"
|
|
2055
|
-
"cancelEvent": "CLOSE",
|
|
2217
|
+
"type": "form-section",
|
|
2056
2218
|
"fields": [
|
|
2057
2219
|
"name",
|
|
2058
2220
|
"type",
|
|
2059
2221
|
"status",
|
|
2060
2222
|
"lastSeen"
|
|
2061
|
-
]
|
|
2223
|
+
],
|
|
2224
|
+
"submitEvent": "SAVE",
|
|
2225
|
+
"cancelEvent": "CLOSE",
|
|
2226
|
+
"entity": "Device"
|
|
2062
2227
|
}
|
|
2063
|
-
]
|
|
2228
|
+
],
|
|
2229
|
+
"gap": "md"
|
|
2064
2230
|
}
|
|
2065
2231
|
]
|
|
2066
2232
|
]
|
|
@@ -2075,6 +2241,13 @@
|
|
|
2075
2241
|
"modal",
|
|
2076
2242
|
null
|
|
2077
2243
|
],
|
|
2244
|
+
[
|
|
2245
|
+
"render-ui",
|
|
2246
|
+
"main",
|
|
2247
|
+
{
|
|
2248
|
+
"type": "box"
|
|
2249
|
+
}
|
|
2250
|
+
],
|
|
2078
2251
|
[
|
|
2079
2252
|
"notify",
|
|
2080
2253
|
"Cancelled",
|
|
@@ -2098,6 +2271,13 @@
|
|
|
2098
2271
|
"modal",
|
|
2099
2272
|
null
|
|
2100
2273
|
],
|
|
2274
|
+
[
|
|
2275
|
+
"render-ui",
|
|
2276
|
+
"main",
|
|
2277
|
+
{
|
|
2278
|
+
"type": "box"
|
|
2279
|
+
}
|
|
2280
|
+
],
|
|
2101
2281
|
[
|
|
2102
2282
|
"emit",
|
|
2103
2283
|
"DEVICE_CREATED"
|
|
@@ -2105,20 +2285,61 @@
|
|
|
2105
2285
|
]
|
|
2106
2286
|
}
|
|
2107
2287
|
]
|
|
2108
|
-
}
|
|
2288
|
+
},
|
|
2289
|
+
"scope": "collection"
|
|
2109
2290
|
},
|
|
2110
2291
|
{
|
|
2111
2292
|
"name": "DeviceEdit",
|
|
2112
|
-
"linkedEntity": "Device",
|
|
2113
2293
|
"category": "interaction",
|
|
2294
|
+
"linkedEntity": "Device",
|
|
2114
2295
|
"emits": [
|
|
2115
2296
|
{
|
|
2116
|
-
"event": "
|
|
2117
|
-
"scope": "internal"
|
|
2297
|
+
"event": "DEVICE_UPDATED"
|
|
2118
2298
|
},
|
|
2119
2299
|
{
|
|
2120
|
-
"event": "
|
|
2121
|
-
"
|
|
2300
|
+
"event": "DeviceLoaded",
|
|
2301
|
+
"description": "Fired when Device finishes loading",
|
|
2302
|
+
"scope": "internal",
|
|
2303
|
+
"payload": [
|
|
2304
|
+
{
|
|
2305
|
+
"name": "id",
|
|
2306
|
+
"type": "string",
|
|
2307
|
+
"required": true
|
|
2308
|
+
},
|
|
2309
|
+
{
|
|
2310
|
+
"name": "name",
|
|
2311
|
+
"type": "string",
|
|
2312
|
+
"required": true
|
|
2313
|
+
},
|
|
2314
|
+
{
|
|
2315
|
+
"name": "type",
|
|
2316
|
+
"type": "string",
|
|
2317
|
+
"required": true
|
|
2318
|
+
},
|
|
2319
|
+
{
|
|
2320
|
+
"name": "status",
|
|
2321
|
+
"type": "string"
|
|
2322
|
+
},
|
|
2323
|
+
{
|
|
2324
|
+
"name": "lastSeen",
|
|
2325
|
+
"type": "datetime"
|
|
2326
|
+
},
|
|
2327
|
+
{
|
|
2328
|
+
"name": "pendingId",
|
|
2329
|
+
"type": "string"
|
|
2330
|
+
}
|
|
2331
|
+
]
|
|
2332
|
+
},
|
|
2333
|
+
{
|
|
2334
|
+
"event": "DeviceLoadFailed",
|
|
2335
|
+
"description": "Fired when Device fails to load",
|
|
2336
|
+
"scope": "internal",
|
|
2337
|
+
"payload": [
|
|
2338
|
+
{
|
|
2339
|
+
"name": "message",
|
|
2340
|
+
"type": "string"
|
|
2341
|
+
}
|
|
2342
|
+
]
|
|
2122
2343
|
}
|
|
2123
2344
|
],
|
|
2124
2345
|
"stateMachine": {
|
|
@@ -2138,12 +2359,11 @@
|
|
|
2138
2359
|
},
|
|
2139
2360
|
{
|
|
2140
2361
|
"key": "EDIT",
|
|
2141
|
-
"name": "
|
|
2362
|
+
"name": "Edit",
|
|
2142
2363
|
"payload": [
|
|
2143
2364
|
{
|
|
2144
2365
|
"name": "id",
|
|
2145
|
-
"type": "string"
|
|
2146
|
-
"required": true
|
|
2366
|
+
"type": "string"
|
|
2147
2367
|
}
|
|
2148
2368
|
]
|
|
2149
2369
|
},
|
|
@@ -2157,8 +2377,25 @@
|
|
|
2157
2377
|
"payload": [
|
|
2158
2378
|
{
|
|
2159
2379
|
"name": "data",
|
|
2160
|
-
"type": "
|
|
2161
|
-
|
|
2380
|
+
"type": "string"
|
|
2381
|
+
}
|
|
2382
|
+
]
|
|
2383
|
+
},
|
|
2384
|
+
{
|
|
2385
|
+
"key": "DEVICE_UPDATED",
|
|
2386
|
+
"name": "Device Updated"
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
"key": "DeviceLoaded",
|
|
2390
|
+
"name": "Device loaded"
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
"key": "DeviceLoadFailed",
|
|
2394
|
+
"name": "Device load failed",
|
|
2395
|
+
"payload": [
|
|
2396
|
+
{
|
|
2397
|
+
"name": "message",
|
|
2398
|
+
"type": "string"
|
|
2162
2399
|
}
|
|
2163
2400
|
]
|
|
2164
2401
|
}
|
|
@@ -2184,50 +2421,54 @@
|
|
|
2184
2421
|
"fetch",
|
|
2185
2422
|
"Device",
|
|
2186
2423
|
{
|
|
2187
|
-
"id": "@payload.id"
|
|
2424
|
+
"id": "@payload.id",
|
|
2425
|
+
"emit": {
|
|
2426
|
+
"failure": "DeviceLoadFailed",
|
|
2427
|
+
"success": "DeviceLoaded"
|
|
2428
|
+
}
|
|
2188
2429
|
}
|
|
2189
2430
|
],
|
|
2190
2431
|
[
|
|
2191
2432
|
"render-ui",
|
|
2192
2433
|
"modal",
|
|
2193
2434
|
{
|
|
2194
|
-
"type": "stack",
|
|
2195
|
-
"direction": "vertical",
|
|
2196
2435
|
"gap": "md",
|
|
2436
|
+
"direction": "vertical",
|
|
2437
|
+
"type": "stack",
|
|
2197
2438
|
"children": [
|
|
2198
2439
|
{
|
|
2199
|
-
"type": "stack",
|
|
2200
|
-
"direction": "horizontal",
|
|
2201
|
-
"gap": "sm",
|
|
2202
2440
|
"children": [
|
|
2203
2441
|
{
|
|
2442
|
+
"size": "md",
|
|
2204
2443
|
"type": "icon",
|
|
2205
|
-
"name": "edit"
|
|
2206
|
-
"size": "md"
|
|
2444
|
+
"name": "edit"
|
|
2207
2445
|
},
|
|
2208
2446
|
{
|
|
2209
2447
|
"type": "typography",
|
|
2210
2448
|
"content": "Edit Device",
|
|
2211
2449
|
"variant": "h3"
|
|
2212
2450
|
}
|
|
2213
|
-
]
|
|
2451
|
+
],
|
|
2452
|
+
"gap": "sm",
|
|
2453
|
+
"type": "stack",
|
|
2454
|
+
"direction": "horizontal"
|
|
2214
2455
|
},
|
|
2215
2456
|
{
|
|
2216
2457
|
"type": "divider"
|
|
2217
2458
|
},
|
|
2218
2459
|
{
|
|
2460
|
+
"entityId": "@entity.id",
|
|
2461
|
+
"cancelEvent": "CLOSE",
|
|
2219
2462
|
"type": "form-section",
|
|
2220
2463
|
"entity": "Device",
|
|
2221
|
-
"mode": "edit",
|
|
2222
|
-
"submitEvent": "SAVE",
|
|
2223
|
-
"cancelEvent": "CLOSE",
|
|
2224
2464
|
"fields": [
|
|
2225
2465
|
"name",
|
|
2226
2466
|
"type",
|
|
2227
2467
|
"status",
|
|
2228
2468
|
"lastSeen"
|
|
2229
2469
|
],
|
|
2230
|
-
"
|
|
2470
|
+
"mode": "edit",
|
|
2471
|
+
"submitEvent": "SAVE"
|
|
2231
2472
|
}
|
|
2232
2473
|
]
|
|
2233
2474
|
}
|
|
@@ -2244,6 +2485,13 @@
|
|
|
2244
2485
|
"modal",
|
|
2245
2486
|
null
|
|
2246
2487
|
],
|
|
2488
|
+
[
|
|
2489
|
+
"render-ui",
|
|
2490
|
+
"main",
|
|
2491
|
+
{
|
|
2492
|
+
"type": "box"
|
|
2493
|
+
}
|
|
2494
|
+
],
|
|
2247
2495
|
[
|
|
2248
2496
|
"notify",
|
|
2249
2497
|
"Cancelled",
|
|
@@ -2267,6 +2515,13 @@
|
|
|
2267
2515
|
"modal",
|
|
2268
2516
|
null
|
|
2269
2517
|
],
|
|
2518
|
+
[
|
|
2519
|
+
"render-ui",
|
|
2520
|
+
"main",
|
|
2521
|
+
{
|
|
2522
|
+
"type": "box"
|
|
2523
|
+
}
|
|
2524
|
+
],
|
|
2270
2525
|
[
|
|
2271
2526
|
"emit",
|
|
2272
2527
|
"DEVICE_UPDATED"
|
|
@@ -2274,16 +2529,58 @@
|
|
|
2274
2529
|
]
|
|
2275
2530
|
}
|
|
2276
2531
|
]
|
|
2277
|
-
}
|
|
2532
|
+
},
|
|
2533
|
+
"scope": "collection"
|
|
2278
2534
|
},
|
|
2279
2535
|
{
|
|
2280
2536
|
"name": "DeviceView",
|
|
2281
|
-
"linkedEntity": "Device",
|
|
2282
2537
|
"category": "interaction",
|
|
2538
|
+
"linkedEntity": "Device",
|
|
2283
2539
|
"emits": [
|
|
2284
2540
|
{
|
|
2285
|
-
"event": "
|
|
2286
|
-
"
|
|
2541
|
+
"event": "DeviceLoaded",
|
|
2542
|
+
"description": "Fired when Device finishes loading",
|
|
2543
|
+
"scope": "internal",
|
|
2544
|
+
"payload": [
|
|
2545
|
+
{
|
|
2546
|
+
"name": "id",
|
|
2547
|
+
"type": "string",
|
|
2548
|
+
"required": true
|
|
2549
|
+
},
|
|
2550
|
+
{
|
|
2551
|
+
"name": "name",
|
|
2552
|
+
"type": "string",
|
|
2553
|
+
"required": true
|
|
2554
|
+
},
|
|
2555
|
+
{
|
|
2556
|
+
"name": "type",
|
|
2557
|
+
"type": "string",
|
|
2558
|
+
"required": true
|
|
2559
|
+
},
|
|
2560
|
+
{
|
|
2561
|
+
"name": "status",
|
|
2562
|
+
"type": "string"
|
|
2563
|
+
},
|
|
2564
|
+
{
|
|
2565
|
+
"name": "lastSeen",
|
|
2566
|
+
"type": "datetime"
|
|
2567
|
+
},
|
|
2568
|
+
{
|
|
2569
|
+
"name": "pendingId",
|
|
2570
|
+
"type": "string"
|
|
2571
|
+
}
|
|
2572
|
+
]
|
|
2573
|
+
},
|
|
2574
|
+
{
|
|
2575
|
+
"event": "DeviceLoadFailed",
|
|
2576
|
+
"description": "Fired when Device fails to load",
|
|
2577
|
+
"scope": "internal",
|
|
2578
|
+
"payload": [
|
|
2579
|
+
{
|
|
2580
|
+
"name": "message",
|
|
2581
|
+
"type": "string"
|
|
2582
|
+
}
|
|
2583
|
+
]
|
|
2287
2584
|
}
|
|
2288
2585
|
],
|
|
2289
2586
|
"stateMachine": {
|
|
@@ -2303,12 +2600,11 @@
|
|
|
2303
2600
|
},
|
|
2304
2601
|
{
|
|
2305
2602
|
"key": "VIEW",
|
|
2306
|
-
"name": "
|
|
2603
|
+
"name": "View",
|
|
2307
2604
|
"payload": [
|
|
2308
2605
|
{
|
|
2309
2606
|
"name": "id",
|
|
2310
|
-
"type": "string"
|
|
2311
|
-
"required": true
|
|
2607
|
+
"type": "string"
|
|
2312
2608
|
}
|
|
2313
2609
|
]
|
|
2314
2610
|
},
|
|
@@ -2318,12 +2614,19 @@
|
|
|
2318
2614
|
},
|
|
2319
2615
|
{
|
|
2320
2616
|
"key": "SAVE",
|
|
2321
|
-
"name": "Save"
|
|
2617
|
+
"name": "Save"
|
|
2618
|
+
},
|
|
2619
|
+
{
|
|
2620
|
+
"key": "DeviceLoaded",
|
|
2621
|
+
"name": "Device loaded"
|
|
2622
|
+
},
|
|
2623
|
+
{
|
|
2624
|
+
"key": "DeviceLoadFailed",
|
|
2625
|
+
"name": "Device load failed",
|
|
2322
2626
|
"payload": [
|
|
2323
2627
|
{
|
|
2324
|
-
"name": "
|
|
2325
|
-
"type": "
|
|
2326
|
-
"required": true
|
|
2628
|
+
"name": "message",
|
|
2629
|
+
"type": "string"
|
|
2327
2630
|
}
|
|
2328
2631
|
]
|
|
2329
2632
|
}
|
|
@@ -2349,93 +2652,93 @@
|
|
|
2349
2652
|
"fetch",
|
|
2350
2653
|
"Device",
|
|
2351
2654
|
{
|
|
2352
|
-
"id": "@payload.id"
|
|
2655
|
+
"id": "@payload.id",
|
|
2656
|
+
"emit": {
|
|
2657
|
+
"failure": "DeviceLoadFailed",
|
|
2658
|
+
"success": "DeviceLoaded"
|
|
2659
|
+
}
|
|
2353
2660
|
}
|
|
2354
2661
|
],
|
|
2355
2662
|
[
|
|
2356
2663
|
"render-ui",
|
|
2357
2664
|
"modal",
|
|
2358
2665
|
{
|
|
2359
|
-
"type": "stack",
|
|
2360
|
-
"direction": "vertical",
|
|
2361
|
-
"gap": "md",
|
|
2362
2666
|
"children": [
|
|
2363
2667
|
{
|
|
2364
|
-
"type": "stack",
|
|
2365
|
-
"direction": "horizontal",
|
|
2366
|
-
"gap": "sm",
|
|
2367
2668
|
"align": "center",
|
|
2368
|
-
"
|
|
2669
|
+
"gap": "sm",
|
|
2670
|
+
"direction": "horizontal",
|
|
2671
|
+
"children": [
|
|
2369
2672
|
{
|
|
2370
2673
|
"type": "icon",
|
|
2371
|
-
"
|
|
2372
|
-
"
|
|
2674
|
+
"size": "md",
|
|
2675
|
+
"name": "eye"
|
|
2373
2676
|
},
|
|
2374
2677
|
{
|
|
2375
2678
|
"type": "typography",
|
|
2376
|
-
"
|
|
2377
|
-
"
|
|
2679
|
+
"content": "@entity.name",
|
|
2680
|
+
"variant": "h3"
|
|
2378
2681
|
}
|
|
2379
|
-
]
|
|
2682
|
+
],
|
|
2683
|
+
"type": "stack"
|
|
2380
2684
|
},
|
|
2381
2685
|
{
|
|
2382
2686
|
"type": "divider"
|
|
2383
2687
|
},
|
|
2384
2688
|
{
|
|
2385
|
-
"type": "stack",
|
|
2386
|
-
"direction": "horizontal",
|
|
2387
|
-
"gap": "md",
|
|
2388
2689
|
"children": [
|
|
2389
2690
|
{
|
|
2691
|
+
"content": "Name",
|
|
2390
2692
|
"type": "typography",
|
|
2391
|
-
"variant": "caption"
|
|
2392
|
-
"content": "Name"
|
|
2693
|
+
"variant": "caption"
|
|
2393
2694
|
},
|
|
2394
2695
|
{
|
|
2395
2696
|
"type": "typography",
|
|
2396
2697
|
"variant": "body",
|
|
2397
2698
|
"content": "@entity.name"
|
|
2398
2699
|
}
|
|
2399
|
-
]
|
|
2700
|
+
],
|
|
2701
|
+
"gap": "md",
|
|
2702
|
+
"type": "stack",
|
|
2703
|
+
"direction": "horizontal"
|
|
2400
2704
|
},
|
|
2401
2705
|
{
|
|
2402
2706
|
"type": "stack",
|
|
2403
2707
|
"direction": "horizontal",
|
|
2404
|
-
"gap": "md",
|
|
2405
2708
|
"children": [
|
|
2406
2709
|
{
|
|
2407
|
-
"type": "typography",
|
|
2408
2710
|
"variant": "caption",
|
|
2409
|
-
"content": "Type"
|
|
2711
|
+
"content": "Type",
|
|
2712
|
+
"type": "typography"
|
|
2410
2713
|
},
|
|
2411
2714
|
{
|
|
2412
2715
|
"type": "typography",
|
|
2413
|
-
"
|
|
2414
|
-
"
|
|
2716
|
+
"content": "@entity.type",
|
|
2717
|
+
"variant": "body"
|
|
2415
2718
|
}
|
|
2416
|
-
]
|
|
2719
|
+
],
|
|
2720
|
+
"gap": "md"
|
|
2417
2721
|
},
|
|
2418
2722
|
{
|
|
2419
|
-
"type": "stack",
|
|
2420
2723
|
"direction": "horizontal",
|
|
2421
2724
|
"gap": "md",
|
|
2422
2725
|
"children": [
|
|
2423
2726
|
{
|
|
2424
|
-
"type": "typography",
|
|
2425
2727
|
"variant": "caption",
|
|
2426
|
-
"content": "Status"
|
|
2728
|
+
"content": "Status",
|
|
2729
|
+
"type": "typography"
|
|
2427
2730
|
},
|
|
2428
2731
|
{
|
|
2429
|
-
"
|
|
2732
|
+
"content": "@entity.status",
|
|
2430
2733
|
"variant": "body",
|
|
2431
|
-
"
|
|
2734
|
+
"type": "typography"
|
|
2432
2735
|
}
|
|
2433
|
-
]
|
|
2736
|
+
],
|
|
2737
|
+
"type": "stack"
|
|
2434
2738
|
},
|
|
2435
2739
|
{
|
|
2436
|
-
"type": "stack",
|
|
2437
2740
|
"direction": "horizontal",
|
|
2438
|
-
"
|
|
2741
|
+
"type": "stack",
|
|
2439
2742
|
"children": [
|
|
2440
2743
|
{
|
|
2441
2744
|
"type": "typography",
|
|
@@ -2443,37 +2746,41 @@
|
|
|
2443
2746
|
"content": "Last Seen"
|
|
2444
2747
|
},
|
|
2445
2748
|
{
|
|
2446
|
-
"type": "typography",
|
|
2447
2749
|
"variant": "body",
|
|
2448
|
-
"content": "@entity.lastSeen"
|
|
2750
|
+
"content": "@entity.lastSeen",
|
|
2751
|
+
"type": "typography"
|
|
2449
2752
|
}
|
|
2450
|
-
]
|
|
2753
|
+
],
|
|
2754
|
+
"gap": "md"
|
|
2451
2755
|
},
|
|
2452
2756
|
{
|
|
2453
2757
|
"type": "divider"
|
|
2454
2758
|
},
|
|
2455
2759
|
{
|
|
2456
2760
|
"type": "stack",
|
|
2457
|
-
"direction": "horizontal",
|
|
2458
2761
|
"gap": "sm",
|
|
2762
|
+
"direction": "horizontal",
|
|
2459
2763
|
"justify": "end",
|
|
2460
2764
|
"children": [
|
|
2461
2765
|
{
|
|
2462
|
-
"type": "button",
|
|
2463
|
-
"label": "Edit",
|
|
2464
|
-
"event": "EDIT",
|
|
2465
2766
|
"variant": "primary",
|
|
2466
|
-
"icon": "edit"
|
|
2767
|
+
"icon": "edit",
|
|
2768
|
+
"label": "Edit",
|
|
2769
|
+
"type": "button",
|
|
2770
|
+
"event": "EDIT"
|
|
2467
2771
|
},
|
|
2468
2772
|
{
|
|
2469
|
-
"type": "button",
|
|
2470
2773
|
"label": "Close",
|
|
2774
|
+
"type": "button",
|
|
2471
2775
|
"event": "CLOSE",
|
|
2472
2776
|
"variant": "ghost"
|
|
2473
2777
|
}
|
|
2474
2778
|
]
|
|
2475
2779
|
}
|
|
2476
|
-
]
|
|
2780
|
+
],
|
|
2781
|
+
"type": "stack",
|
|
2782
|
+
"gap": "md",
|
|
2783
|
+
"direction": "vertical"
|
|
2477
2784
|
}
|
|
2478
2785
|
]
|
|
2479
2786
|
]
|
|
@@ -2488,6 +2795,13 @@
|
|
|
2488
2795
|
"modal",
|
|
2489
2796
|
null
|
|
2490
2797
|
],
|
|
2798
|
+
[
|
|
2799
|
+
"render-ui",
|
|
2800
|
+
"main",
|
|
2801
|
+
{
|
|
2802
|
+
"type": "box"
|
|
2803
|
+
}
|
|
2804
|
+
],
|
|
2491
2805
|
[
|
|
2492
2806
|
"notify",
|
|
2493
2807
|
"Cancelled",
|
|
@@ -2504,24 +2818,72 @@
|
|
|
2504
2818
|
"render-ui",
|
|
2505
2819
|
"modal",
|
|
2506
2820
|
null
|
|
2821
|
+
],
|
|
2822
|
+
[
|
|
2823
|
+
"render-ui",
|
|
2824
|
+
"main",
|
|
2825
|
+
{
|
|
2826
|
+
"type": "box"
|
|
2827
|
+
}
|
|
2507
2828
|
]
|
|
2508
2829
|
]
|
|
2509
2830
|
}
|
|
2510
2831
|
]
|
|
2511
|
-
}
|
|
2832
|
+
},
|
|
2833
|
+
"scope": "collection"
|
|
2512
2834
|
},
|
|
2513
2835
|
{
|
|
2514
2836
|
"name": "DeviceDelete",
|
|
2515
|
-
"linkedEntity": "Device",
|
|
2516
2837
|
"category": "interaction",
|
|
2838
|
+
"linkedEntity": "Device",
|
|
2517
2839
|
"emits": [
|
|
2518
2840
|
{
|
|
2519
|
-
"event": "
|
|
2520
|
-
"scope": "internal"
|
|
2841
|
+
"event": "DEVICE_DELETED"
|
|
2521
2842
|
},
|
|
2522
2843
|
{
|
|
2523
|
-
"event": "
|
|
2524
|
-
"
|
|
2844
|
+
"event": "DeviceLoaded",
|
|
2845
|
+
"description": "Fired when Device finishes loading",
|
|
2846
|
+
"scope": "internal",
|
|
2847
|
+
"payload": [
|
|
2848
|
+
{
|
|
2849
|
+
"name": "id",
|
|
2850
|
+
"type": "string",
|
|
2851
|
+
"required": true
|
|
2852
|
+
},
|
|
2853
|
+
{
|
|
2854
|
+
"name": "name",
|
|
2855
|
+
"type": "string",
|
|
2856
|
+
"required": true
|
|
2857
|
+
},
|
|
2858
|
+
{
|
|
2859
|
+
"name": "type",
|
|
2860
|
+
"type": "string",
|
|
2861
|
+
"required": true
|
|
2862
|
+
},
|
|
2863
|
+
{
|
|
2864
|
+
"name": "status",
|
|
2865
|
+
"type": "string"
|
|
2866
|
+
},
|
|
2867
|
+
{
|
|
2868
|
+
"name": "lastSeen",
|
|
2869
|
+
"type": "datetime"
|
|
2870
|
+
},
|
|
2871
|
+
{
|
|
2872
|
+
"name": "pendingId",
|
|
2873
|
+
"type": "string"
|
|
2874
|
+
}
|
|
2875
|
+
]
|
|
2876
|
+
},
|
|
2877
|
+
{
|
|
2878
|
+
"event": "DeviceLoadFailed",
|
|
2879
|
+
"description": "Fired when Device fails to load",
|
|
2880
|
+
"scope": "internal",
|
|
2881
|
+
"payload": [
|
|
2882
|
+
{
|
|
2883
|
+
"name": "message",
|
|
2884
|
+
"type": "string"
|
|
2885
|
+
}
|
|
2886
|
+
]
|
|
2525
2887
|
}
|
|
2526
2888
|
],
|
|
2527
2889
|
"stateMachine": {
|
|
@@ -2541,18 +2903,17 @@
|
|
|
2541
2903
|
},
|
|
2542
2904
|
{
|
|
2543
2905
|
"key": "DELETE",
|
|
2544
|
-
"name": "
|
|
2906
|
+
"name": "Delete",
|
|
2545
2907
|
"payload": [
|
|
2546
2908
|
{
|
|
2547
2909
|
"name": "id",
|
|
2548
|
-
"type": "string"
|
|
2549
|
-
"required": true
|
|
2910
|
+
"type": "string"
|
|
2550
2911
|
}
|
|
2551
2912
|
]
|
|
2552
2913
|
},
|
|
2553
2914
|
{
|
|
2554
2915
|
"key": "CONFIRM_DELETE",
|
|
2555
|
-
"name": "Confirm"
|
|
2916
|
+
"name": "Confirm Delete"
|
|
2556
2917
|
},
|
|
2557
2918
|
{
|
|
2558
2919
|
"key": "CANCEL",
|
|
@@ -2561,6 +2922,24 @@
|
|
|
2561
2922
|
{
|
|
2562
2923
|
"key": "CLOSE",
|
|
2563
2924
|
"name": "Close"
|
|
2925
|
+
},
|
|
2926
|
+
{
|
|
2927
|
+
"key": "DEVICE_DELETED",
|
|
2928
|
+
"name": "Device Deleted"
|
|
2929
|
+
},
|
|
2930
|
+
{
|
|
2931
|
+
"key": "DeviceLoaded",
|
|
2932
|
+
"name": "Device loaded"
|
|
2933
|
+
},
|
|
2934
|
+
{
|
|
2935
|
+
"key": "DeviceLoadFailed",
|
|
2936
|
+
"name": "Device load failed",
|
|
2937
|
+
"payload": [
|
|
2938
|
+
{
|
|
2939
|
+
"name": "message",
|
|
2940
|
+
"type": "string"
|
|
2941
|
+
}
|
|
2942
|
+
]
|
|
2564
2943
|
}
|
|
2565
2944
|
],
|
|
2566
2945
|
"transitions": [
|
|
@@ -2589,65 +2968,69 @@
|
|
|
2589
2968
|
"fetch",
|
|
2590
2969
|
"Device",
|
|
2591
2970
|
{
|
|
2592
|
-
"id": "@payload.id"
|
|
2971
|
+
"id": "@payload.id",
|
|
2972
|
+
"emit": {
|
|
2973
|
+
"failure": "DeviceLoadFailed",
|
|
2974
|
+
"success": "DeviceLoaded"
|
|
2975
|
+
}
|
|
2593
2976
|
}
|
|
2594
2977
|
],
|
|
2595
2978
|
[
|
|
2596
2979
|
"render-ui",
|
|
2597
2980
|
"modal",
|
|
2598
2981
|
{
|
|
2599
|
-
"type": "stack",
|
|
2600
2982
|
"direction": "vertical",
|
|
2601
|
-
"gap": "md",
|
|
2602
2983
|
"children": [
|
|
2603
2984
|
{
|
|
2985
|
+
"align": "center",
|
|
2604
2986
|
"type": "stack",
|
|
2605
|
-
"direction": "horizontal",
|
|
2606
2987
|
"gap": "sm",
|
|
2607
|
-
"align": "center",
|
|
2608
2988
|
"children": [
|
|
2609
2989
|
{
|
|
2610
|
-
"
|
|
2990
|
+
"size": "md",
|
|
2611
2991
|
"name": "alert-triangle",
|
|
2612
|
-
"
|
|
2992
|
+
"type": "icon"
|
|
2613
2993
|
},
|
|
2614
2994
|
{
|
|
2615
|
-
"type": "typography",
|
|
2616
2995
|
"content": "Delete Device",
|
|
2617
|
-
"variant": "h3"
|
|
2996
|
+
"variant": "h3",
|
|
2997
|
+
"type": "typography"
|
|
2618
2998
|
}
|
|
2619
|
-
]
|
|
2999
|
+
],
|
|
3000
|
+
"direction": "horizontal"
|
|
2620
3001
|
},
|
|
2621
3002
|
{
|
|
2622
3003
|
"type": "divider"
|
|
2623
3004
|
},
|
|
2624
3005
|
{
|
|
2625
|
-
"type": "alert",
|
|
2626
3006
|
"variant": "danger",
|
|
2627
|
-
"message": "This action cannot be undone."
|
|
3007
|
+
"message": "This action cannot be undone.",
|
|
3008
|
+
"type": "alert"
|
|
2628
3009
|
},
|
|
2629
3010
|
{
|
|
2630
|
-
"type": "stack",
|
|
2631
3011
|
"direction": "horizontal",
|
|
3012
|
+
"type": "stack",
|
|
2632
3013
|
"gap": "sm",
|
|
2633
3014
|
"justify": "end",
|
|
2634
3015
|
"children": [
|
|
2635
3016
|
{
|
|
2636
|
-
"type": "button",
|
|
2637
|
-
"label": "Cancel",
|
|
2638
3017
|
"event": "CANCEL",
|
|
2639
|
-
"
|
|
3018
|
+
"type": "button",
|
|
3019
|
+
"variant": "ghost",
|
|
3020
|
+
"label": "Cancel"
|
|
2640
3021
|
},
|
|
2641
3022
|
{
|
|
2642
|
-
"type": "button",
|
|
2643
3023
|
"label": "Delete",
|
|
2644
3024
|
"event": "CONFIRM_DELETE",
|
|
3025
|
+
"type": "button",
|
|
2645
3026
|
"variant": "danger",
|
|
2646
3027
|
"icon": "check"
|
|
2647
3028
|
}
|
|
2648
3029
|
]
|
|
2649
3030
|
}
|
|
2650
|
-
]
|
|
3031
|
+
],
|
|
3032
|
+
"type": "stack",
|
|
3033
|
+
"gap": "md"
|
|
2651
3034
|
}
|
|
2652
3035
|
]
|
|
2653
3036
|
]
|
|
@@ -2668,6 +3051,13 @@
|
|
|
2668
3051
|
"modal",
|
|
2669
3052
|
null
|
|
2670
3053
|
],
|
|
3054
|
+
[
|
|
3055
|
+
"render-ui",
|
|
3056
|
+
"main",
|
|
3057
|
+
{
|
|
3058
|
+
"type": "box"
|
|
3059
|
+
}
|
|
3060
|
+
],
|
|
2671
3061
|
[
|
|
2672
3062
|
"ref",
|
|
2673
3063
|
"Device"
|
|
@@ -2688,6 +3078,13 @@
|
|
|
2688
3078
|
"modal",
|
|
2689
3079
|
null
|
|
2690
3080
|
],
|
|
3081
|
+
[
|
|
3082
|
+
"render-ui",
|
|
3083
|
+
"main",
|
|
3084
|
+
{
|
|
3085
|
+
"type": "box"
|
|
3086
|
+
}
|
|
3087
|
+
],
|
|
2691
3088
|
[
|
|
2692
3089
|
"ref",
|
|
2693
3090
|
"Device"
|
|
@@ -2704,6 +3101,13 @@
|
|
|
2704
3101
|
"modal",
|
|
2705
3102
|
null
|
|
2706
3103
|
],
|
|
3104
|
+
[
|
|
3105
|
+
"render-ui",
|
|
3106
|
+
"main",
|
|
3107
|
+
{
|
|
3108
|
+
"type": "box"
|
|
3109
|
+
}
|
|
3110
|
+
],
|
|
2707
3111
|
[
|
|
2708
3112
|
"ref",
|
|
2709
3113
|
"Device"
|
|
@@ -2711,12 +3115,13 @@
|
|
|
2711
3115
|
]
|
|
2712
3116
|
}
|
|
2713
3117
|
]
|
|
2714
|
-
}
|
|
3118
|
+
},
|
|
3119
|
+
"scope": "collection"
|
|
2715
3120
|
}
|
|
2716
3121
|
],
|
|
2717
3122
|
"pages": [
|
|
2718
3123
|
{
|
|
2719
|
-
"name": "
|
|
3124
|
+
"name": "Devices",
|
|
2720
3125
|
"path": "/devices",
|
|
2721
3126
|
"traits": [
|
|
2722
3127
|
{
|
|
@@ -2765,43 +3170,82 @@
|
|
|
2765
3170
|
},
|
|
2766
3171
|
{
|
|
2767
3172
|
"name": "acknowledged",
|
|
2768
|
-
"type": "boolean"
|
|
2769
|
-
"default": false
|
|
3173
|
+
"type": "boolean"
|
|
2770
3174
|
},
|
|
2771
3175
|
{
|
|
2772
3176
|
"name": "failureCount",
|
|
2773
|
-
"type": "number"
|
|
2774
|
-
"default": 0
|
|
3177
|
+
"type": "number"
|
|
2775
3178
|
},
|
|
2776
3179
|
{
|
|
2777
3180
|
"name": "successCount",
|
|
2778
|
-
"type": "number"
|
|
2779
|
-
"default": 0
|
|
3181
|
+
"type": "number"
|
|
2780
3182
|
},
|
|
2781
3183
|
{
|
|
2782
3184
|
"name": "threshold",
|
|
2783
|
-
"type": "number"
|
|
2784
|
-
"default": 5
|
|
2785
|
-
}
|
|
2786
|
-
],
|
|
2787
|
-
"instances": [
|
|
2788
|
-
{
|
|
2789
|
-
"id": "sn-1",
|
|
2790
|
-
"name": "ServiceNode",
|
|
2791
|
-
"description": "Primary API gateway",
|
|
2792
|
-
"status": "active",
|
|
2793
|
-
"createdAt": "2026-01-10",
|
|
2794
|
-
"failureCount": 783,
|
|
2795
|
-
"successCount": 603,
|
|
2796
|
-
"threshold": 5
|
|
3185
|
+
"type": "number"
|
|
2797
3186
|
}
|
|
2798
3187
|
]
|
|
2799
3188
|
},
|
|
2800
3189
|
"traits": [
|
|
2801
3190
|
{
|
|
2802
3191
|
"name": "DeviceAlertCircuitBreaker",
|
|
2803
|
-
"linkedEntity": "DeviceAlert",
|
|
2804
3192
|
"category": "interaction",
|
|
3193
|
+
"linkedEntity": "DeviceAlert",
|
|
3194
|
+
"emits": [
|
|
3195
|
+
{
|
|
3196
|
+
"event": "DeviceAlertLoaded",
|
|
3197
|
+
"description": "Fired when DeviceAlert finishes loading",
|
|
3198
|
+
"scope": "internal",
|
|
3199
|
+
"payload": [
|
|
3200
|
+
{
|
|
3201
|
+
"name": "id",
|
|
3202
|
+
"type": "string",
|
|
3203
|
+
"required": true
|
|
3204
|
+
},
|
|
3205
|
+
{
|
|
3206
|
+
"name": "deviceId",
|
|
3207
|
+
"type": "string",
|
|
3208
|
+
"required": true
|
|
3209
|
+
},
|
|
3210
|
+
{
|
|
3211
|
+
"name": "severity",
|
|
3212
|
+
"type": "string",
|
|
3213
|
+
"required": true
|
|
3214
|
+
},
|
|
3215
|
+
{
|
|
3216
|
+
"name": "message",
|
|
3217
|
+
"type": "string"
|
|
3218
|
+
},
|
|
3219
|
+
{
|
|
3220
|
+
"name": "acknowledged",
|
|
3221
|
+
"type": "boolean"
|
|
3222
|
+
},
|
|
3223
|
+
{
|
|
3224
|
+
"name": "failureCount",
|
|
3225
|
+
"type": "number"
|
|
3226
|
+
},
|
|
3227
|
+
{
|
|
3228
|
+
"name": "successCount",
|
|
3229
|
+
"type": "number"
|
|
3230
|
+
},
|
|
3231
|
+
{
|
|
3232
|
+
"name": "threshold",
|
|
3233
|
+
"type": "number"
|
|
3234
|
+
}
|
|
3235
|
+
]
|
|
3236
|
+
},
|
|
3237
|
+
{
|
|
3238
|
+
"event": "DeviceAlertLoadFailed",
|
|
3239
|
+
"description": "Fired when DeviceAlert fails to load",
|
|
3240
|
+
"scope": "internal",
|
|
3241
|
+
"payload": [
|
|
3242
|
+
{
|
|
3243
|
+
"name": "message",
|
|
3244
|
+
"type": "string"
|
|
3245
|
+
}
|
|
3246
|
+
]
|
|
3247
|
+
}
|
|
3248
|
+
],
|
|
2805
3249
|
"stateMachine": {
|
|
2806
3250
|
"states": [
|
|
2807
3251
|
{
|
|
@@ -2835,6 +3279,20 @@
|
|
|
2835
3279
|
{
|
|
2836
3280
|
"key": "RESET",
|
|
2837
3281
|
"name": "Reset"
|
|
3282
|
+
},
|
|
3283
|
+
{
|
|
3284
|
+
"key": "DeviceAlertLoaded",
|
|
3285
|
+
"name": "DeviceAlert loaded"
|
|
3286
|
+
},
|
|
3287
|
+
{
|
|
3288
|
+
"key": "DeviceAlertLoadFailed",
|
|
3289
|
+
"name": "DeviceAlert load failed",
|
|
3290
|
+
"payload": [
|
|
3291
|
+
{
|
|
3292
|
+
"name": "message",
|
|
3293
|
+
"type": "string"
|
|
3294
|
+
}
|
|
3295
|
+
]
|
|
2838
3296
|
}
|
|
2839
3297
|
],
|
|
2840
3298
|
"transitions": [
|
|
@@ -2845,7 +3303,13 @@
|
|
|
2845
3303
|
"effects": [
|
|
2846
3304
|
[
|
|
2847
3305
|
"fetch",
|
|
2848
|
-
"DeviceAlert"
|
|
3306
|
+
"DeviceAlert",
|
|
3307
|
+
{
|
|
3308
|
+
"emit": {
|
|
3309
|
+
"failure": "DeviceAlertLoadFailed",
|
|
3310
|
+
"success": "DeviceAlertLoaded"
|
|
3311
|
+
}
|
|
3312
|
+
}
|
|
2849
3313
|
],
|
|
2850
3314
|
[
|
|
2851
3315
|
"render-ui",
|
|
@@ -2853,41 +3317,16 @@
|
|
|
2853
3317
|
{
|
|
2854
3318
|
"type": "dashboard-layout",
|
|
2855
3319
|
"appName": "IoT Dashboard",
|
|
2856
|
-
"navItems": [
|
|
2857
|
-
{
|
|
2858
|
-
"label": "Sensors",
|
|
2859
|
-
"href": "/sensors",
|
|
2860
|
-
"icon": "layout-list"
|
|
2861
|
-
},
|
|
2862
|
-
{
|
|
2863
|
-
"label": "Devices",
|
|
2864
|
-
"href": "/devices",
|
|
2865
|
-
"icon": "cpu"
|
|
2866
|
-
},
|
|
2867
|
-
{
|
|
2868
|
-
"label": "Alerts",
|
|
2869
|
-
"href": "/alerts",
|
|
2870
|
-
"icon": "bell"
|
|
2871
|
-
}
|
|
2872
|
-
],
|
|
2873
3320
|
"children": [
|
|
2874
3321
|
{
|
|
2875
|
-
"type": "stack",
|
|
2876
3322
|
"direction": "vertical",
|
|
2877
3323
|
"gap": "lg",
|
|
2878
3324
|
"children": [
|
|
2879
3325
|
{
|
|
2880
|
-
"type": "stack",
|
|
2881
|
-
"direction": "horizontal",
|
|
2882
|
-
"gap": "md",
|
|
2883
3326
|
"align": "center",
|
|
2884
|
-
"
|
|
3327
|
+
"direction": "horizontal",
|
|
2885
3328
|
"children": [
|
|
2886
3329
|
{
|
|
2887
|
-
"type": "stack",
|
|
2888
|
-
"direction": "horizontal",
|
|
2889
|
-
"gap": "md",
|
|
2890
|
-
"align": "center",
|
|
2891
3330
|
"children": [
|
|
2892
3331
|
{
|
|
2893
3332
|
"type": "icon",
|
|
@@ -2895,35 +3334,38 @@
|
|
|
2895
3334
|
"size": "lg"
|
|
2896
3335
|
},
|
|
2897
3336
|
{
|
|
3337
|
+
"variant": "h2",
|
|
2898
3338
|
"type": "typography",
|
|
2899
|
-
"content": "DeviceAlert"
|
|
2900
|
-
"variant": "h2"
|
|
3339
|
+
"content": "DeviceAlert"
|
|
2901
3340
|
}
|
|
2902
|
-
]
|
|
3341
|
+
],
|
|
3342
|
+
"type": "stack",
|
|
3343
|
+
"align": "center",
|
|
3344
|
+
"direction": "horizontal",
|
|
3345
|
+
"gap": "md"
|
|
2903
3346
|
},
|
|
2904
3347
|
{
|
|
2905
|
-
"
|
|
2906
|
-
"status": "success",
|
|
3348
|
+
"label": "Circuit Closed",
|
|
2907
3349
|
"pulse": false,
|
|
2908
|
-
"
|
|
3350
|
+
"type": "status-dot",
|
|
3351
|
+
"status": "success"
|
|
2909
3352
|
}
|
|
2910
|
-
]
|
|
3353
|
+
],
|
|
3354
|
+
"type": "stack",
|
|
3355
|
+
"gap": "md",
|
|
3356
|
+
"justify": "space-between"
|
|
2911
3357
|
},
|
|
2912
3358
|
{
|
|
2913
3359
|
"type": "divider"
|
|
2914
3360
|
},
|
|
2915
3361
|
{
|
|
3362
|
+
"message": "Service is healthy. All requests are being processed.",
|
|
2916
3363
|
"type": "alert",
|
|
2917
|
-
"variant": "success"
|
|
2918
|
-
"message": "Service is healthy. All requests are being processed."
|
|
3364
|
+
"variant": "success"
|
|
2919
3365
|
},
|
|
2920
3366
|
{
|
|
2921
|
-
"type": "simple-grid",
|
|
2922
|
-
"columns": 2,
|
|
2923
3367
|
"children": [
|
|
2924
3368
|
{
|
|
2925
|
-
"type": "stat-display",
|
|
2926
|
-
"label": "Failures",
|
|
2927
3369
|
"value": [
|
|
2928
3370
|
"object/get",
|
|
2929
3371
|
[
|
|
@@ -2931,11 +3373,12 @@
|
|
|
2931
3373
|
"@entity"
|
|
2932
3374
|
],
|
|
2933
3375
|
"failureCount"
|
|
2934
|
-
]
|
|
3376
|
+
],
|
|
3377
|
+
"type": "stat-display",
|
|
3378
|
+
"label": "Failures"
|
|
2935
3379
|
},
|
|
2936
3380
|
{
|
|
2937
3381
|
"type": "stat-display",
|
|
2938
|
-
"label": "Successes",
|
|
2939
3382
|
"value": [
|
|
2940
3383
|
"object/get",
|
|
2941
3384
|
[
|
|
@@ -2943,31 +3386,52 @@
|
|
|
2943
3386
|
"@entity"
|
|
2944
3387
|
],
|
|
2945
3388
|
"successCount"
|
|
2946
|
-
]
|
|
3389
|
+
],
|
|
3390
|
+
"label": "Successes"
|
|
2947
3391
|
}
|
|
2948
|
-
]
|
|
3392
|
+
],
|
|
3393
|
+
"type": "simple-grid",
|
|
3394
|
+
"columns": 2.0
|
|
2949
3395
|
},
|
|
2950
3396
|
{
|
|
2951
|
-
"
|
|
2952
|
-
"
|
|
3397
|
+
"min": 0.0,
|
|
3398
|
+
"max": [
|
|
2953
3399
|
"object/get",
|
|
2954
3400
|
[
|
|
2955
3401
|
"array/first",
|
|
2956
3402
|
"@entity"
|
|
2957
3403
|
],
|
|
2958
|
-
"
|
|
3404
|
+
"threshold"
|
|
2959
3405
|
],
|
|
2960
|
-
"
|
|
2961
|
-
"
|
|
3406
|
+
"type": "meter",
|
|
3407
|
+
"value": [
|
|
2962
3408
|
"object/get",
|
|
2963
3409
|
[
|
|
2964
3410
|
"array/first",
|
|
2965
3411
|
"@entity"
|
|
2966
3412
|
],
|
|
2967
|
-
"
|
|
3413
|
+
"failureCount"
|
|
2968
3414
|
]
|
|
2969
3415
|
}
|
|
2970
|
-
]
|
|
3416
|
+
],
|
|
3417
|
+
"type": "stack"
|
|
3418
|
+
}
|
|
3419
|
+
],
|
|
3420
|
+
"navItems": [
|
|
3421
|
+
{
|
|
3422
|
+
"icon": "layout-list",
|
|
3423
|
+
"label": "Sensors",
|
|
3424
|
+
"href": "/sensors"
|
|
3425
|
+
},
|
|
3426
|
+
{
|
|
3427
|
+
"href": "/devices",
|
|
3428
|
+
"icon": "cpu",
|
|
3429
|
+
"label": "Devices"
|
|
3430
|
+
},
|
|
3431
|
+
{
|
|
3432
|
+
"icon": "bell",
|
|
3433
|
+
"label": "Alerts",
|
|
3434
|
+
"href": "/alerts"
|
|
2971
3435
|
}
|
|
2972
3436
|
]
|
|
2973
3437
|
}
|
|
@@ -2983,17 +3447,15 @@
|
|
|
2983
3447
|
"render-ui",
|
|
2984
3448
|
"main",
|
|
2985
3449
|
{
|
|
2986
|
-
"type": "dashboard-layout",
|
|
2987
|
-
"appName": "IoT Dashboard",
|
|
2988
3450
|
"navItems": [
|
|
2989
3451
|
{
|
|
2990
|
-
"label": "Sensors",
|
|
2991
3452
|
"href": "/sensors",
|
|
2992
|
-
"icon": "layout-list"
|
|
3453
|
+
"icon": "layout-list",
|
|
3454
|
+
"label": "Sensors"
|
|
2993
3455
|
},
|
|
2994
3456
|
{
|
|
2995
|
-
"label": "Devices",
|
|
2996
3457
|
"href": "/devices",
|
|
3458
|
+
"label": "Devices",
|
|
2997
3459
|
"icon": "cpu"
|
|
2998
3460
|
},
|
|
2999
3461
|
{
|
|
@@ -3002,36 +3464,32 @@
|
|
|
3002
3464
|
"icon": "bell"
|
|
3003
3465
|
}
|
|
3004
3466
|
],
|
|
3467
|
+
"type": "dashboard-layout",
|
|
3005
3468
|
"children": [
|
|
3006
3469
|
{
|
|
3007
|
-
"type": "stack",
|
|
3008
|
-
"direction": "vertical",
|
|
3009
3470
|
"gap": "lg",
|
|
3010
3471
|
"children": [
|
|
3011
3472
|
{
|
|
3012
3473
|
"type": "stack",
|
|
3013
|
-
"direction": "horizontal",
|
|
3014
|
-
"gap": "md",
|
|
3015
|
-
"align": "center",
|
|
3016
3474
|
"justify": "space-between",
|
|
3017
3475
|
"children": [
|
|
3018
3476
|
{
|
|
3019
|
-
"type": "stack",
|
|
3020
|
-
"direction": "horizontal",
|
|
3021
|
-
"gap": "md",
|
|
3022
|
-
"align": "center",
|
|
3023
3477
|
"children": [
|
|
3024
3478
|
{
|
|
3479
|
+
"size": "lg",
|
|
3025
3480
|
"type": "icon",
|
|
3026
|
-
"name": "alert-triangle"
|
|
3027
|
-
"size": "lg"
|
|
3481
|
+
"name": "alert-triangle"
|
|
3028
3482
|
},
|
|
3029
3483
|
{
|
|
3030
3484
|
"type": "typography",
|
|
3031
|
-
"
|
|
3032
|
-
"
|
|
3485
|
+
"variant": "h2",
|
|
3486
|
+
"content": "DeviceAlert"
|
|
3033
3487
|
}
|
|
3034
|
-
]
|
|
3488
|
+
],
|
|
3489
|
+
"direction": "horizontal",
|
|
3490
|
+
"align": "center",
|
|
3491
|
+
"gap": "md",
|
|
3492
|
+
"type": "stack"
|
|
3035
3493
|
},
|
|
3036
3494
|
{
|
|
3037
3495
|
"type": "status-dot",
|
|
@@ -3039,23 +3497,25 @@
|
|
|
3039
3497
|
"pulse": true,
|
|
3040
3498
|
"label": "Circuit Open"
|
|
3041
3499
|
}
|
|
3042
|
-
]
|
|
3500
|
+
],
|
|
3501
|
+
"direction": "horizontal",
|
|
3502
|
+
"gap": "md",
|
|
3503
|
+
"align": "center"
|
|
3043
3504
|
},
|
|
3044
3505
|
{
|
|
3045
3506
|
"type": "divider"
|
|
3046
3507
|
},
|
|
3047
3508
|
{
|
|
3509
|
+
"message": "Circuit is open. Requests are being rejected to prevent cascading failures.",
|
|
3048
3510
|
"type": "alert",
|
|
3049
|
-
"variant": "danger"
|
|
3050
|
-
"message": "Circuit is open. Requests are being rejected to prevent cascading failures."
|
|
3511
|
+
"variant": "danger"
|
|
3051
3512
|
},
|
|
3052
3513
|
{
|
|
3514
|
+
"columns": 2.0,
|
|
3053
3515
|
"type": "simple-grid",
|
|
3054
|
-
"columns": 2,
|
|
3055
3516
|
"children": [
|
|
3056
3517
|
{
|
|
3057
3518
|
"type": "stat-display",
|
|
3058
|
-
"label": "Failures",
|
|
3059
3519
|
"value": [
|
|
3060
3520
|
"object/get",
|
|
3061
3521
|
[
|
|
@@ -3063,11 +3523,10 @@
|
|
|
3063
3523
|
"@entity"
|
|
3064
3524
|
],
|
|
3065
3525
|
"failureCount"
|
|
3066
|
-
]
|
|
3526
|
+
],
|
|
3527
|
+
"label": "Failures"
|
|
3067
3528
|
},
|
|
3068
3529
|
{
|
|
3069
|
-
"type": "stat-display",
|
|
3070
|
-
"label": "Successes",
|
|
3071
3530
|
"value": [
|
|
3072
3531
|
"object/get",
|
|
3073
3532
|
[
|
|
@@ -3075,12 +3534,14 @@
|
|
|
3075
3534
|
"@entity"
|
|
3076
3535
|
],
|
|
3077
3536
|
"successCount"
|
|
3078
|
-
]
|
|
3079
|
-
|
|
3537
|
+
],
|
|
3538
|
+
"label": "Successes",
|
|
3539
|
+
"type": "stat-display"
|
|
3540
|
+
}
|
|
3080
3541
|
]
|
|
3081
3542
|
},
|
|
3082
3543
|
{
|
|
3083
|
-
"
|
|
3544
|
+
"min": 0.0,
|
|
3084
3545
|
"value": [
|
|
3085
3546
|
"object/get",
|
|
3086
3547
|
[
|
|
@@ -3089,7 +3550,7 @@
|
|
|
3089
3550
|
],
|
|
3090
3551
|
"failureCount"
|
|
3091
3552
|
],
|
|
3092
|
-
"
|
|
3553
|
+
"type": "meter",
|
|
3093
3554
|
"max": [
|
|
3094
3555
|
"object/get",
|
|
3095
3556
|
[
|
|
@@ -3101,14 +3562,17 @@
|
|
|
3101
3562
|
},
|
|
3102
3563
|
{
|
|
3103
3564
|
"type": "button",
|
|
3104
|
-
"label": "Reset",
|
|
3105
|
-
"event": "RESET",
|
|
3106
3565
|
"variant": "ghost",
|
|
3107
|
-
"icon": "rotate-ccw"
|
|
3566
|
+
"icon": "rotate-ccw",
|
|
3567
|
+
"label": "Reset",
|
|
3568
|
+
"event": "RESET"
|
|
3108
3569
|
}
|
|
3109
|
-
]
|
|
3570
|
+
],
|
|
3571
|
+
"direction": "vertical",
|
|
3572
|
+
"type": "stack"
|
|
3110
3573
|
}
|
|
3111
|
-
]
|
|
3574
|
+
],
|
|
3575
|
+
"appName": "IoT Dashboard"
|
|
3112
3576
|
}
|
|
3113
3577
|
]
|
|
3114
3578
|
]
|
|
@@ -3122,75 +3586,53 @@
|
|
|
3122
3586
|
"render-ui",
|
|
3123
3587
|
"main",
|
|
3124
3588
|
{
|
|
3125
|
-
"type": "dashboard-layout",
|
|
3126
|
-
"appName": "IoT Dashboard",
|
|
3127
|
-
"navItems": [
|
|
3128
|
-
{
|
|
3129
|
-
"label": "Sensors",
|
|
3130
|
-
"href": "/sensors",
|
|
3131
|
-
"icon": "layout-list"
|
|
3132
|
-
},
|
|
3133
|
-
{
|
|
3134
|
-
"label": "Devices",
|
|
3135
|
-
"href": "/devices",
|
|
3136
|
-
"icon": "cpu"
|
|
3137
|
-
},
|
|
3138
|
-
{
|
|
3139
|
-
"label": "Alerts",
|
|
3140
|
-
"href": "/alerts",
|
|
3141
|
-
"icon": "bell"
|
|
3142
|
-
}
|
|
3143
|
-
],
|
|
3144
3589
|
"children": [
|
|
3145
3590
|
{
|
|
3146
|
-
"type": "stack",
|
|
3147
|
-
"direction": "vertical",
|
|
3148
3591
|
"gap": "lg",
|
|
3592
|
+
"direction": "vertical",
|
|
3149
3593
|
"children": [
|
|
3150
3594
|
{
|
|
3151
|
-
"type": "stack",
|
|
3152
|
-
"direction": "horizontal",
|
|
3153
|
-
"gap": "md",
|
|
3154
3595
|
"align": "center",
|
|
3155
3596
|
"justify": "space-between",
|
|
3597
|
+
"gap": "md",
|
|
3156
3598
|
"children": [
|
|
3157
3599
|
{
|
|
3158
|
-
"type": "stack",
|
|
3159
|
-
"direction": "horizontal",
|
|
3160
|
-
"gap": "md",
|
|
3161
|
-
"align": "center",
|
|
3162
3600
|
"children": [
|
|
3163
3601
|
{
|
|
3164
|
-
"type": "icon",
|
|
3165
3602
|
"name": "bell",
|
|
3166
|
-
"size": "lg"
|
|
3603
|
+
"size": "lg",
|
|
3604
|
+
"type": "icon"
|
|
3167
3605
|
},
|
|
3168
3606
|
{
|
|
3169
|
-
"
|
|
3607
|
+
"variant": "h2",
|
|
3170
3608
|
"content": "DeviceAlert",
|
|
3171
|
-
"
|
|
3609
|
+
"type": "typography"
|
|
3172
3610
|
}
|
|
3173
|
-
]
|
|
3611
|
+
],
|
|
3612
|
+
"gap": "md",
|
|
3613
|
+
"direction": "horizontal",
|
|
3614
|
+
"type": "stack",
|
|
3615
|
+
"align": "center"
|
|
3174
3616
|
},
|
|
3175
3617
|
{
|
|
3176
|
-
"
|
|
3177
|
-
"status": "success",
|
|
3618
|
+
"label": "Circuit Closed",
|
|
3178
3619
|
"pulse": false,
|
|
3179
|
-
"
|
|
3620
|
+
"status": "success",
|
|
3621
|
+
"type": "status-dot"
|
|
3180
3622
|
}
|
|
3181
|
-
]
|
|
3623
|
+
],
|
|
3624
|
+
"type": "stack",
|
|
3625
|
+
"direction": "horizontal"
|
|
3182
3626
|
},
|
|
3183
3627
|
{
|
|
3184
3628
|
"type": "divider"
|
|
3185
3629
|
},
|
|
3186
3630
|
{
|
|
3187
|
-
"type": "alert",
|
|
3188
3631
|
"variant": "success",
|
|
3632
|
+
"type": "alert",
|
|
3189
3633
|
"message": "Service is healthy. All requests are being processed."
|
|
3190
3634
|
},
|
|
3191
3635
|
{
|
|
3192
|
-
"type": "simple-grid",
|
|
3193
|
-
"columns": 2,
|
|
3194
3636
|
"children": [
|
|
3195
3637
|
{
|
|
3196
3638
|
"type": "stat-display",
|
|
@@ -3205,7 +3647,6 @@
|
|
|
3205
3647
|
]
|
|
3206
3648
|
},
|
|
3207
3649
|
{
|
|
3208
|
-
"type": "stat-display",
|
|
3209
3650
|
"label": "Successes",
|
|
3210
3651
|
"value": [
|
|
3211
3652
|
"object/get",
|
|
@@ -3214,31 +3655,54 @@
|
|
|
3214
3655
|
"@entity"
|
|
3215
3656
|
],
|
|
3216
3657
|
"successCount"
|
|
3217
|
-
]
|
|
3658
|
+
],
|
|
3659
|
+
"type": "stat-display"
|
|
3218
3660
|
}
|
|
3219
|
-
]
|
|
3661
|
+
],
|
|
3662
|
+
"columns": 2.0,
|
|
3663
|
+
"type": "simple-grid"
|
|
3220
3664
|
},
|
|
3221
3665
|
{
|
|
3222
|
-
"
|
|
3223
|
-
"value": [
|
|
3666
|
+
"max": [
|
|
3224
3667
|
"object/get",
|
|
3225
3668
|
[
|
|
3226
3669
|
"array/first",
|
|
3227
3670
|
"@entity"
|
|
3228
3671
|
],
|
|
3229
|
-
"
|
|
3672
|
+
"threshold"
|
|
3230
3673
|
],
|
|
3231
|
-
"min": 0,
|
|
3232
|
-
"
|
|
3674
|
+
"min": 0.0,
|
|
3675
|
+
"value": [
|
|
3233
3676
|
"object/get",
|
|
3234
3677
|
[
|
|
3235
3678
|
"array/first",
|
|
3236
3679
|
"@entity"
|
|
3237
3680
|
],
|
|
3238
|
-
"
|
|
3239
|
-
]
|
|
3681
|
+
"failureCount"
|
|
3682
|
+
],
|
|
3683
|
+
"type": "meter"
|
|
3240
3684
|
}
|
|
3241
|
-
]
|
|
3685
|
+
],
|
|
3686
|
+
"type": "stack"
|
|
3687
|
+
}
|
|
3688
|
+
],
|
|
3689
|
+
"type": "dashboard-layout",
|
|
3690
|
+
"appName": "IoT Dashboard",
|
|
3691
|
+
"navItems": [
|
|
3692
|
+
{
|
|
3693
|
+
"label": "Sensors",
|
|
3694
|
+
"icon": "layout-list",
|
|
3695
|
+
"href": "/sensors"
|
|
3696
|
+
},
|
|
3697
|
+
{
|
|
3698
|
+
"label": "Devices",
|
|
3699
|
+
"icon": "cpu",
|
|
3700
|
+
"href": "/devices"
|
|
3701
|
+
},
|
|
3702
|
+
{
|
|
3703
|
+
"label": "Alerts",
|
|
3704
|
+
"href": "/alerts",
|
|
3705
|
+
"icon": "bell"
|
|
3242
3706
|
}
|
|
3243
3707
|
]
|
|
3244
3708
|
}
|
|
@@ -3254,7 +3718,6 @@
|
|
|
3254
3718
|
"render-ui",
|
|
3255
3719
|
"main",
|
|
3256
3720
|
{
|
|
3257
|
-
"type": "dashboard-layout",
|
|
3258
3721
|
"appName": "IoT Dashboard",
|
|
3259
3722
|
"navItems": [
|
|
3260
3723
|
{
|
|
@@ -3268,29 +3731,21 @@
|
|
|
3268
3731
|
"icon": "cpu"
|
|
3269
3732
|
},
|
|
3270
3733
|
{
|
|
3271
|
-
"
|
|
3734
|
+
"icon": "bell",
|
|
3272
3735
|
"href": "/alerts",
|
|
3273
|
-
"
|
|
3736
|
+
"label": "Alerts"
|
|
3274
3737
|
}
|
|
3275
3738
|
],
|
|
3276
3739
|
"children": [
|
|
3277
3740
|
{
|
|
3278
|
-
"type": "stack",
|
|
3279
|
-
"direction": "vertical",
|
|
3280
|
-
"gap": "lg",
|
|
3281
3741
|
"children": [
|
|
3282
3742
|
{
|
|
3283
|
-
"type": "stack",
|
|
3284
|
-
"direction": "horizontal",
|
|
3285
|
-
"gap": "md",
|
|
3286
|
-
"align": "center",
|
|
3287
|
-
"justify": "space-between",
|
|
3288
3743
|
"children": [
|
|
3289
3744
|
{
|
|
3745
|
+
"align": "center",
|
|
3290
3746
|
"type": "stack",
|
|
3291
|
-
"direction": "horizontal",
|
|
3292
3747
|
"gap": "md",
|
|
3293
|
-
"
|
|
3748
|
+
"direction": "horizontal",
|
|
3294
3749
|
"children": [
|
|
3295
3750
|
{
|
|
3296
3751
|
"type": "icon",
|
|
@@ -3306,27 +3761,31 @@
|
|
|
3306
3761
|
},
|
|
3307
3762
|
{
|
|
3308
3763
|
"type": "status-dot",
|
|
3764
|
+
"label": "Circuit Half-Open",
|
|
3309
3765
|
"status": "warning",
|
|
3310
|
-
"pulse": true
|
|
3311
|
-
"label": "Circuit Half-Open"
|
|
3766
|
+
"pulse": true
|
|
3312
3767
|
}
|
|
3313
|
-
]
|
|
3768
|
+
],
|
|
3769
|
+
"type": "stack",
|
|
3770
|
+
"justify": "space-between",
|
|
3771
|
+
"direction": "horizontal",
|
|
3772
|
+
"gap": "md",
|
|
3773
|
+
"align": "center"
|
|
3314
3774
|
},
|
|
3315
3775
|
{
|
|
3316
3776
|
"type": "divider"
|
|
3317
3777
|
},
|
|
3318
3778
|
{
|
|
3319
|
-
"type": "alert",
|
|
3320
3779
|
"variant": "warning",
|
|
3780
|
+
"type": "alert",
|
|
3321
3781
|
"message": "Testing recovery. Limited requests are being allowed through."
|
|
3322
3782
|
},
|
|
3323
3783
|
{
|
|
3324
3784
|
"type": "simple-grid",
|
|
3325
|
-
"columns": 2,
|
|
3785
|
+
"columns": 2.0,
|
|
3326
3786
|
"children": [
|
|
3327
3787
|
{
|
|
3328
3788
|
"type": "stat-display",
|
|
3329
|
-
"label": "Failures",
|
|
3330
3789
|
"value": [
|
|
3331
3790
|
"object/get",
|
|
3332
3791
|
[
|
|
@@ -3334,11 +3793,12 @@
|
|
|
3334
3793
|
"@entity"
|
|
3335
3794
|
],
|
|
3336
3795
|
"failureCount"
|
|
3337
|
-
]
|
|
3796
|
+
],
|
|
3797
|
+
"label": "Failures"
|
|
3338
3798
|
},
|
|
3339
3799
|
{
|
|
3340
|
-
"type": "stat-display",
|
|
3341
3800
|
"label": "Successes",
|
|
3801
|
+
"type": "stat-display",
|
|
3342
3802
|
"value": [
|
|
3343
3803
|
"object/get",
|
|
3344
3804
|
[
|
|
@@ -3350,9 +3810,13 @@
|
|
|
3350
3810
|
}
|
|
3351
3811
|
]
|
|
3352
3812
|
}
|
|
3353
|
-
]
|
|
3813
|
+
],
|
|
3814
|
+
"gap": "lg",
|
|
3815
|
+
"direction": "vertical",
|
|
3816
|
+
"type": "stack"
|
|
3354
3817
|
}
|
|
3355
|
-
]
|
|
3818
|
+
],
|
|
3819
|
+
"type": "dashboard-layout"
|
|
3356
3820
|
}
|
|
3357
3821
|
]
|
|
3358
3822
|
]
|
|
@@ -3366,79 +3830,54 @@
|
|
|
3366
3830
|
"render-ui",
|
|
3367
3831
|
"main",
|
|
3368
3832
|
{
|
|
3369
|
-
"type": "dashboard-layout",
|
|
3370
|
-
"appName": "IoT Dashboard",
|
|
3371
|
-
"navItems": [
|
|
3372
|
-
{
|
|
3373
|
-
"label": "Sensors",
|
|
3374
|
-
"href": "/sensors",
|
|
3375
|
-
"icon": "layout-list"
|
|
3376
|
-
},
|
|
3377
|
-
{
|
|
3378
|
-
"label": "Devices",
|
|
3379
|
-
"href": "/devices",
|
|
3380
|
-
"icon": "cpu"
|
|
3381
|
-
},
|
|
3382
|
-
{
|
|
3383
|
-
"label": "Alerts",
|
|
3384
|
-
"href": "/alerts",
|
|
3385
|
-
"icon": "bell"
|
|
3386
|
-
}
|
|
3387
|
-
],
|
|
3388
3833
|
"children": [
|
|
3389
3834
|
{
|
|
3390
|
-
"type": "stack",
|
|
3391
|
-
"direction": "vertical",
|
|
3392
|
-
"gap": "lg",
|
|
3393
3835
|
"children": [
|
|
3394
3836
|
{
|
|
3395
|
-
"type": "stack",
|
|
3396
|
-
"direction": "horizontal",
|
|
3397
|
-
"gap": "md",
|
|
3398
3837
|
"align": "center",
|
|
3399
|
-
"justify": "space-between",
|
|
3400
3838
|
"children": [
|
|
3401
3839
|
{
|
|
3840
|
+
"align": "center",
|
|
3841
|
+
"gap": "md",
|
|
3402
3842
|
"type": "stack",
|
|
3403
3843
|
"direction": "horizontal",
|
|
3404
|
-
"gap": "md",
|
|
3405
|
-
"align": "center",
|
|
3406
3844
|
"children": [
|
|
3407
3845
|
{
|
|
3408
|
-
"
|
|
3846
|
+
"size": "lg",
|
|
3409
3847
|
"name": "bell",
|
|
3410
|
-
"
|
|
3848
|
+
"type": "icon"
|
|
3411
3849
|
},
|
|
3412
3850
|
{
|
|
3413
|
-
"type": "typography",
|
|
3414
3851
|
"content": "DeviceAlert",
|
|
3415
|
-
"variant": "h2"
|
|
3852
|
+
"variant": "h2",
|
|
3853
|
+
"type": "typography"
|
|
3416
3854
|
}
|
|
3417
3855
|
]
|
|
3418
3856
|
},
|
|
3419
3857
|
{
|
|
3420
|
-
"
|
|
3858
|
+
"label": "Circuit Closed",
|
|
3421
3859
|
"status": "success",
|
|
3422
3860
|
"pulse": false,
|
|
3423
|
-
"
|
|
3861
|
+
"type": "status-dot"
|
|
3424
3862
|
}
|
|
3425
|
-
]
|
|
3863
|
+
],
|
|
3864
|
+
"type": "stack",
|
|
3865
|
+
"gap": "md",
|
|
3866
|
+
"justify": "space-between",
|
|
3867
|
+
"direction": "horizontal"
|
|
3426
3868
|
},
|
|
3427
3869
|
{
|
|
3428
3870
|
"type": "divider"
|
|
3429
3871
|
},
|
|
3430
3872
|
{
|
|
3431
|
-
"type": "alert",
|
|
3432
3873
|
"variant": "success",
|
|
3874
|
+
"type": "alert",
|
|
3433
3875
|
"message": "Service is healthy. All requests are being processed."
|
|
3434
3876
|
},
|
|
3435
3877
|
{
|
|
3436
3878
|
"type": "simple-grid",
|
|
3437
|
-
"columns": 2,
|
|
3438
3879
|
"children": [
|
|
3439
3880
|
{
|
|
3440
|
-
"type": "stat-display",
|
|
3441
|
-
"label": "Failures",
|
|
3442
3881
|
"value": [
|
|
3443
3882
|
"object/get",
|
|
3444
3883
|
[
|
|
@@ -3446,10 +3885,11 @@
|
|
|
3446
3885
|
"@entity"
|
|
3447
3886
|
],
|
|
3448
3887
|
"failureCount"
|
|
3449
|
-
]
|
|
3888
|
+
],
|
|
3889
|
+
"type": "stat-display",
|
|
3890
|
+
"label": "Failures"
|
|
3450
3891
|
},
|
|
3451
3892
|
{
|
|
3452
|
-
"type": "stat-display",
|
|
3453
3893
|
"label": "Successes",
|
|
3454
3894
|
"value": [
|
|
3455
3895
|
"object/get",
|
|
@@ -3458,9 +3898,11 @@
|
|
|
3458
3898
|
"@entity"
|
|
3459
3899
|
],
|
|
3460
3900
|
"successCount"
|
|
3461
|
-
]
|
|
3901
|
+
],
|
|
3902
|
+
"type": "stat-display"
|
|
3462
3903
|
}
|
|
3463
|
-
]
|
|
3904
|
+
],
|
|
3905
|
+
"columns": 2.0
|
|
3464
3906
|
},
|
|
3465
3907
|
{
|
|
3466
3908
|
"type": "meter",
|
|
@@ -3472,7 +3914,7 @@
|
|
|
3472
3914
|
],
|
|
3473
3915
|
"failureCount"
|
|
3474
3916
|
],
|
|
3475
|
-
"min": 0,
|
|
3917
|
+
"min": 0.0,
|
|
3476
3918
|
"max": [
|
|
3477
3919
|
"object/get",
|
|
3478
3920
|
[
|
|
@@ -3482,7 +3924,29 @@
|
|
|
3482
3924
|
"threshold"
|
|
3483
3925
|
]
|
|
3484
3926
|
}
|
|
3485
|
-
]
|
|
3927
|
+
],
|
|
3928
|
+
"direction": "vertical",
|
|
3929
|
+
"type": "stack",
|
|
3930
|
+
"gap": "lg"
|
|
3931
|
+
}
|
|
3932
|
+
],
|
|
3933
|
+
"type": "dashboard-layout",
|
|
3934
|
+
"appName": "IoT Dashboard",
|
|
3935
|
+
"navItems": [
|
|
3936
|
+
{
|
|
3937
|
+
"label": "Sensors",
|
|
3938
|
+
"href": "/sensors",
|
|
3939
|
+
"icon": "layout-list"
|
|
3940
|
+
},
|
|
3941
|
+
{
|
|
3942
|
+
"href": "/devices",
|
|
3943
|
+
"icon": "cpu",
|
|
3944
|
+
"label": "Devices"
|
|
3945
|
+
},
|
|
3946
|
+
{
|
|
3947
|
+
"href": "/alerts",
|
|
3948
|
+
"icon": "bell",
|
|
3949
|
+
"label": "Alerts"
|
|
3486
3950
|
}
|
|
3487
3951
|
]
|
|
3488
3952
|
}
|
|
@@ -3499,41 +3963,18 @@
|
|
|
3499
3963
|
"main",
|
|
3500
3964
|
{
|
|
3501
3965
|
"type": "dashboard-layout",
|
|
3502
|
-
"appName": "IoT Dashboard",
|
|
3503
|
-
"navItems": [
|
|
3504
|
-
{
|
|
3505
|
-
"label": "Sensors",
|
|
3506
|
-
"href": "/sensors",
|
|
3507
|
-
"icon": "layout-list"
|
|
3508
|
-
},
|
|
3509
|
-
{
|
|
3510
|
-
"label": "Devices",
|
|
3511
|
-
"href": "/devices",
|
|
3512
|
-
"icon": "cpu"
|
|
3513
|
-
},
|
|
3514
|
-
{
|
|
3515
|
-
"label": "Alerts",
|
|
3516
|
-
"href": "/alerts",
|
|
3517
|
-
"icon": "bell"
|
|
3518
|
-
}
|
|
3519
|
-
],
|
|
3520
3966
|
"children": [
|
|
3521
3967
|
{
|
|
3522
|
-
"type": "stack",
|
|
3523
|
-
"direction": "vertical",
|
|
3524
|
-
"gap": "lg",
|
|
3525
3968
|
"children": [
|
|
3526
3969
|
{
|
|
3527
|
-
"type": "stack",
|
|
3528
3970
|
"direction": "horizontal",
|
|
3971
|
+
"type": "stack",
|
|
3529
3972
|
"gap": "md",
|
|
3530
|
-
"align": "center",
|
|
3531
3973
|
"justify": "space-between",
|
|
3974
|
+
"align": "center",
|
|
3532
3975
|
"children": [
|
|
3533
3976
|
{
|
|
3534
3977
|
"type": "stack",
|
|
3535
|
-
"direction": "horizontal",
|
|
3536
|
-
"gap": "md",
|
|
3537
3978
|
"align": "center",
|
|
3538
3979
|
"children": [
|
|
3539
3980
|
{
|
|
@@ -3546,13 +3987,15 @@
|
|
|
3546
3987
|
"content": "DeviceAlert",
|
|
3547
3988
|
"variant": "h2"
|
|
3548
3989
|
}
|
|
3549
|
-
]
|
|
3990
|
+
],
|
|
3991
|
+
"gap": "md",
|
|
3992
|
+
"direction": "horizontal"
|
|
3550
3993
|
},
|
|
3551
3994
|
{
|
|
3552
|
-
"
|
|
3553
|
-
"status": "success",
|
|
3995
|
+
"label": "Circuit Closed",
|
|
3554
3996
|
"pulse": false,
|
|
3555
|
-
"
|
|
3997
|
+
"type": "status-dot",
|
|
3998
|
+
"status": "success"
|
|
3556
3999
|
}
|
|
3557
4000
|
]
|
|
3558
4001
|
},
|
|
@@ -3560,16 +4003,14 @@
|
|
|
3560
4003
|
"type": "divider"
|
|
3561
4004
|
},
|
|
3562
4005
|
{
|
|
3563
|
-
"type": "alert",
|
|
3564
4006
|
"variant": "success",
|
|
4007
|
+
"type": "alert",
|
|
3565
4008
|
"message": "Service is healthy. All requests are being processed."
|
|
3566
4009
|
},
|
|
3567
4010
|
{
|
|
3568
|
-
"
|
|
3569
|
-
"columns": 2,
|
|
4011
|
+
"columns": 2.0,
|
|
3570
4012
|
"children": [
|
|
3571
4013
|
{
|
|
3572
|
-
"type": "stat-display",
|
|
3573
4014
|
"label": "Failures",
|
|
3574
4015
|
"value": [
|
|
3575
4016
|
"object/get",
|
|
@@ -3578,7 +4019,8 @@
|
|
|
3578
4019
|
"@entity"
|
|
3579
4020
|
],
|
|
3580
4021
|
"failureCount"
|
|
3581
|
-
]
|
|
4022
|
+
],
|
|
4023
|
+
"type": "stat-display"
|
|
3582
4024
|
},
|
|
3583
4025
|
{
|
|
3584
4026
|
"type": "stat-display",
|
|
@@ -3592,10 +4034,11 @@
|
|
|
3592
4034
|
"successCount"
|
|
3593
4035
|
]
|
|
3594
4036
|
}
|
|
3595
|
-
]
|
|
4037
|
+
],
|
|
4038
|
+
"type": "simple-grid"
|
|
3596
4039
|
},
|
|
3597
4040
|
{
|
|
3598
|
-
"
|
|
4041
|
+
"min": 0.0,
|
|
3599
4042
|
"value": [
|
|
3600
4043
|
"object/get",
|
|
3601
4044
|
[
|
|
@@ -3604,7 +4047,6 @@
|
|
|
3604
4047
|
],
|
|
3605
4048
|
"failureCount"
|
|
3606
4049
|
],
|
|
3607
|
-
"min": 0,
|
|
3608
4050
|
"max": [
|
|
3609
4051
|
"object/get",
|
|
3610
4052
|
[
|
|
@@ -3612,9 +4054,31 @@
|
|
|
3612
4054
|
"@entity"
|
|
3613
4055
|
],
|
|
3614
4056
|
"threshold"
|
|
3615
|
-
]
|
|
4057
|
+
],
|
|
4058
|
+
"type": "meter"
|
|
3616
4059
|
}
|
|
3617
|
-
]
|
|
4060
|
+
],
|
|
4061
|
+
"direction": "vertical",
|
|
4062
|
+
"gap": "lg",
|
|
4063
|
+
"type": "stack"
|
|
4064
|
+
}
|
|
4065
|
+
],
|
|
4066
|
+
"appName": "IoT Dashboard",
|
|
4067
|
+
"navItems": [
|
|
4068
|
+
{
|
|
4069
|
+
"label": "Sensors",
|
|
4070
|
+
"href": "/sensors",
|
|
4071
|
+
"icon": "layout-list"
|
|
4072
|
+
},
|
|
4073
|
+
{
|
|
4074
|
+
"icon": "cpu",
|
|
4075
|
+
"label": "Devices",
|
|
4076
|
+
"href": "/devices"
|
|
4077
|
+
},
|
|
4078
|
+
{
|
|
4079
|
+
"icon": "bell",
|
|
4080
|
+
"label": "Alerts",
|
|
4081
|
+
"href": "/alerts"
|
|
3618
4082
|
}
|
|
3619
4083
|
]
|
|
3620
4084
|
}
|
|
@@ -3630,17 +4094,17 @@
|
|
|
3630
4094
|
"render-ui",
|
|
3631
4095
|
"main",
|
|
3632
4096
|
{
|
|
3633
|
-
"type": "dashboard-layout",
|
|
3634
4097
|
"appName": "IoT Dashboard",
|
|
4098
|
+
"type": "dashboard-layout",
|
|
3635
4099
|
"navItems": [
|
|
3636
4100
|
{
|
|
3637
|
-
"label": "Sensors",
|
|
3638
4101
|
"href": "/sensors",
|
|
3639
|
-
"icon": "layout-list"
|
|
4102
|
+
"icon": "layout-list",
|
|
4103
|
+
"label": "Sensors"
|
|
3640
4104
|
},
|
|
3641
4105
|
{
|
|
3642
|
-
"label": "Devices",
|
|
3643
4106
|
"href": "/devices",
|
|
4107
|
+
"label": "Devices",
|
|
3644
4108
|
"icon": "cpu"
|
|
3645
4109
|
},
|
|
3646
4110
|
{
|
|
@@ -3651,22 +4115,16 @@
|
|
|
3651
4115
|
],
|
|
3652
4116
|
"children": [
|
|
3653
4117
|
{
|
|
3654
|
-
"type": "stack",
|
|
3655
4118
|
"direction": "vertical",
|
|
3656
|
-
"gap": "lg",
|
|
3657
4119
|
"children": [
|
|
3658
4120
|
{
|
|
3659
|
-
"type": "stack",
|
|
3660
4121
|
"direction": "horizontal",
|
|
3661
|
-
"
|
|
4122
|
+
"type": "stack",
|
|
3662
4123
|
"align": "center",
|
|
4124
|
+
"gap": "md",
|
|
3663
4125
|
"justify": "space-between",
|
|
3664
4126
|
"children": [
|
|
3665
4127
|
{
|
|
3666
|
-
"type": "stack",
|
|
3667
|
-
"direction": "horizontal",
|
|
3668
|
-
"gap": "md",
|
|
3669
|
-
"align": "center",
|
|
3670
4128
|
"children": [
|
|
3671
4129
|
{
|
|
3672
4130
|
"type": "icon",
|
|
@@ -3675,16 +4133,20 @@
|
|
|
3675
4133
|
},
|
|
3676
4134
|
{
|
|
3677
4135
|
"type": "typography",
|
|
3678
|
-
"
|
|
3679
|
-
"
|
|
4136
|
+
"variant": "h2",
|
|
4137
|
+
"content": "DeviceAlert"
|
|
3680
4138
|
}
|
|
3681
|
-
]
|
|
4139
|
+
],
|
|
4140
|
+
"gap": "md",
|
|
4141
|
+
"type": "stack",
|
|
4142
|
+
"direction": "horizontal",
|
|
4143
|
+
"align": "center"
|
|
3682
4144
|
},
|
|
3683
4145
|
{
|
|
3684
|
-
"type": "status-dot",
|
|
3685
4146
|
"status": "error",
|
|
4147
|
+
"label": "Circuit Open",
|
|
3686
4148
|
"pulse": true,
|
|
3687
|
-
"
|
|
4149
|
+
"type": "status-dot"
|
|
3688
4150
|
}
|
|
3689
4151
|
]
|
|
3690
4152
|
},
|
|
@@ -3697,8 +4159,6 @@
|
|
|
3697
4159
|
"message": "Circuit is open. Requests are being rejected to prevent cascading failures."
|
|
3698
4160
|
},
|
|
3699
4161
|
{
|
|
3700
|
-
"type": "simple-grid",
|
|
3701
|
-
"columns": 2,
|
|
3702
4162
|
"children": [
|
|
3703
4163
|
{
|
|
3704
4164
|
"type": "stat-display",
|
|
@@ -3713,8 +4173,6 @@
|
|
|
3713
4173
|
]
|
|
3714
4174
|
},
|
|
3715
4175
|
{
|
|
3716
|
-
"type": "stat-display",
|
|
3717
|
-
"label": "Successes",
|
|
3718
4176
|
"value": [
|
|
3719
4177
|
"object/get",
|
|
3720
4178
|
[
|
|
@@ -3722,38 +4180,44 @@
|
|
|
3722
4180
|
"@entity"
|
|
3723
4181
|
],
|
|
3724
4182
|
"successCount"
|
|
3725
|
-
]
|
|
4183
|
+
],
|
|
4184
|
+
"label": "Successes",
|
|
4185
|
+
"type": "stat-display"
|
|
3726
4186
|
}
|
|
3727
|
-
]
|
|
4187
|
+
],
|
|
4188
|
+
"columns": 2.0,
|
|
4189
|
+
"type": "simple-grid"
|
|
3728
4190
|
},
|
|
3729
4191
|
{
|
|
3730
|
-
"
|
|
3731
|
-
"value": [
|
|
4192
|
+
"max": [
|
|
3732
4193
|
"object/get",
|
|
3733
4194
|
[
|
|
3734
4195
|
"array/first",
|
|
3735
4196
|
"@entity"
|
|
3736
4197
|
],
|
|
3737
|
-
"
|
|
4198
|
+
"threshold"
|
|
3738
4199
|
],
|
|
3739
|
-
"
|
|
3740
|
-
"
|
|
4200
|
+
"type": "meter",
|
|
4201
|
+
"value": [
|
|
3741
4202
|
"object/get",
|
|
3742
4203
|
[
|
|
3743
4204
|
"array/first",
|
|
3744
4205
|
"@entity"
|
|
3745
4206
|
],
|
|
3746
|
-
"
|
|
3747
|
-
]
|
|
4207
|
+
"failureCount"
|
|
4208
|
+
],
|
|
4209
|
+
"min": 0.0
|
|
3748
4210
|
},
|
|
3749
4211
|
{
|
|
3750
|
-
"type": "button",
|
|
3751
|
-
"label": "Reset",
|
|
3752
|
-
"event": "RESET",
|
|
3753
4212
|
"variant": "ghost",
|
|
3754
|
-
"icon": "rotate-ccw"
|
|
4213
|
+
"icon": "rotate-ccw",
|
|
4214
|
+
"event": "RESET",
|
|
4215
|
+
"type": "button",
|
|
4216
|
+
"label": "Reset"
|
|
3755
4217
|
}
|
|
3756
|
-
]
|
|
4218
|
+
],
|
|
4219
|
+
"gap": "lg",
|
|
4220
|
+
"type": "stack"
|
|
3757
4221
|
}
|
|
3758
4222
|
]
|
|
3759
4223
|
}
|
|
@@ -3770,12 +4234,11 @@
|
|
|
3770
4234
|
"main",
|
|
3771
4235
|
{
|
|
3772
4236
|
"type": "dashboard-layout",
|
|
3773
|
-
"appName": "IoT Dashboard",
|
|
3774
4237
|
"navItems": [
|
|
3775
4238
|
{
|
|
4239
|
+
"icon": "layout-list",
|
|
3776
4240
|
"label": "Sensors",
|
|
3777
|
-
"href": "/sensors"
|
|
3778
|
-
"icon": "layout-list"
|
|
4241
|
+
"href": "/sensors"
|
|
3779
4242
|
},
|
|
3780
4243
|
{
|
|
3781
4244
|
"label": "Devices",
|
|
@@ -3783,29 +4246,28 @@
|
|
|
3783
4246
|
"icon": "cpu"
|
|
3784
4247
|
},
|
|
3785
4248
|
{
|
|
3786
|
-
"
|
|
4249
|
+
"icon": "bell",
|
|
3787
4250
|
"href": "/alerts",
|
|
3788
|
-
"
|
|
4251
|
+
"label": "Alerts"
|
|
3789
4252
|
}
|
|
3790
4253
|
],
|
|
4254
|
+
"appName": "IoT Dashboard",
|
|
3791
4255
|
"children": [
|
|
3792
4256
|
{
|
|
4257
|
+
"gap": "lg",
|
|
3793
4258
|
"type": "stack",
|
|
3794
4259
|
"direction": "vertical",
|
|
3795
|
-
"gap": "lg",
|
|
3796
4260
|
"children": [
|
|
3797
4261
|
{
|
|
3798
|
-
"type": "stack",
|
|
3799
|
-
"direction": "horizontal",
|
|
3800
|
-
"gap": "md",
|
|
3801
4262
|
"align": "center",
|
|
4263
|
+
"direction": "horizontal",
|
|
3802
4264
|
"justify": "space-between",
|
|
3803
4265
|
"children": [
|
|
3804
4266
|
{
|
|
3805
|
-
"
|
|
4267
|
+
"align": "center",
|
|
3806
4268
|
"direction": "horizontal",
|
|
4269
|
+
"type": "stack",
|
|
3807
4270
|
"gap": "md",
|
|
3808
|
-
"align": "center",
|
|
3809
4271
|
"children": [
|
|
3810
4272
|
{
|
|
3811
4273
|
"type": "icon",
|
|
@@ -3813,34 +4275,34 @@
|
|
|
3813
4275
|
"size": "lg"
|
|
3814
4276
|
},
|
|
3815
4277
|
{
|
|
4278
|
+
"variant": "h2",
|
|
3816
4279
|
"type": "typography",
|
|
3817
|
-
"content": "DeviceAlert"
|
|
3818
|
-
"variant": "h2"
|
|
4280
|
+
"content": "DeviceAlert"
|
|
3819
4281
|
}
|
|
3820
4282
|
]
|
|
3821
4283
|
},
|
|
3822
4284
|
{
|
|
3823
4285
|
"type": "status-dot",
|
|
3824
4286
|
"status": "success",
|
|
3825
|
-
"
|
|
3826
|
-
"
|
|
4287
|
+
"label": "Circuit Closed",
|
|
4288
|
+
"pulse": false
|
|
3827
4289
|
}
|
|
3828
|
-
]
|
|
4290
|
+
],
|
|
4291
|
+
"gap": "md",
|
|
4292
|
+
"type": "stack"
|
|
3829
4293
|
},
|
|
3830
4294
|
{
|
|
3831
4295
|
"type": "divider"
|
|
3832
4296
|
},
|
|
3833
4297
|
{
|
|
3834
4298
|
"type": "alert",
|
|
3835
|
-
"
|
|
3836
|
-
"
|
|
4299
|
+
"message": "Service is healthy. All requests are being processed.",
|
|
4300
|
+
"variant": "success"
|
|
3837
4301
|
},
|
|
3838
4302
|
{
|
|
3839
|
-
"
|
|
3840
|
-
"columns": 2,
|
|
4303
|
+
"columns": 2.0,
|
|
3841
4304
|
"children": [
|
|
3842
4305
|
{
|
|
3843
|
-
"type": "stat-display",
|
|
3844
4306
|
"label": "Failures",
|
|
3845
4307
|
"value": [
|
|
3846
4308
|
"object/get",
|
|
@@ -3849,11 +4311,10 @@
|
|
|
3849
4311
|
"@entity"
|
|
3850
4312
|
],
|
|
3851
4313
|
"failureCount"
|
|
3852
|
-
]
|
|
4314
|
+
],
|
|
4315
|
+
"type": "stat-display"
|
|
3853
4316
|
},
|
|
3854
4317
|
{
|
|
3855
|
-
"type": "stat-display",
|
|
3856
|
-
"label": "Successes",
|
|
3857
4318
|
"value": [
|
|
3858
4319
|
"object/get",
|
|
3859
4320
|
[
|
|
@@ -3861,28 +4322,31 @@
|
|
|
3861
4322
|
"@entity"
|
|
3862
4323
|
],
|
|
3863
4324
|
"successCount"
|
|
3864
|
-
]
|
|
4325
|
+
],
|
|
4326
|
+
"label": "Successes",
|
|
4327
|
+
"type": "stat-display"
|
|
3865
4328
|
}
|
|
3866
|
-
]
|
|
4329
|
+
],
|
|
4330
|
+
"type": "simple-grid"
|
|
3867
4331
|
},
|
|
3868
4332
|
{
|
|
3869
|
-
"
|
|
3870
|
-
"value": [
|
|
4333
|
+
"max": [
|
|
3871
4334
|
"object/get",
|
|
3872
4335
|
[
|
|
3873
4336
|
"array/first",
|
|
3874
4337
|
"@entity"
|
|
3875
4338
|
],
|
|
3876
|
-
"
|
|
4339
|
+
"threshold"
|
|
3877
4340
|
],
|
|
3878
|
-
"min": 0,
|
|
3879
|
-
"
|
|
4341
|
+
"min": 0.0,
|
|
4342
|
+
"type": "meter",
|
|
4343
|
+
"value": [
|
|
3880
4344
|
"object/get",
|
|
3881
4345
|
[
|
|
3882
4346
|
"array/first",
|
|
3883
4347
|
"@entity"
|
|
3884
4348
|
],
|
|
3885
|
-
"
|
|
4349
|
+
"failureCount"
|
|
3886
4350
|
]
|
|
3887
4351
|
}
|
|
3888
4352
|
]
|
|
@@ -3893,12 +4357,13 @@
|
|
|
3893
4357
|
]
|
|
3894
4358
|
}
|
|
3895
4359
|
]
|
|
3896
|
-
}
|
|
4360
|
+
},
|
|
4361
|
+
"scope": "collection"
|
|
3897
4362
|
}
|
|
3898
4363
|
],
|
|
3899
4364
|
"pages": [
|
|
3900
4365
|
{
|
|
3901
|
-
"name": "
|
|
4366
|
+
"name": "Alerts",
|
|
3902
4367
|
"path": "/alerts",
|
|
3903
4368
|
"traits": [
|
|
3904
4369
|
{
|
|
@@ -3909,4 +4374,4 @@
|
|
|
3909
4374
|
]
|
|
3910
4375
|
}
|
|
3911
4376
|
]
|
|
3912
|
-
}
|
|
4377
|
+
}
|