Menu
Book a demo
AWS IoT SiteWise vs IoT Core: Asset Models or Device Messaging

AWS IoT SiteWise vs IoT Core: Asset Models or Device Messaging

AWS IoT SiteWise and AWS IoT Core compared for a plant: data in, asset models and metrics, edge gateways, and where OEE and stop causes fit.
AWS IoT SiteWise vs IoT Core: Asset Models or Device Messaging

In short: AWS IoT SiteWise vs IoT Core is a question of layers, not a choice between rivals: IoT Core connects devices and moves their messages, while SiteWise organises industrial data into asset models and computes metrics from it. Many plant designs use both, with an IoT Core rule handing MQTT data to a SiteWise asset property.

  • In: SiteWise takes OPC UA through its edge gateway, IoT Core rules and its API; IoT Core takes MQTT, MQTT over WSS, HTTPS and LoRaWAN.
  • Structure: SiteWise has asset models with attributes, measurements, transforms and metrics; IoT Core has topics, things and Device Shadows.
  • Metrics: AWS publishes a SiteWise tutorial that builds availability, performance, quality and OEE as metrics.
  • Watch the ideal rate: held as one attribute per asset, it makes performance read wrong as soon as the product changes.

Both carry the AWS IoT name and share plant architecture diagrams, so they get compared as if they did one job. The real question is where PLC data lands first, and which service can hold a line and its OEE.

Fabrico's own product, OEE and light MES software, works on top of layers like these; it resells neither AWS service. Service facts below come from aws.amazon.com and docs.aws.amazon.com, as of 14.11.2026.

Key takeaways

  • These are layers, not rivals: IoT Core moves device messages, SiteWise models assets and computes metrics, and an IoT Core rule can feed SiteWise.
  • SiteWise has other ways in as well: OPC UA through its edge gateway, its own API and bulk imports from Amazon S3.
  • AWS's OEE tutorial builds availability, performance, quality and OEE as SiteWise metrics, and warns that a plant's formulas might differ.
  • In the sample stick-pack shift below, one static ideal rate invents a speed loss of EUR 518.40 a shift that the line never had.
  • The rate per product, the shift calendar and the reason behind a stop each need an owner, in the asset model or in an OEE application.

AWS IoT SiteWise vs IoT Core at a glance

JobAWS IoT SiteWiseAWS IoT Core
How AWS puts itCollect, store, organize and monitor industrial equipment dataConnect IoT devices to other devices and AWS cloud services
What comes inOPC UA via a SiteWise Edge gateway, IoT Core rules, the SiteWise API, bulk import from S3MQTT, MQTT over WSS, HTTPS, LoRaWAN
How data is heldAsset models with attributes, measurements, transforms, metrics and hierarchiesMQTT topics, thing objects and Device Shadows
Computed valuesTransforms per data point, metrics per time intervalRule SQL that filters and transforms messages
Hand-offQueries, alarms, SiteWise Monitor web appsRule actions to DynamoDB, S3, Lambda, Kinesis, SiteWise and more
Near the machinesSiteWise Edge gateway on AWS IoT Greengrass V2Greengrass devices that communicate with IoT Core

AWS IoT SiteWise, as AWS documents it

The AWS IoT SiteWise page calls it a managed service to collect, store, organize and monitor data, and says asset models organise data at the enterprise, site, area and machine level. As of 14.11.2026:

  • Ingestion. What is AWS IoT SiteWise? lists OPC UA read on site by the SiteWise Edge gateway, bulk operations from Amazon S3, MQTT routed by AWS IoT Core rules, and the SiteWise API.
  • Asset models. Declarative structures that standardise asset formats, with hierarchies so an asset can read data from its child assets.
  • Property types. Define data properties names attributes (generally static), measurements (raw streams), transforms and metrics (aggregated over a time interval).
  • Metric windows. The metrics chapter offers fixed windows from 1 minute to 1 week, or a custom interval, with an optional offset and time zone.
  • Edge. Per the gateway requirements, SiteWise Edge gateways run on AWS IoT Greengrass V2 as components for collection, processing and publishing on premises; the V3 gateway page lists real-time and S3-buffered destinations.
  • Viewing. SiteWise Monitor builds web apps; the features page adds CloudWatch alarms.

AWS IoT Core, as AWS documents it

