My device shows offline

Updated

Work through these:

  1. Power & network — is the device (and its gateway) powered and connected?

  2. Reporting interval — only for direct MQTT and webhook devices, where we can't see the configured interval and assume 90 s. If yours reports less often, either increase the frequency or set a reporting grace period on the device to match. Gateway-connected devices are not affected: the gateway heartbeats every ~10 s regardless of publish interval.

  3. Gateway — if the parent gateway is offline, all its children are too. Fix the gateway first.

  4. Credentials/topic: for mqtt-direct, check that the device:

    • connects to mqtt.synacl.com on port 8883 with TLS (port 1883 can't be reached from the internet),
    • uses the username, password and base topic you got when you created it,
    • has a client ID that no other connection uses. Two connections with the same ID keep disconnecting each other.

    Not sure of the password? Click Reset MQTT password on the device page, then update the device with the new password.

  5. Faults — check the Events feed for modbus/timeout, */fault, or */poll-error (see fault events). If you can capture the actual bytes — from the gateway's console log, or from an adapter log on the bench — paste them into the Modbus frame decoder, which tells an exception reply apart from a CRC error and from a reply that was simply cut short.

  6. Polling auto-disabled — for HTTP, SNMP and Modbus-TCP devices (which we poll directly), see below.

Presence resets if our cache is flushed; a healthy device re-appears as soon as it next reports.

Why did my HTTP / SNMP / Modbus-TCP device stop polling?

These three protocols are polled directly by Synacl on the interval you configured. To protect the platform from endlessly hammering a dead endpoint, we automatically disable polling for a device after 10 consecutive failed attempts. When this happens you'll see a device/poll-disabled event and a "Polling disabled" badge on the device page — no further requests are made until you re-enable it.

To recover:

  1. Fix the underlying cause — wrong host/IP/port, an unreachable network, bad credentials, or a wrong OID / register / JSON path. The last error is shown on the device page.
  2. Open the device and click Re-enable polling. Querying resumes within about a minute.

If it fails again 10 times in a row it will be disabled again — that's expected until the device or its connection settings are corrected.