Teltonika protocol is updated: we are registering AVL IDs 102 and 103 as parameters can.trip.engine.motorhours and can.engine.motorhours respectively with proper units (in hours). This change affects most of the FMBXXX models.
[Changelog] teltonika protocol
- Edited
Bugfix schedule for FMB640 series:
in 1 week (October 18) the parsing for the following parameters will be updated to correspond the measurement units described in this documentation:
ID 14: parameter can.engine.motorhours stored in seconds will be stored in hours.
ID 15: parameter can.engine.motorhours stored in seconds will be renamed to can.tracker.counted.engine.motorhours and stored in hours.
the following parameters are now stored as they come from the device, will be stored with multiplier specified in the docs:
20: can.adblue.volume will be multiplied by 0.1
31: can.throttle.pedal.level will be multiplied by 0.4
37: can.fuel.level will be multiplied by 0.4
141: battery.temperature will be multiplied by 0.1
142: battery.level will be multiplied by 0.4
If some critical part of your application is tied to current values you can avoid the change
{
"required": false,
"enabled": true,
"validate_message": "",
"item_type": 11,
"name": "revert teltonika multiplied parameters",
"configuration": {
"expressions": [
{
"expression": "can.adblue.volume * 10",
"parameter": "can.adblue.volume"
},
{
"expression": "can.throttle.pedal.level / 0.4",
"parameter": "can.throttle.pedal.level"
},
{
"expression": "can.fuel.level / 0.4",
"parameter": "can.fuel.level"
},
{
"expression": "battery.temperature * 10",
"parameter": "battery.temperature"
}
]
},
"priority": 0,
"type_id": 7,
"timezone": "UTC"
}
- Edited
kial update for can.driver.door status and can.passenger.door.status installed
Together with this update new device types added:
- Teltonika FMC00A
- Teltonika FMM00A
- Teltonika FMC920
- Teltonika FMB150
- Teltonika FMC150
Bugfix schedule for device type FMT100 (and FMP100 which is parsed by the same scheme):
ID 260 now parsed as harsh.acceleration.duration will be stored as eco.driving.event.duration. Both parameters will be registered until October 19, then harsh.acceleration.duration will be removed
FMB630 device type parameter parsing added:
112: total.mileage
114: tacho.movement.status
115: tacho.driver.work.state2 and tacho.driver.work.state.enum.2
116: tacho.driver.work.state1 and tacho.driver.work.state.enum.1
117: tacho.overspeeding.status
120: tacho.driver.card.status.1
121: tacho.driver.card.status[index=2]
126: tacho.position.speed
baja harsh.acceleration.duration for FMT100 ID 260 removed
FMB640 protocol update: Manual CAN fields had a known problem that number values bigger than 53-bits can not be represented by JSON. For these cases we've added Manual CAN fields to be stored as manual.can.hex indexed field with a string that holds HEX representation of appropriate field.
codec12 command marked as deprecated, use custom command instead, remaster your commands with this short guide:
if you use hex=false property (default) to send commands in text mode, then use custom command with single field text like this:
curl -X POST -d '[{"name":"custom","properties":{"text":"setdigout 1"},"timeout":10}]' 'https://flespi.io/gw/devices/ID/commands'
if you use hex=true property to send binary commands, then use custom command with single field hex like this:
curl -X POST -d '[{"name":"custom","properties":{"hex":"DEADBEEF"},"timeout":10}]' 'https://flespi.io/gw/devices/ID/commands'
We plan to remove codec12 command on December 1st, together with removing channel level commands on Telematics gateway architecture level. A great opportunity to chase two rabbits at once for those who uses codec12 command at channel level API.
FMB series parsing updated
ID 305 stored to can.vehicle.remaining.range
ID 263 stored to bluetooth.state.enum
- Edited
EDITED
Scheduled protocol change rejected
Changelog relates to those who uses generic device type.
Protocol change schedule: generic device type which parses AVL IDs by the same scheme as FMB110 will be changed at November 14th. All AVL IDs for generic device type will be stored upon custom.param.ID names and raw values. The parsing of timestamp and positioning data will remain the same.
Bugfix schedule: Together with removing codec12 command on December 1st, there will be change in parsing for BLE temperature sensor values for categories of: Easy, Advanced, Special trackers from here
AVL IDs 25 to 28 responsible for indexed parameters ble.sensor.temperature.1 to ble.sensor.temperature.4 parsing multiplier will be changed from 0.1 to 0.01. The change is caused by update in Teltonika documentation . It might be so that older FW version of trackers or sensors will still report value multiplied by 0.1 . If this is the case for you, you may revert back old values by multiplying new values by 10 via this plugin:
{
"required": true,
"enabled": true,
"validate_message": "",
"item_type": 11,
"name": "pvm-plugin",
"configuration": {
"code": "optional .ble.sensor.temperature.1[number] ==> this * 10 ==> #ble.sensor.temperature.1\noptional .ble.sensor.temperature.2[number] ==> this * 10 ==> #ble.sensor.temperature.2\noptional .ble.sensor.temperature.3[number] ==> this * 10 ==> #ble.sensor.temperature.3\noptional .ble.sensor.temperature.4[number] ==> this * 10 ==> #ble.sensor.temperature.4"
},
"priority": 0,
"type_id": 1,
"timezone": "UTC"
}
Another note: there are several error codes specified for the sensor values:
4000 - abnormal sensor state
3000 - sensor not found
2000 - failed sensor data parsing
But according to Teltonika support, there is no way to tell temperature 20 from error code 2000 with multiplier 0.01. So flespi will not process error codes, this will be user's responsibility. Usually, sensor can be treated in error state when its value is not changed for long period of time in one of the error codes state.
baja codec12 command removed
AVL IDs 25 to 28 responsible for indexed parameters ble.sensor.temperature.1 to ble.sensor.temperature.4 parsing multiplier is changed from 0.1 to 0.01
bugfix in trip_scenario for OBD and FMB trackers
FMB series: ID 282 is stored to can.dtc string
FMB640 series ID 144 stored to sd.status parameter
baja
actually, the command for external device has to be a bit more sophisticated (details here), because it can be also a Garmin device or a Paired Bluetooth device connected, so:
external_device_packet renamed to serial_port
bluetooth command added to forward commands to paired bluetooth device
garmin command added to forward commands to Garmin System
FMB640 series parsing scheme update:
new parameters added:
224 - ultrasonic.fuel.level.1
225 - ultrasonic.fuel.level.2
208 - ultrasonic.software.state.enum.1
209 - ultrasonic.software.state.enum.2
10009 - eco.driving.events.number
10487 to 10492 - sensor.humidity.1 to sensor.humidity.6
109 - fms.software.version
110 - fms.diagnostics.supported
111 - fms.requests.supported
122 - fms.movement.direction
123 - fms.tacho.performance
124 - fms.handling.info
125 - fms.system.event
137 - pto.drive.engagement.enum
229 - fms.adblue.state.enum
357 - can.brake.pedal.level
10428 to 10431 - fms.tell.tale.1 to fms.tell.tale.4
10445 - can.adblue.level
176 - can.dtc.number
550 to 599 - geofence.status.51 and overspeeding.status.51 to geofence.status.100 and overspeeding.status.100
257 - acceleration.array json array of json objects with x, y,z keys showing acceleration on each axis
258 - max.x.acceleration, max.y.acceleration, max.z.acceleration
259 - average.x.acceleration, average.y.acceleration, average.z.acceleration
260 - eco.driving.event.duration
251 - immobilizer.state
183 - tacho.drive.recognize.status
189 to 190 - tacho.driver.time.state.enum.1 and tacho.driver.time.state.1 to tacho.driver.time.state.enum.2 and tacho.driver.time.state.2
56 to 57 - tacho.driver.continuous_driving.duration.1 to tacho.driver.continuous_driving.duration.2
58 to 59 - tacho.driver.cumulative_break.duration.1 to tacho.driver.cumulative_break.duration.2
60 to 61 - tacho.driver.selected.activity.duration.1 to tacho.driver.selected.activity.duration.2
69 - tacho.driver.cumulative_driving.duration.1
77 - tacho.driver.cumulative_driving.duration.2
48 - tacho.data.source
indexed parameter device.com.connection.status parsed from IDs 643 and 644 was removed, as it is not present in current data sending parameter ID list
bugfix:
327 to 356 are now stored to parameters geofence.status.21 and overspeeding.status.21 to geofence.status.50 and overspeeding.status.50. Before that they were stored with incorrect index from 1 to 30
FMB series parsing update:
ID 10 boolean parameter sd.status
ID 116 parsing to battery.charging.status parameter removed, as it does not correspond the documentation
ID 238 parameter custom.user.id
ID 237 parameter gsm.network.type
ID 759 parameter can.fuel.type.enum
ID 11317 to array parameter eye.beacons
ID 10828 to array parameter visible.beacons
ID 10829 to array parameter found.beacons
ID 10831 to array parameter lost.beacons
FMB640 seires parsing update:
ID 10500 parsed as standard ble.beacons list
ID 548 is parsed as advanced ble.beacons list https://wiki.teltonika-gps.com/view/FMC640_Beacon_List
We added to flespi parameters information from which AVL ID they are detected.
You may investigate each specific parameter via teltonika protocol page or messages parameters tool built-in your flespi.io account:
- Edited
baja fix in ID 11317 to array parameter eye.beacons storing: now temperature is stored with BIG endian as for new firmware update.
Device types added:
Teltonika FMM800
Teltonika FMC800
Teltonika FMM920
Teltonika FMM150
AVL ID 200, containing the "Sleep Mode" state, is now stored in a new parameter sleep.mode.enum
of type number
, for values other than 0. Current parameter sleep.mode.status: true
, stored for the same non-zero values, will be deleted Friday, Jan 27, 2023.
kial sleep.mode.enum is now stored if 0 too.
Device types added:
Teltonika FMM13A
Teltonika FMC13A
kial sleep.mode.status removed
FMB640 series parsing for ID 548 implemented according to updated documentation
Parsing updated for all FMB series:
ID 258 is parsed to parameters max.x.acceleration, max.y.acceleration and max.z.acceleration
ID 259 is parsed to parameters average.x.acceleration, average.y.acceleration and average.z.acceleration
ID 259 is parsed to parameter eco.driving.event.duration
ID 387 is parsed as a string parameter iso6709.coordinates