By using AWS re:Post, you agree to the Terms of Use

Questions tagged with AWS IoT TwinMaker

Sort by most recent
  • 1
  • 12 / page

Browse through the questions and answers listed below or filter and sort to narrow down your results.

IoT TwinMaker and Grafana integration where component has multiple list properties

Hello! I'm currently trying to create a dashboard where one component of an entity has multiple property definitions of the list type. My property definitions and lambda function seem to be operating as intended. Using the "Test" functionality in the AWS IoT TwinMaker console shows me the following: ``` { "assetId": { "propertyReference": { "componentName": "master_task_list", "entityId": "AllTasks", "propertyName": "assetId" }, "propertyValue": { "stringValue": "master_task_list" } }, "assetType": { "propertyReference": { "componentName": "master_task_list", "entityId": "AllTasks", "propertyName": "assetType" }, "propertyValue": { "stringValue": "task_list" } }, "robotIdList": { "propertyReference": { "componentName": "master_task_list", "externalIdProperty": {}, "entityId": "AllTasks", "propertyName": "robotIdList" }, "propertyValue": { "listValue": [ { "stringValue": "3e2b4d1d-a86f-4f7b-a436-46e7653f7fef" } ] } }, "siteArn": { "propertyReference": { "componentName": "master_task_list", "entityId": "AllTasks", "propertyName": "siteArn" }, "propertyValue": { "stringValue": "arn:aws:iotroborunner:us-east-1:<accountId>:site/<siteId>" } }, "stateList": { "propertyReference": { "componentName": "master_task_list", "externalIdProperty": {}, "entityId": "AllTasks", "propertyName": "stateList" }, "propertyValue": { "listValue": [ { "stringValue": "ACTIVE" } ] } }, "taskIdList": { "propertyReference": { "componentName": "master_task_list", "externalIdProperty": {}, "entityId": "AllTasks", "propertyName": "taskIdList" }, "propertyValue": { "listValue": [ { "stringValue": "0ed00afe-c55f-4311-9468-4dca01b1625d" } ] } }, "waypointsList": { "propertyReference": { "componentName": "master_task_list", "externalIdProperty": {}, "entityId": "AllTasks", "propertyName": "waypointsList" }, "propertyValue": { "listValue": [ { "stringValue": "[(0, 0, 5), (40.529312, -74.626496, 5), (40.52904, -74.6267648, 5), (40.529152, -74.6268927, 5), (40.5291568, -74.6268862, 0)]" } ] } } } ``` Which tells me all the values are being reported correctly as their respective types. However, when issuing a request from Grafana using the IoT TwinMaker data source, the query inspector asks for multiple properties, but only one comes back The query: ``` { "queries": [ { "componentName": "master_task_list", "entityId": "AllTasks", "properties": [ "waypointsList", "taskIdList", "robotIdList", "stateList" ], "queryType": "GetPropertyValue", "refId": "A", "componentTypeId": "com.defuzzy.task_list", "datasource": "AWS IoT TwinMaker", "datasourceId": 3, "intervalMs": 10000, "maxDataPoints": 2738 } ], "range": { "from": "2022-04-26T22:54:24.962Z", "to": "2022-04-27T04:54:24.962Z", "raw": { "from": "now-6h", "to": "now" } }, "from": "1651013664962", "to": "1651035264962" } ``` The response ``` { "results": { "A": { "frames": [ { "schema": { "name": "waypointsList", "refId": "A", "meta": { "custom": {} }, "fields": [ { "name": "Value", "type": "string", "typeInfo": { "frame": "string", "nullable": true } } ] }, "data": { "values": [ [ "[(0, 0, 5), (40.529312, -74.626496, 5), (40.52904, -74.6267648, 5), (40.529152, -74.6268927, 5), (40.5291568, -74.6268862, 0)]" ] ] } } ] } } } ``` Even if I only ask for one (different) property, I still only get one property back (`waypointsList` in this case). Am I doing something wrong? This feels a little broken. Any help would be appreciated!
1
answers
0
votes
46
views
asked 4 months ago

Launch Announcement: AWS IoT TwinMaker is now generally available

