[{"data":1,"prerenderedAt":256},["ShallowReactive",2],{"doc-\u002Ftroubleshooting\u002Fdevice-offline":3},{"id":4,"title":5,"body":6,"description":246,"edit":247,"extension":248,"meta":249,"navigation":250,"path":251,"seo":252,"stem":253,"vertical":247,"weight":254,"__hash__":255},"content\u002Ftroubleshooting\u002Fdevice-offline.md","Device offline",{"type":7,"value":8,"toc":233},"minimark",[9,22,27,35,42,46,52,59,72,75,79,86,102,109,113,124,130,133,137,144,147,155,159,162,187,191,202,205,209,212,230],[10,11,12,13,17,18,21],"p",{},"The dashboard shows a grey dot next to your device, no new readings have\nlanded in the last ",[14,15,16],"code",{},"2 × cadence"," minutes, and you got a Telegram alert\nthat says ",[14,19,20],{},"device_offline",". This page walks the diagnostic in the order\nthat resolves it fastest.",[23,24,26],"h2",{"id":25},"_1-has-the-device-ever-been-online","1 · Has the device ever been online?",[10,28,29,30,34],{},"If the device is ",[31,32,33],"strong",{},"new",", the symptom is \"first reading never landed\",\nnot \"device went offline\". The two are different problems. Go directly\nto step 3 (token + URL).",[10,36,37,38,41],{},"If the device ",[31,39,40],{},"was online and went grey",", continue.",[23,43,45],{"id":44},"_2-is-it-the-wifi-or-the-device","2 · Is it the WiFi or the device?",[47,48],"stoplight",{"alarm":49,"ok":50,"warn":51},"Every device on this site is grey","Other devices on the same WiFi are reporting","Some devices on this site are also late but not all",[10,53,54,55,58],{},"If ",[31,56,57],{},"every"," device on a site is grey, the WiFi or the upstream link is\ndown — not the sensor. Standard checks:",[60,61,62,66,69],"ul",{},[63,64,65],"li",{},"Reboot the WiFi access point.",[63,67,68],{},"Check the modem's WAN light.",[63,70,71],{},"If you have a backup 4G modem in the closet, fail over.",[10,73,74],{},"In this case, OpenSense did not lose anything: the devices buffer locally\non most platforms (Shelly Plus \u002F Gen3: ~60 readings; ESP32 with our\nrecommended firmware: up to 24 h; Efento LoRaWAN: ~7 d). When the link\ncomes back, the devices replay the buffer and OpenSense ingests with the\noriginal timestamps. The gap in the chart fills in.",[23,76,78],{"id":77},"_3-is-the-ingest-url-still-valid","3 · Is the ingest URL still valid?",[10,80,81,82,85],{},"If only ",[31,83,84],{},"one"," device is grey, check:",[60,87,88,95],{},[63,89,90,91,94],{},"Was the device's ",[31,92,93],{},"ingest token"," rotated? Tokens older than 365 days\nare auto-flagged for rotation in the dashboard; if the operator rotated\nbut did not update the device, the device is now POSTing with a dead\ntoken. The ingest endpoint responds 401 and the device usually does\nnot retry beyond one cycle.",[63,96,97,98,101],{},"Did the device's ",[31,99,100],{},"URL"," get edited in the device UI? On a Shelly,\nsomeone may have wiped the action by accident when adjusting WiFi.",[10,103,104,105,108],{},"Reissue the token: dashboard ",[14,106,107],{},"Device → Settings → Rotate token",". Copy\nthe new URL. Re-paste into the device's web UI.",[23,110,112],{"id":111},"_4-is-the-battery-dead","4 · Is the battery dead?",[10,114,115,116,119,120,123],{},"On Shelly H&T, the ",[31,117,118],{},"last reading"," before the device went grey usually\nincludes a ",[14,121,122],{},"battery"," value. If it dropped below 3.4 V (Gen3) or 25 %\n(Gen1), the device is about to die. If the last reading was at 3.1 V or\n\u003C 10 %, it is dead. Replace the 18650, recalibrate (Shelly's battery\ngauge is approximate).",[10,125,126,127,129],{},"LoRaWAN devices report ",[14,128,122],{}," in their uplink payload; same rule.",[10,131,132],{},"ESP32 DIY devices may or may not — depending on your firmware. If you\ndo not have a battery channel, add one. Battery is the first thing that\nfails; you want to know.",[23,134,136],{"id":135},"_5-is-the-captive-portal-the-problem","5 · Is the captive portal the problem?",[10,138,139,140,143],{},"Some WiFi APs in cafés and hotels run a ",[31,141,142],{},"captive portal"," that asks\nthe device to accept a click-through every 24 h. Battery sensors that\nsleep cannot click. Symptom: device works for the first day after pairing\nand then dies daily at the same hour.",[10,145,146],{},"Two fixes:",[60,148,149,152],{},[63,150,151],{},"Best: use a dedicated WiFi VLAN for sensors, no captive portal.",[63,153,154],{},"Workaround: configure the AP to whitelist the sensor's MAC.",[23,156,158],{"id":157},"_6-is-it-the-cellular-path","6 · Is it the cellular path?",[10,160,161],{},"For LoRaWAN deployments, \"device offline\" can mean:",[60,163,164,175,181],{},[63,165,166,167,170,171,174],{},"The ",[31,168,169],{},"sensor"," itself is fine but the ",[31,172,173],{},"gateway"," is offline. Check the\nTTN gateway status page.",[63,176,166,177,180],{},[31,178,179],{},"TTN webhook"," is failing. TTN retries but with cap; if the\nOpenSense webhook returned 5xx for too long, TTN unscheduled the\ndelivery. Re-enable in the TTN console.",[63,182,166,183,186],{},[31,184,185],{},"frequency plan"," is wrong — only if you just changed something.",[23,188,190],{"id":189},"_7-is-it-our-problem","7 · Is it our problem?",[10,192,193,194,197,198,201],{},"Check the status page (",[14,195,196],{},"https:\u002F\u002Fopensense.murzin.digital\u002Fstatus","). The\ningest service publishes a one-second-resolution health check. If\n",[14,199,200],{},"ingest=down"," is showing, the diagnostic above is moot; we are working\non it.",[10,203,204],{},"We will email you within 5 minutes of detection if there is a sustained\ningest outage. The email is sent from a different infrastructure than the\ningest, so it survives our own outages.",[23,206,208],{"id":207},"if-none-of-the-above","If none of the above",[10,210,211],{},"Open a support ticket with:",[60,213,214,221,224,227],{},[63,215,216,217,220],{},"The device id (",[14,218,219],{},"dev_…",").",[63,222,223],{},"The last known good timestamp.",[63,225,226],{},"The Shelly \u002F Efento \u002F ESP32 model.",[63,228,229],{},"The most recent screenshot of the device's own web UI.",[10,231,232],{},"We have full request logs for the last 30 days; with the device id we can\nusually point at the root cause within an hour.",{"title":234,"searchDepth":235,"depth":235,"links":236},"",3,[237,239,240,241,242,243,244,245],{"id":25,"depth":238,"text":26},2,{"id":44,"depth":238,"text":45},{"id":77,"depth":238,"text":78},{"id":111,"depth":238,"text":112},{"id":135,"depth":238,"text":136},{"id":157,"depth":238,"text":158},{"id":189,"depth":238,"text":190},{"id":207,"depth":238,"text":208},"Green dot went grey — diagnostic order",null,"md",{},true,"\u002Ftroubleshooting\u002Fdevice-offline",{"title":5,"description":246},"troubleshooting\u002Fdevice-offline",410,"2zWjxR74WDqs_Uo8m_8QH2azB03RtLAkbNuZIpQdT9g",1779022955327]