Questions tagged with AWS IoT SiteWise
Content language: English
Sort by most recent
Dear AWS Community,
We are trying to ingest OPC UA data from Siemens PCS7 OPU UA server to Greengrass v2. With just as / for node id, we aren't auto discovering tags. As we don't see any data on data streams.
Further we diagnostic with Matrikon OPC UA explorer, UAExpert OPC UA Client, and Kepware. We were successful to auto-browse data from the same Siemens PCS7 OPC UA server. (attached is picture for reference)

Not sure how to setup the node id to browse correct path of the data.
The path within Siemens PCS7 OpenOS is as below (Ignore orange highlighted). The tags we need are listed under "List of all tags" folder.

Any help or suggestion to fix this issue is welcome.
I can't see the data in AWS SiteWise Edge from REST API, CLI or monitor portal, but I can see it in the AWS Sitewise.
I use the last versions of components:
OPC-UA collector: 2.1.3
Publisher: 2.2.2
Data processing pack: 2.2.23
In data processing component logs I see some errors but I can't interpret it correctly:
```
SiteWiseEdgeProcessor: stderr. % Total % Received % Xferd Average Speed Time Time Time Current. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.330Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. Dload Upload Total Spent Left Speed. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.330Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.335Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.336Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. 100 7 100 7 0 0 1271 0 --:--:-- --:--:-- --:--:-- 1400. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.337Z [INFO] (Copier) aws.iot.SiteWiseEdgeProcessor: stdout. healthy[2022-10-21] [08:42:37] INFO - model-service is healthy. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.390Z [INFO] (Copier) aws.iot.SiteWiseEdgeProcessor: stdout. [2022-10-21] [08:42:37] INFO - Running curl -f http://localhost:9500/deep_ping command to validate health of insights. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.390Z [INFO] (Copier) aws.iot.SiteWiseEdgeProcessor: stdout. [2022-10-21] [08:42:37] INFO - Running commnad with "curl -f http://localhost:9500/deep_ping" command. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.397Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. % Total % Received % Xferd Average Speed Time Time Time Current. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.397Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. Dload Upload Total Spent Left Speed. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.397Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.399Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.399Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. 100 7 100 7 0 0 2652 0 --:--:-- --:--:-- --:--:-- 3500. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:37.400Z [INFO] (Copier) aws.iot.SiteWiseEdgeProcessor: stdout. healthy[2022-10-21] [08:42:37] INFO - insights is healthy. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:38.557Z [INFO] (Copier) aws.iot.SiteWiseEdgeProcessor: stdout. [2022-10-21] [08:42:38] INFO - Running curl -f http://localhost:8081/deep_ping command to validate health of property-state-service. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:38.557Z [INFO] (Copier) aws.iot.SiteWiseEdgeProcessor: stdout. [2022-10-21] [08:42:38] INFO - Running commnad with "curl -f http://localhost:8081/deep_ping" command. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:38.587Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. % Total % Received % Xferd Average Speed Time Time Time Current. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:38.588Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. Dload Upload Total Spent Left Speed. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:38.588Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:38.619Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:38.619Z [WARN] (Copier) aws.iot.SiteWiseEdgeProcessor: stderr. 100 7 100 7 0 0 205 0 --:--:-- --:--:-- --:--:-- 212. {scriptName=services.aws.iot.SiteWiseEdgeProcessor.lifecycle.Run.Script, serviceName=aws.iot.SiteWiseEdgeProcessor, currentState=RUNNING}
2022-10-21T08:42:38.619Z [INFO] (Copier) aws.iot.
```
What I've already done:
1) Redeploy all component to edge
2) Recreate assets and data streams
3) Check all metrics from edge in CloudWatch and found no errors
4) Restart Sitewise Edge
How can I proof the no data issue:
On edge:
```
aws iotsitewise --endpoint https://localhost --no-verify-ssl get-asset-property-value-history --asset-id <id> --property-id <prod_id>
{
"assetPropertyValueHistory": []
}
```
The same command to cloud return data. And checking the monitor portal shows the same results.
How can I receive the temporary credentials for AWS Sitewise Edge REST API without OpsHub UI?
I got Greengrass deployment which works fine and then on SitWise I configured the gateway for OPC UA as a data source. I provided the correct URL and enable trust (accepting certificate) on the local machine (OPC UA server) to enable communication. All seems to be working fine. I have the following hierarchy on OPC UA Kepware Server as Reactor 1/Device/Temperature. I have added /Reactor 1 as node id. Then under the asset, I have added the following alias as /Reactor 1/Device/Temperature but there is no value coming in.
Not sure what is wrong. Any help would be appreciated. Also, how do I look at the logs to see where the problem is happening? 
I am using the sitewise connector for Twinmaker (com.amazon.iotsitewise.connector), which I added to an existing Twinmaker entity. I can see all the properties from the Sitewise entity model showing in the Twinmaker console as properties.
When pushing timeserie data in Sitewise, I can see the values being updated in Sitewise. Here is an example with the PredictionScore field :

