Hello @pparm-8148
Thank you for your question this is a great deep-dive topic and I appreciate the specificity of what you're looking for. This may be a little long winded but I hope it helps shed some light on this process. Let me break down everything that goes into the CONNECTED/DISCONNECTED status for GO9 devices without a backup battery.
How the Server Determines DISCONNECTED Status
The CONNECTED/DISCONNECTED state is not triggered by the device sending a "disconnect" signal it is computed server-side based on elapsed time since the last data was received from the device. The key field is DeviceStatusInfo.DateTime, which reflects the timestamp of the most recent piece of status, GPS, or fault data received.
The server runs an hourly health check cycle that evaluates whether the time since DeviceStatusInfo.DateTime exceeds a device-type-specific threshold. For standard GO devices, the documented threshold is 24 hours meaning if the server has not received any data from the device within 24 hours, it will flag the device as not communicating (DISCONNECTED).
GO9 Heartbeat Frequency (Ignition Off / Sleep Mode)
When the ignition is off, the GO9 enters sleep mode and sends periodic heartbeat pings:
- First 72 hours after ignition off: Every 30 minutes
- After 72 hours of ignition off: Every 23 hours
- Low Voltage detected (< 11.6V for 5 min): Forced heartbeat, then every 23 hours
- Device Disabled state: After 12 hours, then every 23 hours
The Critical Factor: No Backup Battery
This is where it gets important for your use case. The standard GO9 has no internal backup battery. When the device loses power (unplugged from the OBD-II port or vehicle power is cut):
1. The device immediately loses all ability to communicate it cannot send a "I've been disconnected" message to the server
2. The server has no way to know the device lost power in real time it simply stops receiving data
3. The server will only flag the device as DISCONNECTED after the 24-hour threshold passes without receiving any data, evaluated during the hourly health check cycle
4. The DiagnosticDeviceHasBeenUnpluggedId fault is only logged and transmitted after the device is reconnected and powers back on it cannot be sent at the moment of disconnection
Summary of Conditions and Timing
- Device unplugged / power cut (no backup battery): Immediate power loss, no signal sent. Time to DISCONNECTED up to 24 hours (server-side timeout,
checked hourly).
- Device in sleep mode, cellular signal lost: Heartbeat pings fail to reach server. Time to DISCONNECTED up to 24 hours after last successful data transmission.
- Device in active driving, power cut: Stops transmitting mid-trip. Time to DISCONNECTED up to 24 hours after last received GPS/status data.
Key Takeaway
There is no real-time DISCONNECTED notification for GO9 devices without a backup battery. The DISCONNECTED state is always a retroactive determination by the server after the ~24 hour window has elapsed without receiving data. The hourly health service check means the actual detection could range from ~24 to ~25 hours after the last communication.
Recommendation
If faster disconnect detection is critical for your use case, consider pairing the GO9 with the IOX-BATTERY accessory. With the IOX-BATTERY:
- The device continues transmitting for up to 4 hours while driving or 4 days while parked after power loss
- It can immediately send the unplug event fault to the server in real time
- This enables near-real-time disconnect detection rather than the ~24 hour server-side timeout
References
- Geotab Firmware Product Guide — Heartbeat Frequency: https://support.geotab.com/go-devices/installation/doc/firmware
- Device Status User Guide: https://support.geotab.com/go-devices/doc/device-status
- IOX-BATTERY Documentation: https://support.geotab.com/ioxs/doc/iox-battery
- DeviceStatusInfo SDK Reference: https://developers.geotab.com/myGeotab/apiReference/objects/DeviceStatusInfo
Please let us know if you have any other questions. We are here to help.
Have a great day!
Eishi FUN