On the AWS IoT Core page, the pitch is to connect devices to the cloud easily and securely, with a fully managed MQTT message broker. As of 14.11.2026:

  • Protocols. What is AWS IoT? lists MQTT, MQTT over WSS, HTTPS and LoRaWAN.
  • Rules. Rules for AWS IoT run against the MQTT topic stream; their tasks include DynamoDB, S3, Lambda, Kinesis, CloudWatch, and sending message data to a SiteWise asset property.
  • Device state. The Device Shadow service keeps desired and reported state in a JSON document, readable while the device is offline.
  • Edge. Devices running AWS IoT Greengrass, the AWS edge software, can talk securely to IoT Core and export data to the AWS Cloud.

AWS IoT SiteWise vs IoT Core, job by job

What each ingests. IoT Core takes devices and gateways that speak its protocols, mostly MQTT, which the OASIS MQTT 5.0 standard defines as a client server publish/subscribe transport. SiteWise can also reach into the plant through its edge gateway reading OPC UA, a platform-independent standard per the OPC Foundation specification.

Asset modelling. The clearest split. In SiteWise, a filler, a line and a site become assets, and a hierarchy rolls metrics up. IoT Core organises by topic and thing; mapping topics to machines is your naming choice (see OPC UA vs MQTT).

Computed metrics. The AWS tutorial Calculate OEE in AWS IoT SiteWise models a generic packaging machine from a state code, a good count and a bad count. Transforms turn codes into idle, fault, planned stop and running flags; metrics sum state time and counts per interval and define availability, quality, performance and OEE. AWS notes your formulas might differ. In IoT Core, rule SQL reshapes a message in transit and hands it to another service.

Edge. The SiteWise Edge gateway is a set of Greengrass V2 components; its OPC UA source settings offer the server or the device timestamp per data point. Greengrass itself is the runtime under SiteWise Edge, not a third rival.

How the two meet. Per Ingest data using AWS IoT Core rules, the SiteWise rule action forwards message data to the BatchPutAssetPropertyValue API. The rule action settings target a property by IDs or by alias, with the equipment's timestamp or one from IoT Core.

AWS IoT SiteWise and AWS IoT Core side by side: data in, asset models, computed values, hand-off and edge
Six jobs side by side, for teams deciding where plant data should land first on AWS, plus the ideal rate trap. No sample data. Source: AWS product pages and AWS documentation, checked on 14.11.2026.
Text version of this infographic
  • How AWS puts it. IoT SiteWise: collect, store, organize and monitor equipment data. IoT Core: connect IoT devices to AWS cloud services.
  • What comes in. IoT SiteWise: OPC UA via an edge gateway, IoT Core rules, API. IoT Core: MQTT, MQTT over WSS, HTTPS, LoRaWAN.
  • How data is held. IoT SiteWise: asset models with attributes, measurements, hierarchies. IoT Core: topics, thing objects, Device Shadows.
  • Computed values. IoT SiteWise: transforms per data point, metrics per interval. IoT Core: rule SQL filters and transforms messages.
  • Hand-off. IoT SiteWise: queries, alarms, SiteWise Monitor apps. IoT Core: rule actions, one of them into SiteWise.
  • Near the machines. IoT SiteWise: SiteWise Edge gateway on Greengrass V2. IoT Core: Greengrass devices that talk to IoT Core.
  • Two products on one asset? An attribute holds one ideal rate per asset. Carry the rate with the product code, or performance reads wrong after a change. Stop causes come from the operator.

Match the first job: which service to read first

Getting messages off devices points to IoT Core; modelling machines and computing metrics points to SiteWise; for both, plan them together around the rule action.

First jobRead first
PLCs behind an OPC UA server, data needed in AWSSiteWise Edge gateway and OPC UA sources
Sensors or gateways that publish MQTTIoT Core broker, policies and rules
A site, line and machine tree with roll-up metricsSiteWise asset models and hierarchies
Device state while a device is offlineIoT Core Device Shadows
MQTT data that should land on a machine assetIoT Core rule with the SiteWise action
OEE by shift, stop causes, the cost of lossesAn OEE application or light MES above both
Two roads from PLC data into a SiteWise asset model, with the OEE layer above them PLC or OPC UA server with state, counts and product code. Road one: SiteWise Edge gateway on Greengrass V2 reads OPC UA. Road two: MQTT to AWS IoT Core, rule action to SiteWise. Both reach a SiteWise asset model with measurements, transforms and metrics per interval. OEE layer above: shift plan, a rate for each product, the cause an operator picks. Two roads into an asset model As AWS documents them, 14.11.2026 PLC or OPC UA server Line state, counts, product code SiteWise Edge gateway on Greengrass V2, reads OPC UA AWS IoT Core MQTT broker, rule action to SiteWise AWS IoT SiteWise asset model Measurements and transforms, metrics per time interval OEE layer above Shift plan, a rate for each product, and the cause an operator picks beside the machine
Two documented roads into SiteWise: its own edge gateway reading OPC UA, or MQTT through an IoT Core rule. The context that turns counts into OEE sits above both.

