{
  "id": 9434590,
  "title": "Your MQTT devices keep publishing when the WAN drops — here's the setup",
  "url": "https://urgent.news/2026/09/23/your-mqtt-devices-keep-publishing-when-the-wan-drops-heres-the-setup",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-23T22:40:02.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/jon_zuanich/your-mqtt-devices-keep-publishing-when-the-wan-drops-heres-the-setup-243b"
  },
  "original_language": "en",
  "account": "When the WAN connection drops, devices continue publishing MQTT messages to a cloud broker. The issue isn't discovered until weeks later, when someone notices a gap in the historian data. Two solutions exist: QoS 1 with persistent sessions or a local broker bridged to the cloud. The latter option, despite not being technically challenging, involves maintaining a broker for each site, which can become overwhelming as the number of sites grows. Buffering is a solved problem, but the real challenge lies in the namespace issue. Each site has its unique identity and naming scheme, leading to inconsistencies across the network. A better approach is to keep MQTT at the device level and place a local MQTT interface at the site, which persists messages locally and integrates with the hub. This approach eliminates the namespace problem, as the MQTT topic levels map directly onto the NATS subject tokens. While this solution adds another process at each site, it simplifies namespace management and reduces integration complexity as the number of sites increases.",
  "summary": "Devices publish MQTT to a broker in the cloud. It works, until the link to the site goes down for forty minutes. What happened to the readings in between is usually discovered weeks later, by someone looking at a gap in the historian while investigating something unrelated. There are two standard answers, and they're both reasonable. QoS 1 with a persistent session. The client retries…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}