Questions tagged with AWS IoT SiteWise

Content language: English

Sort by most recent

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

I use a microcontroller for generating telemetry, I've gotten normally my data to my MQTT topic. Now... I’m going to send these data to AWS SiteWise. - I've created Rule in my IoT Core - Created Model and Asset in my SiteWise I use these guidelines https://iot-sitewise.workshop.aws/en/40_aws-iot-sitewise-data-ingestion/data-ingestion-and-asset-properties.html https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-data-from-iot-things.html Help me with organizing Correctly IoT Rule or any solution for it.
1
answers
0
votes
240
views
rvjenya
asked a year ago
Hi, I'm using aws-sdk-go-v2 to create/update IoT SiteWise asset model. But i get "Property name is not unique" error. In API document, i could not find how to get/create/delete asset model property directly. However, i can create asset model with the property name on IoT SiteWise console. What's the difference between SDK and console? How could i solve this error from SDK? Or how could i get/delete asset model property directly? aws-sdk-go-v2: https://github.com/aws/aws-sdk-go-v2 API document: https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/iotsitewise code: // generate required config assetModelName := "test" assetModelPropertyList := \[]types.AssetModelPropertyDefinition{} propertyName := "WindSpeed" propertyDataType := types.PropertyDataTypeDouble propertyType := &types.PropertyType{ Measurement: &types.Measurement{}, } property := types.AssetModelPropertyDefinition{ Name: &propertyName, DataType: propertyDataType, Type: propertyType, } assetModelPropertyList = append(assetModelPropertyList, property) // setting sitewise asset model input newConf := &iotsitewise.CreateAssetModelInput{ AssetModelName: &assetModelName, AssetModelProperties: assetModelPropertyList, } output, err := client.CreateAssetModel(ctx, newConf) if err != nil { return nil, err } Edited by: johnDa on Nov 16, 2021 5:11 PM
1
answers
0
votes
55
views
johnDa
asked a year ago
Hi, I have a Greengrass Core v2 running in a Docker container which is successfully collecting measurements from an OPC-UA server however these measurements are not being forwarded to AWS Sitewise. Investigating the local logs on the core I can see swPublisher.log contains many entries saying "Failed to publish messages because an SDK client error occurred. Retrying. Error details: Unable to load AWS credentials from any provider in the chain". Any suggestions? Log: 2021-09-27T06:20:41.022Z \[INFO] (Copier) aws.iot.SiteWiseEdgePublisher: stdout. \[INFO ] 2021-09-27 06:20:41.022 \[main] Publisher - {"message":"Initialization Completed."}. {scriptName=services.aws.iot.SiteWiseEdgePublisher.lifecycle.Startup.Script, serviceName=aws.iot.SiteWiseEdgePublisher, currentState=RUNNING} 2021-09-27T06:20:44.787Z \[INFO] (Copier) aws.iot.SiteWiseEdgePublisher: stdout. \[WARN ] 2021-09-27 06:20:44.770 \[PublisherThread-0] BatchMessageUploaderTask - {"message":"Failed to publish messages because an SDK client error occurred. Retrying. Error details: Unable to load AWS credentials from any provider in the chain: \[EnvironmentVariableCredentialsProvider: Unable to load AWS credentials from environment variables (AWS_ACCESS_KEY_ID (or AWS_ACCESS_KEY) and AWS_SECRET_KEY (or AWS_SECRET_ACCESS_KEY)), SystemPropertiesCredentialsProvider: Unable to load AWS credentials from Java system properties (aws.accessKeyId and aws.secretKey), WebIdentityTokenCredentialsProvider: You must specify a value for roleArn and roleSessionName, com.amazonaws.auth.profile.ProfileCredentialsProvider@41442f3f: profile file cannot be null, com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper@6833fcdc: Failed to connect to service endpoint: ]"}. {scriptName=services.aws.iot.SiteWiseEdgePublisher.lifecycle.Startup.Script, serviceName=aws.iot.SiteWiseEdgePublisher, currentState=RUNNING} Image version: amazon/aws-iot-greengrass:2.4.0-0 Edited by: johnDa on Sep 26, 2021 11:32 PM
1
answers
0
votes
157
views
johnDa
asked a year ago
Hello, I'm trying to add multiple assets to a project using the BatchAssociateProjectAssets API: https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchAssociateProjectAssets.html, it looks like there is only one asset that can be added to a project. From the sitewise quotas page, it says, Number of root assets per project 1 However the API accepts multiple assetId's : https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotsitewise.html#IoTSiteWise.Client.batch_associate_project_assets So i'm a bit confused here, What exactly does a root asset mean, when i add assets which are from another asset hierarchy (non-root), i'm receiving the LimitExceededException, please can someone clarify, 1. how many assets can be added to a project? 2. and what exactly is a root and non-root asset in this case (I have tried adding both, and they failed)? So, i'm only able to have only 1 asset added to a project, so i'm wondering whether a non-root asset can be added at all, if yes, how? Thank you. Simith Rackspace Technology Edited by: simithrackspace on May 24, 2021 8:39 AM
2
answers
0
votes
89
views
asked 2 years ago
Hi all, I am a beginner with AWS. I am following the SiteWise tutorial for ingesting data to AWS IoT SiteWise from AWS IoT things. However instead of running the device client script, I want to have actual devices setup to report data via MQTT to AWS IoT core. I am following most of the settings in the tutorial, except that instead of reporting the CPU and memory usage, I am reporting temperature and humidity from my IoT sensor. In my asset, under the measurement section, I have entered the following as the property alias: /tutorial/device/SiteWiseTutorialDevice1/temp /tutorial/device/SiteWiseTutorialDevice1/humid When I create a rule in AWS IoT Core, in the Configure Action section, I have set the following: Property alias : /tutorial/device/${topic(3)}/temp Entry ID: ${concat(topic(3), "-temp-", floor(state.reported.timestamp))} Value: ${state.reported.temp} Data type: Double I have also added another entry for humidity by replacing 'temp' with 'humid' and the Data type: Integer What I don't know really is to which MQTT topic should my physical IoT device be posting to? And how should the data be formatted if it is a JSON object? Thanks in advance!
2
answers
0
votes
151
views
kiany
asked 2 years ago
Hello All, I'm looking for a Modbus Server/Simulator for testing AWS IoT Sitewise connectors, do you have any recommendations, preferably open source and Linux based. Thank you. Simith Nambiar (Rackspace)
1
answers
0
votes
34
views
asked 2 years ago
I have set up a Modbus TCP source on a gateway. I can see that it is successfully polling data by looking at ModbusTCPConnector.log on the edge device. But I can't figure out how to map the Modbus tags to asset measurements. I have tried various aliases on the measurement (such as source/channel/tag) to no avail. How is this done? Thanks, Tim
1
answers
0
votes
17
views
asked 2 years ago
Going off this suggested architecture. [https://pages.awscloud.com/Building-an-End-to-End-Industrial-IoT-IIoT-Solution-with-AWS-IoT_2020_0216-IOT_OD.html][1] The suggested architecture for industrial IoT applications is IoT SiteWise for operational "hot" data store and IoT Analytics -> S3 for the "warm/cold" data lake. IoT Analytics allows you to set the data retention policy on its data stores. We don't want the "hot" data store to contain historical data when IoT Analytics -> S3 already handles that for us. Also, we want to avoid siloing data between SiteWise and IoT Analytics. Is there a way to set the data retention policy on IoT SiteWise? I've already looked through the documentation for SiteWise, not sure if I missed something. [1]: https://pages.awscloud.com/Building-an-End-to-End-Industrial-IoT-IIoT-Solution-with-AWS-IoT_2020_0216-IOT_OD.html
1
answers
0
votes
112
views
asked 3 years ago
I want to my current IoT solution to AWS IoT SiteWise to collect, organize, and analyze data from industrial equipment at scale. I'm interested in the AWS Analytics features, and would like to test them beforehand. How do I load my historical data (in bulk mode) into AWS IoT SiteWise to test the AWS Analytics capabilities?
2
answers
0
votes
155
views
AWS
David_R
asked 3 years ago
Dear Community and Support, I am trying to map a Variable (Double) from an OPC-UA Server to an asset property of type measurement. According to the swCollector.log my gateway on a Raspberry PI successfully connects to the server and traversed the nodeset. But somehow it does not write any values to the stream. Probably because I assigned the wrong "data stream path" to my property-alias. To give an example: The publicly available OPC-UA Server at opc.tcp://milo.digitalpetri.com:62541/milo has the following structure: Root |--- Objects |--- .. |--- Dynamic |--- .. |--- RandomDouble I am trying to map the Random Double with the OPC-UA NodeID "ns=2;s=Dynamic/RandomDouble" to a measurement property in my asset. However, I don't understand, what is meant by the "OPC-UA data streams", which I am supposed to map to my property-alias. Having "/Objects/Dynamic/" as my Base-Node for the gateway, I tried the aliases "/Objects/Dynamic/RandomDouble", "RandomDouble" and the Node-ID "ns=2;s=Dynamic/RandomDouble". All without success. Please provide clarification on how to extract the OPC-UA data stream path from a server in general and specify the correct path for my example case. Cheers, Willy
3
answers
0
votes
95
views
opcwill
asked 3 years ago
I have a SiteWise Asset with 12 Measurements and 36 Metrics. The Metrics are things like min, max, and average for each Measurement. So a Measurement might be Temperature and the corresponding Metrics would be Temperature_min, Temperature_max, and Temperature_avg. I have notifications enabled for all Measurements and Metrics. I am simulating IoT data being sent to SiteWise by passing a set of property updates for the Measurements via the CLI's batch-put-asset-property-value command. This works well; I can see the data appearing in SiteWise for both Measurements and Metrics. Again, I'm sending data in for the Measurements only whereas the Metrics are calculated by SiteWise from these Measurement values. I want to store all of this data by timestamp somewhere so I setup a IoT Rule that passes PropertyValueUpdate messages to a Lambda that updates a DynamoDB Item per timestamp. This partly works; I see messages going through the IoT Rule and appearing in DynamoDB for the Measurements but not the Metrics. It appears that updating a given property (Measurements or Metrics) triggers a notification but a Metric being calculated by SiteWise does not. Is there a way to trigger a message when a given Metric is calculated in SiteWise or can I be assured that a Metric value is available when the Measurement's PropertyValueUpdate message fires, or is there a better way of doing what I'm attempting? Thanks.
3
answers
0
votes
112
views
apenn
asked 3 years ago