Decision matrix: AWS IoT SiteWise or IoT Core for your plant

Because the two services are often used together, several rows below end at both. Use the matrix to decide where the first sprint goes. Each row links the AWS page behind it (accessed 14.11.2026) and a pilot check that shows whether the row holds for the plant's own machines.

If this is youLook first atWhy (vendor page)Prove it in the pilot by
PLCs sit behind an OPC UA server and the data is needed in AWSAWS IoT SiteWiseWhat is AWS IoT SiteWise? lists OPC UA read on site by the SiteWise Edge gatewayConnecting one OPC UA server and comparing ten tag values with the HMI
Sensors or gateways already publish MQTTAWS IoT CoreWhat is AWS IoT? says the broker serves clients using MQTT and MQTT over WSSPublishing one line's state and count topics and checking every message lands
Management wants a site, line and machine tree with roll-upsAWS IoT SiteWiseThe SiteWise page organises data at enterprise, site, area and machine levelModelling two lines and checking that the site figure equals their sum
Apps need a device's last state while it is offlineAWS IoT CoreThe Device Shadow service keeps state available whether or not the device is connectedUnplugging one gateway and reading its shadow from an app
MQTT data has to land on a machine assetBoth, joined by a ruleIngest data using AWS IoT Core rules forwards message data to BatchPutAssetPropertyValueSending a full day of counts through the rule and matching totals
The team wants AWS's OEE pattern as a starting pointAWS IoT SiteWiseThe Calculate OEE tutorial defines availability, quality, performance and OEE as metricsRecomputing one shift by hand and comparing it with the metric
Shift OEE must start at the real shift startAWS IoT SiteWiseThe metrics chapter offers a custom interval with an offset and a time zoneSetting a 06:00 offset and checking the first window's boundaries
Every value must carry the machine's own timeBothOPC UA sources take the server or device timestamp; the rule action takes the equipment's or IoT Core'sStopping a machine at a noted second and comparing the stored time

Where OEE and stop causes fit

Either service can carry the numbers OEE is built from. Three inputs need more care than the machine signal: planned time, the ideal rate for the product running, and why a stop happened.

OEE inputUsual originWhere it can sit on AWS
Running or stoppedPLC bit or sensorA SiteWise measurement, via the edge gateway or an IoT Core rule
Good and reject countCounter, check-weigher reject signalMeasurements summed by a SiteWise metric
Ideal rateRated speed per product or formatA SiteWise attribute, or a stream that changes with the product code
Planned timeShift pattern and breaksA metric window aligned to the shift, or the OEE application
Stop causeOperator choice from a cause listRecorded beside the machine, matched to the stop by time

The tutorial's state codes tell idle from fault from planned stop. Why the fault happened, a dosing jam or a film splice, comes from people at the line, and it drives the next action. For background on the arithmetic, see our OEE calculation guide and the performance guide; for long-term history, the data historian guide.

Where Fabrico fits for a SiteWise or IoT Core team

Fabrico is not an IoT platform: it sells no SCADA, HMI, connectivity layer, MQTT broker or cloud IoT service. Its product is an OEE application in the cloud, with light MES on top. A PLC, sensor or counter signal supplies stops and counts, and stop reasons come from operators, chosen on a phone or tablet at the machine. OEE, downtime and lost output in money are shown by line and by shift in web, iOS and Android apps (product overview).

Our machine connectivity page names OPC UA, Modbus and MQTT among its protocols. Outbound, stop causes can return to an AWS data platform through the REST API or webhooks, or as CSV and Excel files; prove that route in a pilot.

Where a manual step gives no machine signal, the camera add-on counts output; a camera-suggested stop reason is on the Roadmap, and video is streamed on request, not stored (computer vision add-on, FMCG computer vision hub). Inspection stays with dedicated systems.

For a demo, a shift of sample counts with product codes is enough to show where the rate per product and the operator's reason sit.

Worked example: one ideal rate on the asset, two products on the line

Sample data, invented spice plant, no customer. A six-lane stick-pack machine fills ground pepper in 2 g sticks and sea salt in 8 g sticks. Planned production time is 432 minutes: an 8-hour shift less 48 minutes of breaks. Rated speed is 300 sticks a minute on pepper and 180 on salt, since the heavier dose fills slower.

