• 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

6 days later

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.

8 days later

FMB series parsing updated
ID 305 stored to can.vehicle.remaining.range
ID 263 stored to bluetooth.state.enum

7 days later

Teltonika protocol is updated: parameters vehicle.vin and vehicle.registration.number are now registered as escaped string in case they contain non-ASCII characters.
The update is applicable for FMB630 and FMB640 devices.

  • 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.

    9 days later

    TAT140 device type added
    Ignition ON counter setting added for FMB series under Miscellaneous tab

    7 days later

    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.

    8 days later

    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

    FMB series: ID 519 parsed to multiple flags according to this page

    New command external_device_packet added to forward packet to external device via uart using RS232/RS485

    5 days later

    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

    21 days later

    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

      13 days later

      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:

        9 days later

        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.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

        7 days later

        New parameters parsing added for TFT100 model

        ID 1126: Maximum available power can.max.available.power
        ID 1127: Handlebar lock status can.handlebar.lock.status
        ID 1128: Rear brake status can.rear.brake.status
        ID 1129: COM Error can.com.error.status
        ID 1130: RPM can.engine.rpm
        ID 1131: Torque current can.torque.current
        ID 1132: SN High can.sn.high
        ID 1133: SN Low can.sn.low
        ID 1134: Lowest battery voltage can.lowest.battery.voltage
        ID 1135: Lowest battery ID can.lowest.battery.code
        ID 1136: Highest battery voltage can.highest.battery.voltage
        ID 1137: Highest battery ID can.highest.battery.code
        ID 1138: Highest mismatch voltage can.highest.mismatch.voltage
        ID 1139: Highest Mismatch ID can.highest.mismatch.code
        ID 1140: Lowest battery temperature can.lowest.battery.temperature
        ID 1141: Lowest temperature battery ID can.lowest.battery.temperature.code
        ID 1142: Highest battery temperature can.highest.battery.temperature
        ID 1143: Highest temperature battery ID can.highest.battery.temperature.code
        ID 1145: Time to empty can.discharge.time
        ID 1146: Time full can.full.charge.time
        ID 1147: Cluster state can.cluster.state.enum
        ID 1148: Cluster SoC can.cluster.soc
        ID 1149: Max discharge current can.max.discharge.current
        ID 1150: Recuperation status can.recuperation.status
        ID 1151: Switch process status can.switch.process.status
        ID 1152: SoC switch level can.soc.switch.level
        ID 1153: Part charge capacity can.part.charge.capacity
        ID 1154: Cluster voltage can.cluster.voltage
        ID 1155: Cluster current can.cluster.current
        ID 1156: Major version can.major.version
        ID 1157: Minor version can.minor.version
        ID 1158: Patch version can.patch.version
        ID 1159: Recognized batteries can.recognized.batteries
        ID 1160: Activated batteries can.activated.batteries
        ID 1161: Faulty batteries can.faulty.batteries
        ID 1162: Battery 1 voltage can.battery1.voltage
        ID 1163: Battery 1 current can.battery1.current
        ID 1164: Battery 1 State can.battery1.state.enum
        ID 1165: Battery 1 SoC can.battery1.soc
        ID 1166: Battery 1 temperature 1 can.battery1.temperature
        ID 1167: Battery 1 temperature 2 can.battery1.temperature
        ID 1168: Battery 1 power stage temp 1 can.battery1.power.stage.temperature
        ID 1169: Battery 1 remaining capacity can.battery1.remaining.capacity
        ID 1170: Battery 2 voltage can.battery2.voltage
        ID 1171: Battery 2 current can.battery2.current
        ID 1172: Battery 2 state can.battery2.state.enum
        ID 1173: Battery 2 SoC can.battery2.soc
        ID 1174: Battery 2 temperature 1 can.battery2.temperature
        ID 1175: Battery 2 temperature 2 can.battery2.temperature
        ID 1176: Battery 2 power stage temp can.battery2.power.stage.temperature
        ID 1177: Battery 2 remaining capacity can.battery2.remaining.capacity
        ID 1178, ID 1179: Battery ID error code can.battery.error.code.1 and can.battery.error.code.2
        ID 1180: Cluster error code can.cluster.error.code
        ID 1181: Max charge current can.max.charge.current
        ID 1182: Lowest battery 2 temperature can.lowest.battery2.temperature
        ID 1183: Highest battery 2 temperature can.highest.battery2.temperature
        ID 1184: Lowest battery 2 voltage can.lowest.battery2.voltage
        ID 1185: Highest battery 2 voltage can.highest.battery2.voltage