I was tasked with figuring out why a particular Teltonika device (FM1100) used up all of its monthly bandwidth limit and incurred a hefty bill. Checking the data received from the device it became apparent that the device would record data every second, all the time (regardless if the vehicle was stationary or not, ignition on or not, etc).
I've hooked up the device in question to my PC and the following appears multiple times in the terminal:
[EvtQueue] WARNING @ EQ_Core.c(339): Conditions (time and/or position fix) not satisfied
[EvtQueue] WARNING @ EQ_Core.c(343): IO Event NOT Saved! ID.[1].
From this I gathered that it's something to do with IO event ID1, which is the "Digital Input 1". Now, at the time of testing the device was NOT hooked up to anything BUT my PC (no external signals at all; only power and USB for debugging). The configuration for this event was as follows:
Priority: High
Low Level: 1
High Level: 1
Generate Event: On Both
Averaging constant: 200
I realize that for a binary information like this the "On change" option is probably better, but I still don't understand why the device is triggering this event every second. If the value isn't changing, then shouldn't the event only be generated once? What are the ideal settings for a binary IO?
It seems that the device wasn't always problematic, and that initially things were working fine and only at some point, for reasons unknown, the device started to "spam" data. This is, of course, when the device was mounted in a vehicle, not on my table. Is it possible there's a fault in the device and / or firmware? Should I perhaps update the firmware? The current FW is 01.26.01.Rev:99.
EDIT: I've changed the parameters of the event to fire "on change" - the device is still spamming event 1. I've tried hooking up the GPS to the device, so that the first warning goes away, and the device still keeps spamming.
Here's the log after hooking up the GPS to the device:
[2019.06.14 07:26:26]-[EvtQueue] HIGH priority action!
[2019.06.14 07:26:26]-[EvtQueue] Checking for GPRS...
[2019.06.14 07:26:26]-[EvtQueue] GPRS not Available
[2019.06.14 07:26:26]-[NMEA] Jump Stage 1. Jump Detected, Lock-ON
[2019.06.14 07:26:26]- [MTX.WDG]->sr:0[1800] fl:0[1800] mod:0[1800] pr:210[1800] ds18:0[1800] lvcan:0[1800]
[2019.06.14 07:26:26]-[MODEM] Modem is Initializing (tmo:109)
[2019.06.14 07:26:27]-[AVL] Record Saved:
Timestamp: 1560497187000
Priority : 1
Latitude : REDACTED
Longitude: REDACTED
Altitude : 56
Angle : 0
Speed : 0
HDOP : 2.9
SatInUse : 6
Event ID : 1
IO[ 1]: 0
IO[ 2]: 0
IO[240]: 0
IO[ 21]: 0
IO[ 1]: 0
IO[ 9]: 28
IO[ 66]: 12089
IO[ 24]: 0
RecSize : 49 Bytes
[2019.06.14 07:26:27]-[SMS Event] SMS Event is not configured:0
[2019.06.14 07:26:27]-[RecMng] New record address: 0x0000A100 len: 49, 161 / 256
[2019.06.14 07:26:27]-[EvtQueue] HIGH priority action!
[2019.06.14 07:26:27]-[EvtQueue] Checking for GPRS...
[2019.06.14 07:26:27]-[EvtQueue] GPRS not Available
[2019.06.14 07:26:27]-[NMEA] Jump Stage 2. No Jump Counter: 4/5
[2019.06.14 07:26:27]-[MODEM] Modem is Initializing (tmo:108)
[2019.06.14 07:26:27]-[NMEA Filter] WARNING @ nmea.c(440): Invalid velocity detected: 147 m/s
[2019.06.14 07:26:28]-[AVL] Record Saved:
Timestamp: 1560497188000
Priority : 1
Latitude : REDACTED
Longitude: REDACTED
Altitude : 56
Angle : 0
Speed : 0
HDOP : 2.9
SatInUse : 6
Event ID : 1
IO[ 1]: 0
IO[ 2]: 0
IO[240]: 0
IO[ 21]: 0
IO[ 1]: 0
IO[ 9]: 28
IO[ 66]: 12079
IO[ 24]: 0
RecSize : 49 Bytes
[2019.06.14 07:26:28]-[SMS Event] SMS Event is not configured:0
[2019.06.14 07:26:28]-[RecMng] New record address: 0x0000A200 len: 49, 162 / 256
[2019.06.14 07:26:28]-[EvtQueue] HIGH priority action!
[2019.06.14 07:26:28]-[EvtQueue] Checking for GPRS...
[2019.06.14 07:26:28]-[EvtQueue] GPRS not Available
[2019.06.14 07:26:28]-[NMEA] Jump Stage 1. Jump Detected, Lock-ON
[2019.06.14 07:26:28]-[MODEM] Modem is Initializing (tmo:107)
[2019.06.14 07:26:29]-[AVL] Record Saved:
Timestamp: 1560497189000
Priority : 1
Latitude : REDACTED
Longitude: REDACTED
Altitude : 56
Angle : 0
Speed : 0
HDOP : 2.9
SatInUse : 6
Event ID : 1
IO[ 1]: 0
IO[ 2]: 0
IO[240]: 0
IO[ 21]: 0
IO[ 1]: 0
IO[ 9]: 28
IO[ 66]: 12089
IO[ 24]: 0
RecSize : 49 Bytes
[2019.06.14 07:26:29]-[SMS Event] SMS Event is not configured:0
[2019.06.14 07:26:29]-[RecMng] New record address: 0x0000A300 len: 49, 163 / 256
The log clearly shows that the Even 1 is being triggered, but the actual value isn't being changed (so, it's not "entering, leaving", nor is it "on changed"). Also, the timing is wrong and doesn't seem to take the actual setting of the averaging constant into account.