If you have a Service to which you've previously connected, so you're pretty sure everything's OK, but you just tried connecting and it failed, please read on.
If your device uses the Linux "shutdown" or "reboot" command, then the connectd daemons send a message back to our chat servers which say "we are going offline". If that happens, then the online/offline status is very accurate.
If, instead, the power or internet connection is simply removed from the device, it can take between 12 and 17 minutes for our servers to decide that the device has gone offline and change the state from "Online" to "Offline". The same status is shown everywhere - the web portal, mobile apps, Desktop application, REST API or graphQL. In the web portal or any of the apps, you may need to refresh the view to get the current state of your Devices and their Services.
The connectd daemon sends a "heartbeat" message to our chat server every 3 to 4 minutes. Since it is possible for these messages to get dropped, we do not decide that the device has actually gone offline until we accumulate several such messages in a row. So, if when your device normally goes off, the power is simply removed, there are going to be periods of time lasting up to 17 minutes where the status shows as "online" but it is not possible to connect to the device.