Since, I have the sitewise connector attached, shouldn't I see that value in Twinmaker also? Isn't the connector supposed to update / sync that value from sitewise to twinmaker ?

My understanding of one of the benefits of IoT Sitewise is you can model a specific machine type, and then use that same model across your fleet of machines. If you have two machines that use separate units of measurement, then you can use a Transform in the model to make them consistent. Assuming my understanding is accurate, my scenario is for Waterjet Cutters where one device reports temperature in Fahrenheit and the other in Celsius. My goal is to have the output from SiteWise be a single Property called Temperature and that all values will be Fahrenheit.
To go about this, I tried to create a Measurement called Temperature with the Unit of Fahrenheit. I then also created a Transform with the name Temperature and the unit of Fahrenheit. The idea is if the Asset is already using Fahrenheit, then I would Enable the Measurement and Disable the Transform. If the Asset is instead using Celsius, then I would disable the Measurement and Enable the Transform. That doesn't work as SiteWise reports the names across Measurements and Transforms must be unique. Outside of that approach, I am not sure how to accomplish what I am trying to do and the documentation doesn't cover this type of scenario. Do I need different models for different unit of measurement?
I'm trying to calculate the sum of 2 data stream values(double) in AMG (sitewise data source/disassociated data stream) and present the calculated result in a timeseries panel.
I have attempted to use transform 'Add field from calculation': Using 'Mode' binary operation', operation 'datastream1 + datastream 2' without success.
How can I calculate fields in AMG ? Any tips will be welcome!
I have a production SiteWise Gateway running on an AWS SSM node but for no apparent reason, the "aws.iot.SiteWiseEdgePublisher" component stopped working and went into a Broken state. The Greengrass nucleus and other components are running, and reporting green on their health on the console.
Tried:
1. Used the AWS console (SiteWise -> Edge (gateway)) to downgrade or upgrade the publisher to trigger deployment, but the core device responded on downgrade but after that went to broken state, and not responding to other deployment requests.
2. Tried using the Greengraas CLI on device to restart or stop the service but no results.
3. Tried deployment from IoT Core on the core device but no response and deployment failed.
4. Hard reboot on the servers that run Greengrass but publisher is still in broken state
So I tried the above but none yielded any results, so any suggestion/advice? I would prefer not to touch the Sitewise deployment because it has quite a lot of machine models and assets mapped to incoming data, so it will be massive work.
I am trying to call the "BatchGetAssetPropertyValueHistory" API from my lambda, and also from AWS CLI v2, but the response I get is as follows:
From CLI call:
```
Invalid choice: 'batch-get-asset-property-value-history', maybe you meant:
* get-asset-property-value-history
* batch-put-asset-property-value
```
From Lambda code:
```
"errorType": "TypeError",
"errorMessage": "iotsitewise.BatchGetAssetPropertyValueHistory is not a function",
```
Any clues here? Is this API deprecated by AWS?
I have a Prod and Dev AWS account, and I would like to bring in the live data within the DEV AWS account. The live data is connected to the PROD account via the following path (OPC-UA server -> Greengrass V2 SiteWise Gateway (running on an EC2) -> SiteWise Console).
So the question: is it possible to create a new gateway in SiteWise ( in DEV account) and deploy it on the SAME server that's running the existing gateway for PROD?
Hello there,
I am following the IIoT Security Workshop [1] but I got the following error trying to deploy the CloudFormation stack:

As suggested in the docs, I used 'us-east-1' region for launching. The 'Troubleshooting' section in the documentation doesn't mention something regarding this error and wondering if someone faced the same issue before.
Would appreciate any help.
Thanks!
[1] https://catalog.us-east-1.prod.workshops.aws/workshops/5b543f4c-1952-4bd9-96c8-b009c16da2bc/en-US
We need to know why we are migrating from v1 sdk to v2.?
What are the major issues in v1 sdk and how is it impacting our clients.?
What are major advantages of IOT v2 sdk. and how many clients it will benefit.?
what should be the rollout plan for v2 sdk changes. Can we cross v2 API with some v1 API and then test it.