Problem Description: LOGO! 8.3 LWE to AWS Outage
Operators of Siemens LOGO! 8.3 logic modules that publish data through the LOGO! Web Editor (LWE) to Amazon Web Services report that cloud dashboards, push notifications, and remote control functions stop working without any change to on-site hardware or firmware. Typical symptoms include:
- LOGO! Web Editor project loads locally on a PC, but cloud data variables remain
OFFLINE. - LOGO! BM status LED pattern returns to normal (no SF/RDY fault), indicating the base module is healthy.
- AWS IoT Core shadow document or REST endpoint does not receive updates from the LOGO! even though
PINGfrom the LOGO! BM to a public DNS server succeeds. - Web Editor Cloud tab shows a status banner such as "Cloud connection not available", "AWS subscription expired", or "Token rejected".
The failure is not caused by a defect inside the LOGO! 8.3 base module. The fault lies in the cloud-side dependencies that the LWE project binds to when it is published. Three categories of change account for nearly every reported outage: (1) AWS deprecating TLS cipher suites, API versions, or endpoint hostnames, (2) expiration of the IAM access key or X.509 device certificate embedded in the LWE cloud profile, and (3) NTP drift that invalidates the certificate chain on the LOGO!.
...08-0BA1) running firmware V1.8.x with the LOGO! Web Editor cloud feature, communicating with AWS services over HTTPS (TCP/443). For older LOGO! 8 (8.0/8.1/8.2) modules the cloud feature is not present; for LOGO! 8.4 modules the procedure is identical but newer firmware parameter names apply.LOGO! 8.3 Cloud Architecture Overview
Understanding the data path is essential before changing any parameter. The LWE does not stream variables directly from the LOGO! base module to AWS. Instead, the path is:
- LOGO! BM runs the user program (circuit diagram) and exposes variables over the integrated Ethernet port using the LOGO! webserver protocol on TCP/80 (HTTP) or TCP/443 (HTTPS).
- LOGO! Web Editor runtime runs on a Windows PC or on a LOGO! CMR (Communication Module) acting as a host, polls the LOGO! BM using S7-compatible symbols, and republishes the data.
- The LWE cloud connector forwards those variables to AWS using HTTPS, either through AWS IoT Core (MQTT over WebSockets) or through an Amazon API Gateway REST endpoint configured during project publishing.
- The AWS backend stores data, triggers Lambda functions, or relays to a customer dashboard.
| Layer | Component | Protocol | Default Port | Direction |
|---|---|---|---|---|
| Field | LOGO! 8.3 BM (6ED1052-...08-0BA1) | LOGO! Webserver | 80 / 443 | Inbound to LWE |
| Edge | LOGO! Web Editor runtime (PC or CMR2020/CMR2040) | HTTPS | 443 | Outbound to AWS |
| Cloud | AWS IoT Core / API Gateway / REST endpoint | MQTT-WS / HTTPS | 443 | Inbound from LWE |
| Application | AWS Lambda, DynamoDB, custom dashboard | AWS SDK | n/a | n/a |
Any change at the Edge or Cloud layer that is not propagated to the LWE cloud profile produces the "worked until the end of August, now not anymore" failure pattern that operators most often describe. The remaining sections walk through each layer in order.
Root Cause Analysis: Common Failure Modes
Review the matrix below before changing any configuration. Each row describes one root cause, the indicator that distinguishes it, and the corrective action. Match your symptoms to one row first; if multiple apply, fix them in the order listed.
| # | Root Cause | Distinguishing Indicator | Corrective Action |
|---|---|---|---|
| 1 | AWS deprecation of TLS 1.0/1.1 ciphers (rolled out 2023 onward across regional endpoints) | LWE log shows SSL_ERROR_NO_CYPHER_OVERLAP or ERR_SSL_VERSION_OR_CIPHER_MISMATCH
|
Force TLS 1.2 on the LWE host; verify AWS endpoint still accepts TLS 1.2 (all current AWS endpoints do) |
| 2 | Expired IAM access key or AWS Cognito identity used by LWE cloud profile | AWS CloudTrail returns ExpiredTokenException or InvalidAccessKeyId
|
Regenerate access key in IAM; re-enter into LWE cloud profile; republish project |
| 3 | X.509 device certificate expired (AWS IoT Core) | MQTT connect fails with CLIENT_ERROR reason code 4 (bad user name/password) or 5 (not authorized) |
Re-issue certificate from AWS IoT console; replace in LWE cloud profile; re-attach IoT policy |
| 4 | LOGO! BM clock drift > 5 minutes from real time | TLS handshake fails; cert appears "not yet valid" or "expired" even when ntpdate on a reference PC is correct | Configure NTP server on LOGO! BM; verify Status > Date/Time reflects real time |
| 5 | AWS region endpoint retired or renamed | DNS resolves to a CNAME pointing at a service that returns 403/404 | Update endpoint hostname in LWE cloud profile to current regional endpoint |
| 6 | AWS IoT policy iot:Connect or iot:Publish removed |
Connect succeeds, publish returns UnauthorizedError in AWS CloudWatch |
Re-attach a policy granting iot:Connect, iot:Publish, iot:Subscribe, iot:Receive on the topic ARN |
| 7 | Firewall now blocking TCP/443 outbound to AWS (corporate network change) |
curl https://<aws-endpoint> from the LWE host returns Connection timed out or No route to host
|
Open TCP/443 to AWS regional endpoint IP ranges; see AWS IP ranges JSON |
| 8 | LWE host clock or proxy auto-configuration change | LWE was working on direct connection but not behind a new proxy | Configure HTTP/HTTPS proxy in LWE cloud profile; allow AWS endpoint hostnames in proxy bypass list |
4 = bad user name or password, 5 = not authorized. Refer to the AWS IoT protocol documentation for the full list. Treat any reason code above 4 as an authorization problem, not a network problem.Prerequisites for Reconnection
Before opening the LWE project, gather the following. Without these items, reconnection attempts will fail repeatedly and obscure the true root cause.
- LOGO! BM access: admin password for the LOGO! 8.3 webserver (the password you set under Tools > Ethernet > Access Control in LOGO! Soft Comfort, or the default if you have not changed it).
- LOGO! Soft Comfort V8.3 or later installed on the engineering PC, with the matching cloud project (the .lsc file containing the cloud block and the AWS access key).
- LOGO! Web Editor runtime running on the same PC or on a LOGO! CMR2020/CMR2040 module, version compatible with the LOGO! 8.3 firmware.
- AWS account access: IAM user with permission to read/write the relevant IoT thing, the certificate, and the policy. Multi-factor authentication token if required.
- Network reachability: an engineering PC that can reach the LOGO! BM on its IP address, reach the public Internet on TCP/443, and resolve public DNS names.
- Reference timestamp: a known-good time source (NTP server, smartphone, or time.gov) to validate the LOGO! BM clock after reconnection.
If any prerequisite is missing, resolve it first. A common field mistake is to test cloud connectivity from a PC that cannot itself reach the LOGO! BM — the failure is then attributed to AWS when it is in fact a local routing problem.
Step-by-Step Reconnection Procedure
Execute the steps below in the order shown. Each step includes a verification check before moving to the next.
Step 1 — Verify LOGO! BM health
- Open a browser and navigate to
http://<logo-ip>. - Confirm the LOGO! webserver loads and that all variables read as expected.
- Navigate to Status and record the firmware version, the current date/time, and the active NTP server.
- If the date/time is off by more than 60 seconds, set a reachable NTP server under Tools > Ethernet > NTP and wait one polling interval before continuing.
Step 2 — Verify network path to AWS
- From the LWE host, open a command prompt and run
nslookup <aws-iot-endpoint>. The endpoint format is<prefix>-ats.iot.<region>.amazonaws.com. - Run
curl -v --max-time 10 https://<aws-iot-endpoint>/. A TLS alert, a 403, or a redirect is acceptable; aConnection timed outorNo route to hostindicates a firewall problem on TCP/443. - If the LWE host sits behind a corporate proxy, set the proxy in Windows Settings > Network & Internet > Proxy and re-run the test. For cross-checking, the AWS Fix EC2 Connection Errors walkthrough demonstrates the same
connection refusedvs.connection timed outdistinction that applies to any AWS endpoint.
Step 3 — Re-issue or refresh the AWS IoT certificate
- Open the AWS IoT console and navigate to Manage > Things.
- Select the thing associated with the LOGO! LWE project.
- Under Security > Certificates, check the expiration date. If expired or expiring within 30 days, create a new certificate, download the certificate, the private key, and the Amazon Root CA.
- Replace the certificate, key, and root CA files in the LWE cloud profile directory (default
%LOCALAPPDATA%\Siemens\LWE\cloudon Windows, or/var/siemens/lwe/cloudon a LOGO! CMR). - Attach the existing IoT policy (or a new one granting
iot:Connect,iot:Publish,iot:Subscribe,iot:Receive) to the new certificate.
Step 4 — Refresh the IAM credentials used by the LWE
- Open the AWS IAM console.
- Select the IAM user (or role) named in the LWE cloud profile.
- Generate a new access key; deactivate the old key after the new one is confirmed working to avoid orphan credentials.
- In LOGO! Soft Comfort, open the cloud project and re-enter the access key ID and secret access key under Cloud > AWS > Credentials. Do not edit the certificate fields — those are separate from the IAM key.
- Republish the project to the LOGO! BM and the LWE runtime.
Step 5 — Validate the LWE cloud connection
- Open the LOGO! Web Editor runtime and load the published project.
- Switch to the Cloud tab.
- Confirm the status indicator turns green within 30 seconds and that the variable list begins updating.
- In the AWS IoT console, open Test > MQTT test client, subscribe to the topic pattern configured in the LWE project, and confirm messages are arriving.
If the status indicator does not turn green, capture the LWE runtime log (default location: %LOCALAPPDATA%\Siemens\LWE\logs\lwe-runtime.log) and proceed to the diagnostics section.
AWS Service Health and API Verification
Before changing the LOGO! configuration, verify that the AWS service itself is healthy and that the endpoint you are using is still active. AWS publishes a public health dashboard and an API/service inventory that change without notice.
- Open the AWS Service Health Dashboard and confirm that AWS IoT Core, Amazon API Gateway, and IAM report No issues in the region hosting your endpoint.
- Cross-check the AWS Knowledge Center for any active incident affecting the same service in the same region.
- Confirm the IoT data endpoint format. For shared (multi-tenant) endpoints the format is
<prefix>-ats.iot.<region>.amazonaws.com:443/mqtt. For account-specific endpoints the format is<account>-ats.iot.<region>.amazonaws.com:443/mqtt. If the project references an oldiot.us-east-1.amazonaws.comstyle hostname (without the-atssuffix) it must be updated. - Confirm the AWS account itself is still active. A suspended account returns 403 on every API call, and the LWE has no way to distinguish a suspended account from a credential failure. Check AWS Account > Alternate contacts > Account status in the AWS console.
Network and DNS Diagnostics
If the AWS service is healthy but the LWE still cannot reach it, the fault is in the network path. The most efficient sequence is to bisect the path with three commands on the LWE host.
-
DNS resolution:
nslookup <aws-iot-endpoint>. If this fails, change the DNS server in the LWE host network adapter to a public resolver such as8.8.8.8or1.1.1.1and retry. -
TCP reachability:
Test-NetConnection <aws-iot-endpoint> -Port 443on Windows PowerShell, ornc -vz <aws-iot-endpoint> 443on Linux. ATcpTestSucceeded : True(PowerShell) orsucceeded!(nc) confirms the path is open. Atimed outindicates a firewall or routing problem. -
TLS handshake:
curl -v --max-time 10 https://<aws-iot-endpoint> -o nul. A successful TLS handshake with anHTTP 403or404response is good — it means the network and TLS are working and the request simply is not authorized. A handshake failure (no HTTP response, error35or60) means TLS configuration is wrong; the most common cause in late 2023 onward is the AWS endpoint requiring TLS 1.2 minimum.
If the diagnostic stops at step 2, open a ticket with the local network administrator and request that TCP/443 outbound to the AWS regional endpoint IP ranges be permitted. The current set of AWS IP ranges is published as a JSON file at AWS IP ranges; download it and filter for the AMAZON, EC2, S3, and ROUTE53 prefixes for the relevant region.
LOGO! 8.3 Configuration Parameters
The LOGO! 8.3 webserver exposes a small set of parameters that affect cloud connectivity. Review them on the BM web UI under Tools > Ethernet and confirm each value.
| Parameter | Path | Recommended value | Effect on cloud |
|---|---|---|---|
| IP address | Network > IP address | Static, in site subnet | Prevents drift if DHCP lease expires |
| Subnet mask | Network > Subnet mask | Match site policy | Required for routing |
| Default gateway | Network > Gateway | Site router IP | Required to reach Internet |
| DNS server 1 / 2 | Network > DNS | Public resolvers (1.1.1.1, 8.8.8.8) or site DNS that resolves AWS hostnames | Required to resolve the IoT endpoint |
| NTP server | Ethernet > NTP | Public NTP (pool.ntp.org) or site NTP | Keeps the LOGO! clock inside the AWS cert validity window |
| Time zone | Ethernet > Time | Site local time zone | Affects log timestamps, not connectivity |
| HTTPS only | Security > Webserver | Enabled | Forces the LWE to use TLS to the BM |
| Webserver password | Security > Access Control | Set, non-default | Blocks unauthorized reads of variables |
| Cloud trigger tag | Cloud > Trigger | Project-defined VM/NM/AM tag | Identifies the variable block to publish |
If any value is missing or empty, the LWE will fall back to defaults that may not match the site network. The most common field mistake is an empty DNS server, which causes the LOGO! to send DNS queries to its own gateway, which often is not a recursive resolver.
Alternative Cloud Connectivity Options
Because AWS endpoints and IAM conditions are outside Siemens control, sites that require long-term stability should evaluate an alternative cloud path. The following options are supported by the LOGO! 8.3 platform without a firmware upgrade.
| Option | Hardware required | Cloud destination | Effort | Long-term stability |
|---|---|---|---|---|
| LWE to AWS (current path) | LOGO! 8.3 BM + PC or CMR2020/2040 | AWS IoT / API Gateway | Low (initial) | Medium (depends on AWS API stability) |
| LOGO! CMR2020/CMR2040 with OpenVPN tunnel | LOGO! 8.3 BM + CMR2020/2040 | Any HTTPS endpoint reachable over VPN | Medium (VPN setup) | High (vendor-neutral tunnel) |
| LOGO! BM e-mail notification (SMTP) | LOGO! 8.3 BM only | Any SMTP relay | Low | High (SMTP has been stable for 30+ years) |
| LOGO! BM Modbus/TCP to local SCADA | LOGO! 8.3 BM only | On-prem SCADA / historian | Low to medium | Very high (no external dependency) |
| LOGO! BM HTTP GET/POST to a vendor-neutral broker (MQTT) | LOGO! 8.3 BM only | MQTT broker (e.g. self-hosted Mosquitto, vendor broker) | Medium (broker setup) | High (MQTT is an OASIS standard) |
For new installations, the vendor-neutral MQTT path offers the best ratio of effort to longevity, because the LOGO! BM speaks HTTP natively and an MQTT-over-WebSocket bridge can be implemented on any small Linux host. For existing AWS-bound sites, the OpenVPN path through a LOGO! CMR2020/CMR2040 module preserves the AWS endpoint while removing the LWE as a single point of failure.
Long-Term Reliability Considerations
Cloud connectivity for embedded controllers depends on three contracts that are all outside the controller manufacturer's control:
- TLS and cipher contracts: AWS and other public clouds periodically retire TLS versions and cipher suites to comply with evolving security baselines. A controller that pins a specific TLS version will eventually fail.
- Authentication contracts: IAM access keys expire, IoT certificates expire (default 1 year for AWS IoT, 5 years for some configurations), and Cognito identity pools can be deprecated without notice.
- Endpoint contracts: AWS regional endpoints can be retired, renamed, or have their protocol requirements tightened.
Mitigations that a system integrator can apply at deployment time:
- Subscribe to the AWS IoT blog RSS feed and the AWS service endpoints documentation for the regions in use.
- Set calendar reminders 30 days before each IoT certificate expiration to rotate certificates before they expire.
- Where possible, use IAM roles with short-lived credentials (STS) instead of long-lived access keys.
- Document the cloud dependency in the project handover package, including the AWS account ID, the IAM principal ARN, the IoT thing name, and the certificate thumbprint.
- Maintain a fallback manual control path on the LOGO! itself (physical pushbuttons feeding digital inputs to the cloud-published variables) so that a cloud outage does not disable the physical process.
Verification Checklist
Use this checklist to confirm the cloud path is fully restored before closing the incident.
| # | Check | Method | Pass criterion |
|---|---|---|---|
| 1 | LOGO! BM webserver reachable | Browser to http://<logo-ip>
|
Page loads, all variables read correctly |
| 2 | LOGO! BM clock | Webserver Status > Date/Time | Within 60 s of NTP reference |
| 3 | DNS resolution of AWS endpoint |
nslookup <endpoint> on LWE host |
Returns an AWS IP address |
| 4 | TCP/443 reachability | Test-NetConnection ... -Port 443 |
TcpTestSucceeded : True |
| 5 | TLS handshake to AWS endpoint | curl -v https://<endpoint> |
Handshake completes (HTTP 4xx acceptable) |
| 6 | IoT certificate validity | AWS IoT console > certificate details | Not expired, attached to a policy and a thing |
| 7 | IAM credential validity | AWS STS GetCallerIdentity
|
Returns expected account ID and ARN |
| 8 | LWE cloud status | Web Editor Cloud tab | Indicator green, variables updating |
| 9 | End-to-end publish | AWS IoT MQTT test client subscribed to project topic | Messages arriving at ≥ 1 per minute while the LOGO! runs |
| 10 | Dashboard / notification | Customer-facing dashboard or push channel | Last update timestamp within 5 minutes of test time |
Frequently Asked Questions
Why did my LOGO! 8.3 LWE to AWS connection stop working at the end of August?
AWS rotates certificates, retires TLS versions, and updates regional endpoints on a continuous schedule. The most common cause for an "end of August" outage is an AWS IoT device certificate reaching its one-year validity limit, an IAM access key being deactivated, or the LWE host losing the ability to negotiate TLS 1.2 with the regional endpoint. Validate the certificate, the IAM key, and the TLS handshake to identify the trigger.
Do I have to upgrade the LOGO! 8.3 firmware to fix the cloud connection?
No. The cloud feature runs on the LOGO! Web Editor host, not in the LOGO! BM firmware. The fix is in the LWE cloud profile and in the AWS account. A firmware update is only required if Siemens published a release note that specifically addresses a cloud-side bug, which is rare.
Can the LOGO! 8.3 publish to an MQTT broker other than AWS?
Yes. The LOGO! BM supports HTTP GET/POST natively, and a small bridge on a Linux host (for example Mosquitto plus a 20-line Python script) can convert those calls into MQTT publishes to any broker. The LOGO! CMR2020/CMR2040 modules also support OpenVPN, which lets the LWE reach any HTTPS endpoint reachable through the tunnel.
How do I confirm that my AWS IoT certificate has expired?
Open the AWS IoT console, navigate to Manage > Things > <thing name> > Security > Certificates, and inspect the Expires on column. Certificates issued by AWS IoT have a default validity of one year. If the date is in the past, the certificate cannot authenticate; the LWE will appear to connect but every publish will be rejected with reason code 5.
What is the most stable long-term cloud path for a LOGO! 8.3 installation?
For sites that must reach a public cloud, the most stable path is a vendor-neutral MQTT broker (self-hosted Mosquitto or a managed broker) reached over an OpenVPN tunnel through a LOGO! CMR2020/CMR2040. This removes the LWE as a single point of failure and decouples the LOGO! from any specific cloud vendor's API lifecycle.