Today, we are announcing the general availability of [AWS IoT TwinMaker](https://aws.amazon.com/iot-twinmaker/), a service that makes it easier for developers to create digital twins of real-world systems such as buildings, factories, production lines, and equipment. Customers are increasingly adopting digital twins to make better operational and strategic decisions in industries such as smart buildings, manufacturing, construction, energy, power & utilities, and more. With AWS IoT TwinMaker you now have the tools you need to build digital twins to help you monitor and improve your industrial operations. With AWS IoT TwinMaker, you can quickly get started creating digital twins of equipment, processes, and facilities by connecting data from different data sources without having to re-ingest or move the data to another location. You can use built-in data connectors for the following AWS services: [AWS IoT SiteWise](https://aws.amazon.com/iot-sitewise/) for equipment and time-series sensor data, and [Amazon Kinesis Video Streams](https://aws.amazon.com/kinesis/video-streams/) for video data. AWS IoT TwinMaker also provides a framework for you to create your own data connectors to use with other AWS or third-party data sources (such as [Amazon Timestream](https://aws.amazon.com/timestream/), Snowflake, and Siemens MindSphere). Then, you can easily access all digital twin data using the AWS IoT TwinMaker unified data access API to underlying data sources without needing to query each data source individually. AWS IoT TwinMaker AWS IoT TwinMaker lets you model your physical environment using entities (e.g. any physical asset or system like a furnace, an assembly line, or an entire factory) and its components (e.g. data connectors) and then saves you time by automatically creating a knowledge (or digital twin) graph that combines and understands the relationships among the connected data sources. As your built environment evolves, for example if you add new sources of data, you can easily update your model so your digital twin remains accurate and current. Once the digital twin graph is created, you can then visualize the data in context of the physical environment. Using AWS IoT TwinMaker, you can import existing 3D models (such as CAD files, and point cloud scans) to compose and arrange 3D scenes of a physical space and its contents (e.g. a factory and its equipment) using simple 3D composition tools. To create a spatially aware visualization of your operations, you can then add interactive video and sensor data from connected data sources, insights from connected machine learning (ML) and simulation services, and equipment maintenance records and manuals. To help developers quickly build a web-based application for end users, such as plant operators and maintenance engineers, AWS IoT TwinMaker includes a plugin for Grafana and [Amazon Managed Grafana](https://aws.amazon.com/grafana/), a fully managed service for the open source dashboard and visualization platform from Grafana Labs. AWS IoT TwinMaker is generally available in regions of US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Europe (Frankfurt), and Europe (Ireland), with more regions to come soon. To learn more visit the AWS IoT TwinMaker product page, and to find an AWS Partner to help you on your digital twin journey, visit the AWS IoT TwinMaker [partner page](https://aws.amazon.com/iot-twinmaker/partners/). Use the [AWS Management Console](https://console.aws.amazon.com/iottwinmaker) to get started, or visit our [GitHub repository](https://github.com/aws-samples/aws-iot-twinmaker-samples) for a sample digital twin application.
0
answers
1
votes
26
views
asked 4 months ago

TwinMaker: using lambda to fetch data for non-timeSeries properties

Hello! I've been trying to use IoT RoboRunner + IoT TwinMaker + AWS Grafana to create a dashboard. As one of the most basic things to show is a list of the current workers/robots. Take the following `componentTypes`: (parent, to be inherited from, to keep the lambda function common) Ideally, the lambda function would be able to see the event, and the associated `telemetryAssetId`, and reply with an appropriate payload. ```json { "componentTypeId": "com.example.lambda_reader", "workspaceId": "MyWorkspace", "functions": { "dataReader": { "implementedBy": { "lambda": { "arn": "arn:aws:lambda:us-east-1:<account>:function:RoboRunnerWorkerInfo" } } } }, "propertyDefinitions": { "telemetryAssetId": { "dataType": { "type": "STRING" }, "isExternalId": true, "isStoredExternally": false, "isTimeSeries": false, "isRequiredInEntity": true } } } ``` and the child, which inherits from the above ``` { "componentTypeId": "com.example.myworkspace.worker_list", "extendsFrom": [ "com.example.lambda_reader" ], "propertyDefinitions": { "telemetryAssetId": { "defaultValue" : { "stringValue": "WorkerList" } }, "workerList": { "dataType": { "type": "LIST", "netstedType": { "type": "STRING" } }, "isTimeSeries": false, "isStoredExternally": true } } } ``` When adding these two `componentType`s, the latter shows up as abstract unless `isTimeSeries` is set to `true`. Is this intended behavior? Seems like I should be able to do this? Any help is appreciated!
3
answers
0
votes
55
views
asked 4 months ago
  • 1
  • 12 / page