[Changelog] geometris protocol
Below is the list of currently supported Packet Items of Geometris protocol, and their mapping to flespi parameters:
- 1 ICCID - gsm.sim.iccid
- 2 EVENT UTC TIME - event.timestamp, s
- 3 LATITUDE DEGREES - position.latitude, degrees
- 4 LONGITUDE DEGREES - position.longitude, degrees
- 7 UNIQUE ID (sequence number) - event.seqnum
- 8 LOCATION AGE - position.fix.age, s (converted to seconds)
- 9 REASON TEXT - report.code
- 10 REASON CODE - report.reason
- 11 IGNITION - engine.ignition.status
- 13 SPEED KMH - position.speed, km/h
- 14 SPEED MPH - position.speed, km/h
- 15 SPEED MPS - position.speed, km/h
- 16 HEADING ALPHA (N,S,E,W translation of heading) - rhumb
- 17 HEADING DEGREES - position.direction, degrees
- 21 TRUE_ODOMETER_KM - vehicle.mileage, km
- 22 TRUE_ODOMETER_MILES - vehicle.mileage, km
- 23 ODOMETER KM - gnss.vehicle.mileage, km
- 24 ODOMETER MILES - gnss.vehicle.mileage, km
- 28 SERIAL NUMBER - ident
- 36 EVENT_UNIX_TIME - timestamp, s
- 40 IOSTATES - din
- 46 LOC_HDOP - position.hdop
- 50 SATELLITES - position.satellites
- 51 IGNITION DURATION - engine.motorhours, h
- 53 BATTERY VOLTAGE - external.powersource.voltage, volts
- 54 INTERNAL BATTERY VOLTAGE - battery.voltage, volts
- 55 TOTAL_IDLE_DUR - total.idle.seconds, s
- 56 FENCE ID - geofence.id
- 57 ALTITUDE - position.altitude, m
- 59 TEMPERATURE - device.temperature, celsius
- 61 ODOMETER CHANGE (KM) - segment.vehicle.mileage, km
- 62 ODOMETER CHANGE (MILES) - segment.vehicle.mileage, km
- 63 CELL INFORMATION MCC:MNC:CI:LAC - gsm.mcc, gsm.mnc, gsm.cellid, gsm.lac
- 68 CELL RSSI - gsm.signal.dbm, dBm
- 70 ENGINE RPM - can.engine.rpm, rpm
- 71 ENGINE COOLANT TEMPERATURE - can.engine.coolant.temperature, celsius
- 72 ENGINE SPEED - can.vehicle.speed, km
- 73 ENGINE ODOMETER - can.vehicle.mileage, km
- 74 VEHICLE IDENTIFICATION NUMBER - vehicle.vin
- 75 FUEL LEVEL - can.fuel.level, percentage
- 76 ECU_ACTIVE_DTC - can.active.dtc.mil.status, boolean, can.active.dtc.number, can.active.dtc.1, can.active.dtc.2 etc
- 77 THROTTLE POSITION N- can.throttle.position, percentage
- 78 BATTERY VOLTAGE - can.battery.voltage, volts
- 79 AMBIENT TEMPERATURE - can.ambient.air.temperature,celsius
- 80 CUMULATIVE FUEL ECONOMY - can.cumulative.fuel.economy, km/liters
- 81 TRIP FUEL ECONOMY - can.trip.fuel.economy, km/liters
- 82 CURRENT FUEL ECONOMY - can.fuel.economy, km/liters
- 89 ECU_ALL_DTC - can.mil.status, boolean, can.dtc.number, can.dtc.1, can.dtc.2 etc
Geometris protocol updated, the following packet items supported:
- 91 J1939 Engine Hours - can.engine.motorhours, hours
- 92 J1939 Total fuel used - can.fuel.consumed, liters
- 93 J1939 Total gas used - can.gas.consumed, kg
- 94 J1939 Idle hours (Total) - can.total.engine.idle.time, hours
- 95 Total PTO hours - can.powesource.takeof.duration, hours
- 96 Max Vehicle speed limit - ecu.speed.limit, km/h
- 97 J1939 Oil Temperature - can.engine.oil.temperature, celsius
- 98 J1939 Engine oil level - can.engine.oil.level, percentage
- 99 J1939 Coolant level - can.engine.coolant.level, percentage
- 100 J1939 Diesel exhaust fluid level - can.adblue.level, percentage
- 101 J1939 Diesel exhaust fluid temperature - can.adblue.temperature, celsius
- 102 DPF_SOOT_LOAD - can.dpf.soot.load, percentage
- 103 DPF_TIME_SINCE_LAST_ACTIVE_REGENERATION - can.dpf.regeneration.time, seconds
- 104 DPF_SOOT_LOAD_REGENERATION_THRESHOLD - _can.dpf.regeneration.threshold, percentage__
- 107 TRANSMISSION_OIL_LEVEL - can.transmission.oil.level, percentage
- 108 TRANSMISSION_OIL_TEMPERATURE - can.transmission.oil.temerature, celsius
- 109 TRANSMISSION_CURRENT_GEAR - can.gear
- 110 SEATBELT_SWITCH - can.seatbelt.status, boolean
- 111 ECU_ODOMETER_KM - can.vehicle.mileage, km
- 112 ECU_SPEED_KM - can.vehicle.speed, km/h
- 113 J1939_CRUISE_CONTROL_STATE_TIME - can.total.cruise.control.time, hours
- 114 J1939_CRUISE_CONTROL_STATE - can.cruise.control.state
- 115 DM1 - can.dm1.mil.status, can.dm1.dtc.number, can.dm1.dtc.1, can.dm1.dtc.2 etc according to the number of DTC codes recevied
- 116 DM2 - can.dm2.mil.status, can.dm2.dtc.number, can.dm2.dtc.1, can.dm2.dtc.2 etc according to the number of DTC codes recevied
- 118 ECU_IDLE_FUEL_USED - can.fuel.idle.consumed, liters
- 119 ECU_TRIP_FUEL_USED - can.trip.fuel.consumed, liters
- 120 J1939_TRIP_GAS_USED - can.trip.gas.consumed, kg
- 121 TPMS_ All Tires:
-- AXEL TIRE - tire
-- PSI - tire.pressure.psi, psi
-- TEMPERATURE - tire.temperature, celsius
-- AIR LEAKAGE RATE - tire.leakage.psi, psi
-- FAULT:
--- TIRE_LEAK - tire.leak.status, boolean
--- TIRE_STAT_ERROR - tire.error.status, boolean
--- TIRE_LOW_BATTERY - tire.low.status, boolean
--- TIRE_WE_ERROR - tire.we.error.status, boolean
--- TIRE_TEMP_ERROR - tire.temperature.error.status, boolean
--- TIRE_XOPR - tire.extreme.overpressure.status, boolean
--- TIRE_OPR - tire.overpressure.status, boolean
--- TIRE_UPR - tire.underpressure.status, boolean
--- TIRE_XUPR - tire.extreme.underpressure.status, boolean
--- TIRE_CAF - tire.cross.axle.fault.status, boolean
--- TIRE_P_ERROR - tire.pressure.errur.status, boolean - 122 TPMS Fault Tires:
-- AXEL TIRE - fault.tire
-- PSI - fault.tire.pressure.psi, psi
-- TEMPERATURE - fault.tire.temperature, celsius
-- AIR LEAKAGE RATE - fault.tire.leakage.psi, psi
-- FAULT:
--- TIRE_LEAK - fault.tire.leak.status, boolean
--- TIRE_STAT_ERROR - fault.tire.error.status, boolean
--- TIRE_LOW_BATTERY - fault.tire.low.status, boolean
--- TIRE_WE_ERROR - fault.tire.we.error.status, boolean
--- TIRE_TEMP_ERROR - fault.tire.temperature.error.status, boolean
--- TIRE_XOPR - fault.tire.extreme.overpressure.status, boolean
--- TIRE_OPR - fault.tire.overpressure.status, boolean
--- TIRE_UPR - fault.tire.underpressure.status, boolean
--- TIRE_XUPR - fault.tire.extreme.underpressure.status, boolean
--- TIRE_CAF - fault.tire.cross.axle.fault.status, boolean
--- TIRE_P_ERROR - fault.tire.pressure.errur.status, boolean - 123 ECU_PTO_STATE - can.pto.status, boolean
Geometris protocol is updated: fixed parsing of item 73 ENGINE ODOMETER Miles (flespi parameter can.vehicle.mileage) in order to successfully receive values expressed in floating point format.
Geometris protocol is updated:
- fixed parsing error for the packets without trailing NULL-character
- wait_ack parameter is added for custom command, that allows to specify if the command reply from the device is expected, so that server would wait for it
Geometris protocol is updated: added parsing of optional diagnostic information.
The following flespi parameters are registered:
- Supervisor version - supervisor.version
- Hardware Options - hardware.options
- Bluetooth Mode - bluetooth.mode
- Bluetooth version - bluetooth.version
- Firmware Hash - firmware.hash
- Board type - board.type
- Firmware Type - firmware.type
- Firmware version - firmware.version
- SIM Type - gsm.sim.type
- ICCID - gsm.sim.iccid
- IMEI - device.imei
- MSISDN - gsm.msisdn
Geometris protocol is updated: added parsing of optional BLE Driver Id.
Information about detected BLE tags is registered in the ble.beacons parameter.
The protocol will be affected by the change in parameter can.dtc to be installed in 2 weeks - Mar 15th, 2024: the parameter can.dtc is currently of string type and will be converted to type array with separate DTC codes.
Added parameter can.dtc.array as an example of future implementation of can.dtc
- Edited
YuryAheichyk changes have been applied, the can.dtc parameter type changed to array
parameter renaming announcement which will happen in a week (May 22):
parameter total.idle.seconds will be renamed to total.idle.time
Geometris protocol is updated: packet item 43 Bluetooth connected state is supported.
Geometris protocol is updated: fixed parsing of the cases, when the last packet item is empty.
Item 37 (Instantaneous X/Y/Z accelerometer data) is parsed to parameters x.acceleration, y.acceleration, z.acceleration
- Edited
Added can.dtc parameter with DTC codes array.
Parameters:
- can.active.dtc
- can.dm1.dtc
- can.dm2.dtc
- can.active.dtc.mil.status (use can.mil.status instead)
- can.active.dtc.number (use can.dtc.number instead)
- can.dm1.dtc.number (use can.dtc.number instead)
- can.dm1.mil.status (use can.mil.status instead)
will be removed in 2 weeks, 11-Feb-2025
YuryAheichyk changes applied, removed parameters:
- can.active.dtc
- can.dm1.dtc
- can.dm2.dtc
- can.active.dtc.mil.status (use can.mil.status instead)
- can.active.dtc.number (use can.dtc.number instead)
- can.dm1.dtc.number (use can.dtc.number instead)
- can.dm1.mil.status (use can.mil.status instead)
- Edited
The OBDII DTC codes registration is planned to be changed. Currently, error codes are stored in the can.dtc parameter as an array of strings. To unify with other diagnostic protocol types, errors will be stored as an array of objects.
The changes will be applied in 2 weeks, on May 8, 2025.
For reference, two additional parameters have been added:
- can.dtc.strings - contains errors in the current format (will be removed in 1 month, on May 24, 2025)
- can.dtc.objects - contains errors in the new format (will be removed in 2 weeks, on May 8, 2025)
can.dtc.strings example:
["P0020","U0001"]
can.dtc.objects example:
[{"standard":"OBDII","code":"P0020"},{"standard":"OBDII","code":"U001"}]
YuryAheichyk changes applied, can.dtc array contain objects now.
For reference, two additional parameters added:
- can.dtc.strings - contains errors in the old format (will be removed on May 24, 2025)
- can.dtc.objects - contains errors in the new format (will be removed on May 24, 2025)
can.dtc.strings example:
["P0020","U0001"]
can.dtc.objects example:
[{"standard":"OBDII","code":"P0020"},{"standard":"OBDII","code":"U001"}]