The asset follows the tutorial pattern: state code, good count and bad count as measurements, and the ideal rate as an attribute set to the pepper rate, 300 a minute, at creation. Per the metrics chapter, a formula that uses an attribute takes its latest value when it computes. Data arrives through an IoT Core rule, stamped with PLC time.

Pepper runs 200 minutes, a 30 minute changeover follows (clean-down, film reel, dosing auger), then salt runs 160 minutes. Other stops add 42 minutes: a dosing jam of 17, a film splice of 14 and 11 waiting for salt. Stopped time is 72 minutes, so run time is 360.

Sample dataPepper, 2 gSalt, 8 g
Run time200 min160 min
Ideal rate300 a min180 a min
Ideal output in run time60,00028,800
Sticks counted54,00025,920
Sample data: one ideal rate on the asset versus a rate that follows the product, shift OEE compared Pepper run 200 min at ideal 300 a min, changeover 30 min, salt run 160 min at ideal 180 a min, other stops 42 min. A 83.3%, Q 98.0%. Static 300: P 74.0%, OEE 60.4%. Edited to 180 (would read): P 123.3%, OEE 100.7%. Rate follows product: P 90.0%, OEE 73.5%. One rate, two products Sample data, not a product screen Stick-pack shift, 432 planned min Pepper 200 min Salt 160 min Ideal 300 a min, then 180 a min Amber: changeover 30. Red: stops 42 Static attribute, 300 a min P 74.0% Shift OEE 60.4% Edited to 180 at changeover P 123.3% Shift OEE 100.7% Rate follows the product P 90.0% Shift OEE 73.5% All three: A 83.3%, Q 98.0%, same counts, same stops
Sample data. Counts, stops and rejects are identical in all three cards; the ideal rate alone moves shift OEE from 60.4% to 100.7%.

With the rate following the product. Availability is 360 / 432 = 83.3%. Ideal output is 60,000 + 28,800 = 88,800 sticks, against 79,920 counted: performance 90.0%. The check-weigher rejects 1,600, which leaves 78,320 good: quality 98.0%. OEE is 83.3% x 90.0% x 98.0% = 73.5%.

With one static rate of 300 a minute. The tutorial's performance formula divides the count rate by the ideal rate: 79,920 sticks in 21,600 running seconds is 3.7 a second against an ideal 5, so performance reads 74.0% and OEE 60.4%. Salt ran at 90% of its rated speed yet is judged as slow pepper.

With the attribute edited at the changeover. Someone sets it to 180 when salt starts. By the documented formula behaviour, a shift-long metric window would then use 180 for all 360 minutes: ideal output 64,800, performance 123.3%, OEE 100.7%. The transforms chapter adds that new attribute values do not launch transform updates, and the attribute update page wants the current timestamp on an update.

The fix. Let the rate follow the product. The PLC publishes the active product or recipe code as a measurement and a transform maps it to a rate, or the PLC sends the loaded recipe's rated speed directly. Compute ideal output in one-minute windows as running seconds times the rate in force, then sum over the shift; the temporal functions page defines latest() as the last value before the interval ends, so the changeover minute is the most that gets the wrong rate. Whichever layer computes OEE has to hold the rate per product (see ideal cycle time and changeover time).

