

# What is AWS IoT SiteWise?
<a name="what-is-sitewise"></a>

AWS IoT SiteWise is a managed service with which you can collect, store, organize and monitor data from industrial equipment at scale to help you make better, data-driven decisions. You can use AWS IoT SiteWise to monitor operations across facilities, quickly compute common industrial performance metrics, and create applications that analyze industrial equipment data to prevent costly equipment issues and reduce gaps in production. 

With AWS IoT SiteWise Monitor, your operational users can create web applications to view and analyze your industrial data in real-time. You can gain insights about your industrial operations by configuring and monitoring metrics such as *mean time between failures* and *overall equipment effectiveness (OEE)*.

AWS IoT SiteWise Edge is a component of AWS IoT SiteWise that allows collection, storage and processing of data on local devices. This is useful if you have limited access to the internet or need to keep your data private. 

**Topics**
+ [How AWS IoT SiteWise works](#how-sitewise-works)
+ [Use cases for AWS IoT SiteWise](#use-cases)
+ [Using this service with an AWS SDK](sdk-general-information-section.md)
+ [AWS IoT SiteWise concepts](concept-overview.md)

## How AWS IoT SiteWise works
<a name="how-sitewise-works"></a>

AWS IoT SiteWise offers a resource modeling framework that you can use to create representations of your industrial devices, processes, and facilities. The representations of your equipment and processes are called asset models in AWS IoT SiteWise. With asset models, you define the raw data to consume and how to process it into useful metrics. Build and visualize assets and models for your industrial operation in the [AWS IoT SiteWise console](https://console.aws.amazon.com/iotsitewise/). You can also configure asset models to collect and process data at the edge or in the AWS Cloud.

**Topics**
+ [Ingest industrial data](#how-it-works-ingest-data)
+ [Model assets to contextualize gathered data](#how-it-works-model-data)
+ [Analyze using queries, alarms, and predictions](#how-it-works-analyze)
+ [Visualize operations](#how-it-works-web-app)
+ [Store data](#how-it-works-store-data)
+ [Integrate with other services](#features-integrate-with-services)

### Ingest industrial data
<a name="how-it-works-ingest-data"></a>

Begin to use AWS IoT SiteWise by ingesting industrial data. Ingesting your data is done in one of several ways:
+ **Direct ingestion from on-site servers:** Utilize protocols like OPC UA to read data directly from on-site devices. Deploy the SiteWise Edge gateway software, compatible with AWS IoT Greengrass V2, on a wide range of platforms such as common industrial gateways or virtual servers. You can connect up to 100 OPC UA servers to a single AWS IoT SiteWise gateway. For more information, see [AWS IoT SiteWise Edge self-hosted gateway requirements](configure-gateway-ggv2.md).

   Note that protocols like Modbus TCP and Ethernet/IP (EIP) are supported through our partnership with Domatica in the context of AWS IoT Greengrass V2.
+ **Edge data processing with packs:** Enhance your SiteWise Edge gateway by adding packs to enable comprehensive edge capabilities. With SiteWise Edge, available on AWS IoT Greengrass V2, data processing is executed directly on-site before being securely transmitted to the AWS Cloud using an AWS IoT Greengrass stream. For more information, see [Set up an OPC UA source in SiteWise Edge](configure-opcua-source.md).
+ **Adaptive ingestion via Amazon S3 with bulk operations:** When working with large numbers of assets or asset models, use bulk operations to bulk import and export resources from Amazon S3 buckets. For more information, see [Bulk operations with assets and models](bulk-operations-assets-and-models.md).
+ **MQTT messages with AWS IoT Core Rules:** For devices connected to AWS IoT Core sending MQTT messages, employ the AWS IoT Core rules engine to direct those messages to AWS IoT SiteWise.If you have devices connected to AWS IoT Core sending [MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html) messages, use the AWS IoT Core rules engine to route those messages to AWS IoT SiteWise. For more information, see [Ingest data to AWS IoT SiteWise using AWS IoT Core rules](iot-rules.md).
+ **Event-triggered data ingestion:** Use *AWS IoT Events actions* to configure the IoT SiteWise action in AWS IoT Events to send data to AWS IoT SiteWise when events occur. For more information, see [Ingest data to AWS IoT SiteWise from AWS IoT Events](iot-events.md).
+ **AWS IoT SiteWise API:** Your applications at the Edge or in the cloud can directly send data to AWS IoT SiteWise. For more information, see [Ingest data with AWS IoT SiteWise APIs](ingest-api.md).

### Model assets to contextualize gathered data
<a name="how-it-works-model-data"></a>

After ingesting data, you can use the data to create virtual representations of your assets, processes, and facilities by building models of your physical operations. An asset, representing a device or process, transmits data streams to the AWS Cloud. Assets can also signify logical device groupings. Hierarchies are formed by associating assets to mirror complex operations. These hierarchies allow assets to access data from associated child assets. Assets are created from asset models. Asset models are declarative structures that standardize asset formats. Reuse components of assets for organization and maintainability of your models. For more information, see [Model industrial assets](industrial-asset-models.md).

With AWS IoT SiteWise, you can configure your assets to transform the incoming data into contextual metrics and transforms.
+ Transforms work when receiving equipment data.
+ Metrics are calculated at intervals you define.

Metrics and transforms are applicable to both individual assets or multiple assets.AWS IoT SiteWise automatically computes commonly used statistical aggregates like average, sum, and count, across various time frames relevant to your equipment data, metrics, and transforms.

Assets can be synchronized using AWS IoT TwinMaker. For more information, see [Integrating AWS IoT SiteWise and AWS IoT TwinMaker](integrate-tm.md#it-integrate).

### Analyze using queries, alarms, and predictions
<a name="how-it-works-analyze"></a>

Analyze the date gathered with AWS IoT SiteWise by running queries and setting up alarms. You can also use Amazon Lookout to automatically detect anomalies within metrics and identify their root causes. 
+ Set specific alarms to alert your team when equipment or processes deviate from optimal performance, ensuring quick issue identification and resolution. For more information, see [Monitor data with alarms in AWS IoT SiteWise](industrial-alarms.md).
+ Use the AWS IoT SiteWise API operations to query your asset properties' current values, historical values, and aggregates over specific time intervals. For more information, see [Query data from AWS IoT SiteWise](query-industrial-data.md).
+ Use anomaly detection with Amazon Lookout for Equipment to identify and visualize changes in equipment or operating conditions. With anomaly detection, you can determine preventative maintenance measures for your operations. This integration allows customers to sync data between AWS IoT SiteWise and Amazon Lookout for Equipment. For more information, see [Detect anomalies with Lookout for Equipment](anomaly-detection.md).

### Visualize operations
<a name="how-it-works-web-app"></a>

Set up SiteWise Monitor to create web applications for your operational employees. The web applications help employees to visualize your operations. Handle varied levels of access for your employees using IAM Identity Center or IAM. Configure unique logins and permissions for each employee to view specific subsets of an entire industrial operation. AWS IoT SiteWise provides an [application guide](https://docs.aws.amazon.com/iot-sitewise/latest/appguide/) for these employees to learn how to use SiteWise Monitor.

For more information on visualizing your operations, see [Monitor data with AWS IoT SiteWise Monitor](monitor-data.md).

### Store data
<a name="how-it-works-store-data"></a>

You can integrate time series storage with your industrial data lake. AWS IoT SiteWise has three storage tiers for industrial data:
+ A hot storage tier that is optimized for real-time applications.
+  A warm storage tier optimized for analytical workloads.
+ A customer-managed cold storage tier using Amazon S3 for operational data applications with high latency tolerance.

AWS IoT SiteWise helps you manage storage cost by keeping recent data in the hot storage tier. Then, you define data retention policies to move historical data to warm or cold tier storage. For more information, see [Manage data storage in AWS IoT SiteWise](manage-data-storage.md).

You can also import and export asset metadata. For more information see [Asset metadata](file-path-and-schema.md#asset-metadata).

### Integrate with other services
<a name="features-integrate-with-services"></a>

AWS IoT SiteWise integrates with several AWS services to develop a complete AWS IoT solution in the AWS Cloud. For more information, see [Interact with other AWS services](interact-with-other-services.md).

## Use cases for AWS IoT SiteWise
<a name="use-cases"></a>

AWS IoT SiteWise is used across a variety of industries for many industrial data collection and analysis applications.

Collect data consistently from all your sources to help resolve issues quickly. AWS IoT SiteWise offers remote monitoring to collect the data directly on-site or gather it from multiple sources across many facilities. AWS IoT SiteWise provides the necessary flexibility for industrial IoT data solutions.

### Manufacturing
<a name="use-case-manufacturing"></a>

AWS IoT SiteWise can simplify the process of collecting and utilizing data from your equipment to pinpoint and minimize inefficiencies, enhancing industrial operations. AWS IoT SiteWise helps you collect data from manufacturing lines and equipment. With AWS IoT SiteWise, you can transfer the data to the AWS Cloud and build performance metrics for your specific equipment and processes. You can use the metrics produced to understand the overall effectiveness of your operations and identify opportunities for innovation and improvement. You can also view your manufacturing process and identify equipment and process deficiencies, production gaps, or product defects.

### Food and beverage
<a name="use-case-food-beverage"></a>

Food and beverage industry facilities handle a wide variety of food processing, including grinding grain to flour, butchering and packing meat, and assembling, cooking, and freezing microwaveable meals. Food processing plants often span multiple locations with plant and equipment operators in a centralized location to monitor processes and equipment. For example, refrigeration units assess ingredient handling and expiration. They monitor waste creation across facilities to ensure operational efficiency. With AWS IoT SiteWise, you can group sensor data streams from multiple locations by production line, and facilities so your process engineers can better understand and make improvements across facilities.

### Energy and utilities
<a name="use-case-energy-utilities"></a>

With AWS IoT SiteWise, you can resolve equipment issues easier and more efficiently. You can monitor asset performance remotely and in real time. Access historical equipment data from anywhere to pinpoint potential problems, dispatch accurate resources, and both prevent and fix issues faster.

# Using this service with an AWS SDK
<a name="sdk-general-information-section"></a>

AWS software development kits (SDKs) are available for many popular programming languages. Each SDK provides an API, code examples, and documentation that make it easier for developers to build applications in their preferred language.


| SDK documentation | Code examples | 
| --- | --- | 
| [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK for C\$1\$1 code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI code examples](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK for Go code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK for Java code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK for JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK for JavaScript code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK for Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK for Kotlin code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK for .NET code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK for PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK for PHP code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell) | [AWS Tools for PowerShell code examples](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK for Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK for Python (Boto3) code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK for Ruby code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK for Rust code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK for SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK for SAP ABAP code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK for Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK for Swift code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

**Example availability**  
Can't find what you need? Request a code example by using the **Provide feedback** link at the bottom of this page.

# AWS IoT SiteWise concepts
<a name="concept-overview"></a>

The following are the core concepts of AWS IoT SiteWise:

**Aggregate**  
Aggregates are fundamental metrics, or measurements, that AWS IoT SiteWise automatically calculates for all time series data. For more information, see [Query asset property aggregates in AWS IoT SiteWise](aggregates.md).

**Asset**  
When you input, or ingest, data into AWS IoT SiteWise from your industrial equipment, your devices, equipment, and processes are each shown as assets. Each asset has associated data. For example, a piece of equipment might have a serial number, a location, a make and model, and an installation date. It might also have time series values for availability, performance, quality, temperature, pressure, and more. Group assets into hierarchies, allowing assets to access data stored in their child assets. For more information, see [Model industrial assets](industrial-asset-models.md).

**Asset hierarchy**  
Set up asset hierarchies to create logical representations of your industrial operations. To do this, define a hierarchy in an asset model and associate assets created from that model with the specified hierarchy. Metrics in parent assets can combine data from the properties of child assets, allowing you to calculate metrics that offer insights into your overall operation or a specific part of it. For more information, see [Define asset model hierarchies](define-asset-hierarchies.md).

**Asset model**  
Every asset is made using an asset model. Asset models are structures that define and standardize the format of your assets. They ensure consistent information across multiple assets of the same type, allowing you to handle data in assets that represent groups of devices. In each asset model, you can define [attributes](#concept-attribute), time series inputs ([measurements](#concept-measurement)), time series transformations ([transforms](#concept-transform)), time series aggregations ([metrics](#concept-metric)), and [asset hierarchies](#concept-hierarchy). For more information, see [Model industrial assets](industrial-asset-models.md).  
Decide where your asset model's properties are processed by configuring your asset model for the edge. Utilize this feature to handle and monitor asset data on your local devices.

**Asset property**  
Asset properties are the structures within each asset that hold industrial data. Each property has a data type and can also have a unit. A property can be an [attribute](#concept-attribute), a [measurement](#concept-measurement), a [transform](#concept-transform), or a [metric](#concept-metric). For more information, see [Define data properties](asset-properties.md).  
Configure asset properties to compute at the edge. For more information about processing data at the edge, see [Set up an OPC UA source in SiteWise Edge](configure-opcua-source.md).

**Attribute**  
Attributes are properties of an asset that typically stay constant, like the device manufacturer or device location. Attributes can have preset values. Every asset created from an asset model includes the default values of the attributes defined in that model. For more information, see [Define static data (attributes)](attributes.md).

**Computation model**  
A `ComputationModel` is an abstraction for certain types of compute that can enact on your data. It defines the blueprint for a suite of computations, where users can describe input, output and configuration for a specific computation engine. `ComputationModel` is a new resource with ARN and is stateful and versioned. For more information, see [Create a computation model (AWS CLI)](anom-detection-sensors-asset.md#create-computation-model).

**Dashboard**  <a name="monitor-concept-dashboard"></a>
Each project contains a set of dashboards. Dashboards provide a set of visualizations for the values of a set of assets. Project owners create the dashboards and the visualizations that it contains. When a project owner is ready to share the set of dashboards, the owner can invite viewers to the project, which gives them access to all dashboards in the project. If you want a different set of viewers for different dashboards, you must divide the dashboards between projects. When viewers look at dashboards, they can customize time range to look at specific data.

**Dataset**  
Datasets are collections of data that represents time-series data, non-time-series data, and non-equipment data such as shift schedules, maintenance records, and employee databases. They support external data and use AWS IoT SiteWise analytic capabilities. It includes dataset sources, dataset schema and dataset parameters. The AWS IoT SiteWise Assistant uses datasets that consume Amazon Kendra indexes. 

**Data stream**  
Input, or ingest, industrial data into AWS IoT SiteWise even before creating asset models and assets. AWS IoT SiteWise automatically generates data streams to collect raw data streams from your equipment.

**Data stream alias**  
Data stream aliases help you easily identify a data stream. For example, the alias `server1-windfarm/3/turbine/7/temperature` indicates temperature values coming from turbine \$17 in wind farm \$13. The term `server1` is the data source name that helps identify the OPC UA server, and `server1-` is a prefix attached to all data streams reported from this OPC UA server.

**Data stream association**  
After you create asset models and assets, associate data streams with asset properties defined in your assets to structure your data. AWS IoT SiteWise can then use asset models and assets to handle incoming data from your data streams. You can also disassociate data streams from asset properties. For more information, see [Manage data streams for AWS IoT SiteWise](manage-data-streams.md).

**Destinations**  
Destinations in SiteWise Edge represent the endpoints where you want to send your telemetry or processed data. SiteWise Edge supports the AWS IoT SiteWise hot tier, buffered ingestion, or an Amazon S3 bucket as destinations. You can configure destinations to subscribe to specific MQTT topics using path filters. For more information, see [Understand AWS IoT SiteWise Edge destinations](gw-destinations.md#source-destination).

**Formula**  
Each [transform](#concept-transform) and [metric](#concept-metric) property comes with a formula that outlines how the property transforms or aggregates data. These formulas include property inputs, operators, and functions offered by AWS IoT SiteWise. For more information, see [Use formula expressions](formula-expressions.md).

**Interface**  
An interface is a type of model that defines a standard structure that can be applied to different asset models. For more information, see [Asset model interfaces](model-interfaces.md).

**Measurement**  
Measurements are properties of an asset that depict the raw sensor time series data streams from a device or equipment. For more information, see [Define data streams from equipment (measurements)](measurements.md).

**Metric**  
Metrics are properties of an asset that represent aggregated time series data. Each metric is accompanied by a mathematical expression ([formula](#concept-formula)) that outlines how to aggregate data points and a time interval for computing that aggregation. Metrics generate a single data point for each specified time interval. For more information, see [Aggregate data from properties and other assets (metrics)](metrics.md).

**MQTT**  
MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol for sensors and devices.

**Packs**  
SiteWise Edge gateways use packs to determine how to collect, process, and route data. For more information about the available packs for your SiteWise Edge gateway, see [Use packs to collect and process data in SiteWise Edge](data-packs.md).    
Data collection pack  
Use the data collection pack so that your SiteWise Edge gateway can collect your industrial data and route it to the AWS destination of your choice.  
Data processing pack  
Use the data processing pack to process, store, and retrieve your data at the edge for up to 30 days. Exchange edge-processed data to and from local applications through SiteWise Edge APIs.

**OPC UA**  
OPC UA (Open Platform Communications Unified Architecture) is a communication protocol for industrial automation.

**Path filters**  
Use path filters within a gateway to subscribe to MQTT topics and publish to AWS IoT SiteWise supported destinations. MQTT-based sources, data processing pipelines, and destinations all exchange data using MQTT topics on a self-hosted MQTT-enabled, V3 gateway. You can define topic filters to specify the data you want to ingest or route to different destinations.

**Portal**  <a name="monitor-concept-portal"></a>
An AWS IoT SiteWise Monitor portal is a web application that you can use to visualize and share your AWS IoT SiteWise data. A portal has one or more administrators and contains zero or more projects.

**Portal administrator**  
Each SiteWise Monitor portal has one or more portal administrators. Portal administrators use the portal to create projects that contain collections of assets and dashboards. The portal administrator then assigns assets and owners to each project. By controlling access to the project, portal administrators specify which assets that project owners and viewers can see.

**Project**  <a name="monitor-concept-project"></a>
Each SiteWise Monitor portal contains a set of projects. Each project has a subset of your AWS IoT SiteWise assets associated with it. Project owners create one or more dashboards to provide a consistent way to view the data associated with those assets. Project owners can invite viewers to the project to allow them to view the assets and dashboards in the project. The project is the basic unit of sharing within SiteWise Monitor. Project owners can invite users who were given access to the portal by the AWS administrator. A user must have access to a portal before a project in that portal can be shared with that user.

**Project owner**  
Each SiteWise Monitor project has owners. Project owners create visualizations in the form of dashboards to represent operational data in a consistent manner. When dashboards are ready to share, the project owner can invite viewers to the project. Project owners can also assign other owners to the project. Project owners can configure thresholds and notification settings for alarms.

**Project viewer**  
Each SiteWise Monitor project has viewers. Project viewers can connect to the portal to view the dashboards that project owners created. In each dashboard, project viewers can adjust the time range to better understand operational data. Project viewers can only view dashboards in the projects to which they have access. Project viewers can acknowledge and snooze alarms.

**Property alias**  
You have the option to create aliases on asset properties, such as an OPC UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature), simplifying the identification of an asset property during the ingestion or retrieval of asset data. When you use a [SiteWise Edge gateway](#concept-gateway) to ingest data from servers, your property aliases must match the paths of your raw data streams. For more information, see [Manage data streams for AWS IoT SiteWise](manage-data-streams.md).

**Property notification**  
When you enable property notifications for an asset property, AWS IoT SiteWise publishes an MQTT message to AWS IoT Core each time that property receives a new value. The message payload includes details about the update to that property value. Use property value notifications to create solutions that connect your industrial data in AWS IoT SiteWise with other AWS services. For more information, see [Interact with other AWS services](interact-with-other-services.md).

**SiteWise Edge gateway**  
 A SiteWise Edge gateway is installed on the customer's premises to gather, handle, and direct data. A SiteWise Edge gateway connects to your industrial data sources through various protocols to gather and process data, sending it to the AWS cloud. SiteWise Edge gateways can also connect to partner data sources. For more information, see [Use AWS IoT SiteWise Edge gateways](gateways.md).

**Transform**  
Transforms are properties of an asset that represent transformed time series data. Every transform is accompanied by a mathematical expression ([formula](#concept-formula)) that specifies how to convert data points from one form to another. The transformed data points hold a one-to-one relationship with the input data points. For more information, see [Transform data (transforms)](transforms.md).

**Visualization**  <a name="monitor-concept-visualization"></a>
In each dashboard, project owners decide how to display the properties and alarms of the assets associated with the project. Availability might be represented as a line chart, while other values might be displayed as bar charts or key performance indicators (KPIs). Alarms are best displayed as status grids and status timelines. Project owners customize each visualization to provide the best understanding of the data for that asset.