> For the complete documentation index, see [llms.txt](https://help.tillit.cloud/tillit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.tillit.cloud/tillit/tools/ignition-module/troubleshooting/connectivity-issues.md).

# Connectivity Issues

## Connectivity Issues

The TilliT Ignition Module communicates with TilliT over two channels:

* **MQTT (port 8883)** - the module subscribes to topics such as orders, events and control parameters. This is what populates the **Read** folder of each asset.
* **HTTPS (port 443)** - the module makes REST calls for `system.tillit.getApi`, `system.tillit.postApi`, asset hierarchy fetches and similar operations.

When something is wrong, the **System Status** folder under the TilliT tag provider is the first place to look. See [Verifying the installation](/tillit/tools/ignition-module/troubleshooting/verifying-the-installation.md) for healthy values.

### Module fails to start

**Symptom**: the TilliT Module appears as **Faulted** in **Config → Modules**, or never reaches the **Running** state.

| Likely cause                                        | Fix                                                                                                                                                                                   |
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Configuration is missing or incomplete              | Open **TilliT → Settings** in the Gateway and confirm tenant, environment, username, password, Thing ID, and the three certificate files are all set                                  |
| Java version mismatch                               | The 8.3 module requires the Java runtime bundled with Ignition 8.3. Do not install the 8.3 `.modl` on an Ignition 8.1 gateway, or vice versa                                          |
| The `.modl` was downloaded but not signed correctly | Re-download from the link in [Installation](/tillit/tools/ignition-module/installation.md). Browsers occasionally truncate large downloads - confirm the file size matches the source |

Look at the gateway log for entries from logger `TilliT` at startup - the cause of the fault is logged at `ERROR` level.

### MQTT does not connect

**Symptom**: in the **System Status** folder, `Connected` is `false` and `Connection status` shows an error rather than `Connected to iot.tillit.cloud`.

| Likely cause                                              | How to confirm                                                                                                                                    | Fix                                                                                                                                                                                      |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Wrong Thing ID                                            | Compare the **Thing ID** field in the TilliT settings page against the Thing ID shown on the Edge in TilliT (Settings → Edge)                     | Update the Thing ID in the gateway settings - they must match exactly                                                                                                                    |
| Certificate files were placed in the wrong fields         | The .zip downloaded from TilliT contains `privKey.key`, `thingCert.crt` and `rootCA.pem`. The settings page has three corresponding upload fields | Re-upload, ensuring **Private Key** = `privKey.key`, **Certificate** = `thingCert.crt`, **Root CA** = `rootCA.pem`                                                                       |
| Certificates are from a different Edge                    | Each Edge has its own unique certificate set. Re-using certificates from a different Edge will fail                                               | Download a fresh certificate bundle from the correct Edge in TilliT                                                                                                                      |
| Outbound MQTT (port 8883) is blocked by a firewall        | Run `nc -vz iot.tillit.cloud 8883` (or the regional equivalent) from the Ignition host                                                            | Open egress to the endpoints listed in [Network Security](/tillit/tools/ignition-module/network-security.md)                                                                             |
| DNS resolution differs between firewall and Ignition host | TilliT auto-rotates IP addresses; firewalls that pin IPs will drift out of sync                                                                   | Configure the firewall to allow by hostname, or share DNS servers between the firewall and the Ignition host - see [Network Security](/tillit/tools/ignition-module/network-security.md) |
| Wrong environment                                         | The endpoints differ for production, stage and development                                                                                        | Confirm the **Environment** field in settings matches the TilliT environment you are connecting to                                                                                       |

The `Error code` tag in **System Status** holds the last MQTT error reported by the broker. Pair this with log entries from `TilliT.PubSubHandlerImpl` to identify the exact failure.

### REST API calls fail with 401 or 403

**Symptom**: `system.tillit.getApi(...)` returns an error, or asset hierarchy is never built. Logs from `TilliT.ApiCall` show `401 Unauthorized` or `403 Forbidden`.

| Likely cause                                            | Fix                                                                                                                                                                                                                                  |
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Username or password are wrong                          | Re-check the credentials in **TilliT → Settings**. The username is the email address of the TilliT user                                                                                                                              |
| The TilliT user was created but never logged in         | New TilliT users are created with a temporary password that **must** be changed on first login. Log in to the TilliT web UI as that user once, set a permanent password, then enter the new password in the Ignition module settings |
| The TilliT user does not have permission for the tenant | Confirm in TilliT that the user is assigned to the correct tenant and has at least read access to assets, work orders and events                                                                                                     |
| Wrong tenant or region                                  | The tenant is sent in the request credentials and the region selects the API path (`/api`, `/us/api`, `/eu/api`) - neither appears in the hostname. A typo in either field produces a 401/403                                        |

{% hint style="info" %}
We recommend creating a dedicated TilliT user named after the Ignition gateway (e.g. `ignition-site-1`) rather than re-using a person's account. This makes audit logs in TilliT clearer and avoids the module locking out when a user changes their own password.
{% endhint %}

See the [Users](/tillit/knowledge-base/users.md) guide for creating users.

### Connection drops repeatedly

**Symptom**: `Connected` flips between `true` and `false` over time. `Messages received` resets or stops growing.

| Likely cause                                                             | Fix                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Keep alive** value is too low                                          | Increase the keep alive on the TilliT settings page. The module default is `30` seconds; raising it (up to the broker maximum of `1200` seconds) lets the connection tolerate longer quiet periods before the broker drops it |
| Network path between Ignition and TilliT has high latency or packet loss | Investigate with your network team. The module will reconnect automatically, but frequent drops indicate an underlying network problem                                                                                        |
| The same Edge / Thing ID is configured on more than one gateway          | Each Edge in TilliT may only be connected from one client at a time. Two gateways using the same certificate set will fight for the connection. Create a separate Edge in TilliT for each gateway                             |

### Connection works but no messages arrive

**Symptom**: `Connected` is `true` but `Messages received` stays at `0`.

| Likely cause                                                                                | Fix                                                                                              |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| No work orders, events or control parameters have been published since the module connected | Trigger an event or start a work order in TilliT to confirm the module receives it               |
| The TilliT user does not have access to the events or orders being published                | Confirm the user has access to the relevant assets in TilliT                                     |
| MQTT topic subscription failed silently                                                     | Check `TilliT.PubSubHandlerImpl` log entries at startup for any error after the `Connected` line |

### Connection works but designer shows no Tag Provider

This is a tag-provider issue rather than a connection issue - see [Tags and Data Issues](/tillit/tools/ignition-module/troubleshooting/tags-and-data-issues.md#the-tillit-tag-provider-does-not-appear).