Carried to money. Give pepper sticks a sample contribution margin of EUR 0.03 and salt sticks EUR 0.05 (both sample data, made up for this page; real margins come from the spice plant's costing). At rated speed both products earn EUR 9.00 a minute: 300 x EUR 0.03 and 180 x EUR 0.05. The 1,600 rejects split 1,000 pepper and 600 salt in this sample.

Loss, rate following product, sample dataBasisShift, EURMonth, EUR (42 shifts)Year, EUR (500 shifts)
Stops and changeover72 min x EUR 9.00648.0027,216.00324,000.00
Slow running6,000 pepper + 2,880 salt324.0013,608.00162,000.00
Rejects1,000 pepper + 600 salt60.002,520.0030,000.00
TotalSum of the three1,032.0043,344.00516,000.00

The month assumes two shifts on 21 production days; the year, 250 days. With the static rate of 300 a minute, the model expects 108,000 sticks in 360 running minutes and reports 28,080 missing to speed (108,000 minus 79,920), EUR 842.40 at the pepper margin. The real speed loss is EUR 324.00, so the dashboard invents EUR 518.40 a shift, about EUR 259,200 a year, of slow running that could send a CI team after the salt runs for nothing.

Asset model failure modes that bend OEE

Static rates are the most common trap, but not the only one. Each row below names a modelling choice, what it does to shift OEE and the AWS page that explains the behaviour (accessed 14.11.2026).

Modelling choiceWhat shift OEE doesAWS page
One ideal rate attribute for several productsSlower products read as slow runningThe OEE tutorial divides the count rate by one Ideal_Run_Rate
Rate attribute edited at a changeoverThe whole metric window takes the new rateThe metrics chapter: a formula uses the latest attribute value
Expecting transforms to follow an attribute editDerived flags keep the old value until new data arrivesThe transforms chapter: new attribute values don't launch transform updates
Metric window not aligned to the shiftOne OEE figure mixes two crewsThe metrics chapter: interval, offset and time zone
Arrival time used instead of equipment timeDelayed data lands in the wrong windowThe rule action settings and OPC UA source settings both offer the device's timestamp

On timestamps, the DataValue section of OPC UA Part 4 says the sourceTimestamp reflects the time the data source gave a value. That is the moment a stop should be filed under, so prefer it wherever the OPC UA server supplies it. A SiteWise Edge gateway also sits on the plant network beside controllers. NIST's guide to OT security, SP 800-82 Rev. 3, published in September 2023, describes typical OT topologies, threats and countermeasures; put the gateway through that review.

Questions to ask AWS and your integrator

Send a line list, a product list and a day of sample data to whoever designs the AWS side, then ask:

  • Which controllers reach SiteWise through the edge gateway, and which go through IoT Core as MQTT?
  • Where is the ideal rate per product stored, and what changes it at a changeover?
  • Which metric window matches our shifts, including the offset and time zone, and how are breaks kept out of planned time?
  • Which timestamp does each data point carry, the device time or the time IoT Core or the gateway saw it?
  • How does a stop cause entered at the line join the stop in SiteWise, and who maintains the list of causes?

For the application layer, see our OEE software guide; for edge or cloud processing, edge vs cloud shop floor data; on OPC UA as a source, OPC UA for OEE.

What to do this week

  1. List the products on one line with the rated speed of each, and mark which ones share a machine.
  2. Find where the ideal rate lives today: an asset attribute, a PLC recipe value or a spreadsheet. If it is one attribute per asset, flag it before any OEE metric goes live.
  3. Write down the shift calendar with start times and breaks, and check that each metric window's offset and time zone match it.
  4. Value one rated minute: rated units a minute multiplied by each unit's margin from the plant's costing, as in the stick-pack table.
  5. Decide the route in for each controller, SiteWise Edge over OPC UA or MQTT through IoT Core, using the matrix rows.
  6. Name an owner for the stop cause list and decide where operators will record causes, before the first dashboard is shown.

What people ask next

Is AWS IoT SiteWise built on AWS IoT Core?

They are separate services that work together. AWS documents an IoT Core rule action that sends MQTT message data to a SiteWise asset property, and SiteWise can also ingest through its own edge gateway, its API and bulk imports from Amazon S3.

Do I need AWS IoT Core to use SiteWise?

Not for every route in. AWS lists OPC UA through a SiteWise Edge gateway, the SiteWise API and bulk operations from S3 beside IoT Core rules.

Can AWS IoT SiteWise calculate OEE?

AWS publishes a tutorial that defines availability, quality, performance and OEE as SiteWise metrics from an equipment state code and good and bad counts, and notes that your own formulas might differ. Planned time, a rate for each product and the reason behind a stop still need a home, in the model or in an OEE application.

Why does performance look wrong after a product change?

If the ideal rate is one attribute per asset, every product is measured against the same speed. A slower product looks slow, and an attribute edited at the changeover is applied to the whole metric window. Carrying the rate with the product code fixes it.

How does Fabrico relate to AWS IoT SiteWise and IoT Core?

Fabrico is OEE and light MES software above layers like these, and it sells no IoT service. Machine signals give stops and counts, operators pick stop reasons beside the machine, the camera add-on is a counter for steps without a signal, and results can go back to AWS by REST API or webhook.

Want to see performance follow the product code after a changeover? Book a demo.

Track OEE and downtime in real time
See where lines lose time
Book a live demo.
See where lines lose time
See where lines lose time

Real Fabrico tiles, sample data.

By clicking the Accept button, you are giving your consent to the use of cookies when accessing this website and utilizing our services. To learn more about how cookies are used and managed, please refer to our Privacy Policy and Cookies Declaration