bird New parameter gnss.jamming.status for EID=90 (GNSS Jamming detected) and EID=91 (GNSS Jamming ended) events New parameter econnect.peer (object) for EID=3 (eConnect) events — contains peer device data: engine.ignition.status, speed.scale, position.direction, position.latitude, position.longitude, rssi, state, position.age, ident.type, ident New parameter external.device.value for EDV1-4 and EDX1-4 dynamic fields
bird Custom Events #1-#16 (EID 48-55, 60-67) are now supported — devices will no longer disconnect on custom event reports New parameter immobilizer.override.mode for EID=77 (Override mode) events New parameter external.device.firmware.version for EID=73 (Device added) and EID=74 (Device removed) events EID=68 (Passenger ID) and EID=93 (Forced disarm) immobilizer events are now supported with immobilizer.state, immobilizer.rule, immobilizer.data parameters
bird Fixed parsing of engine.ignition.status parameter — was incorrectly set to true for events without explicit ignition extra fields (events 14, 15, 18, 33, 44, 45, 48, 49, 50, 90, 91, etc.). Now correctly reflects actual engine state.
bird New parameter engine.status added — engine running state from #ENG# dynamic field and Events 24/25 (Engine On/Off). Previously, #ENG# incorrectly wrote to engine.ignition.status, overwriting the correct ignition value from #IGN#. Now #ENG# and #IGN# produce independent parameters: engine.ignition.status for ignition state, engine.status for engine running state.
bird New iButton attached/detached events (EID 46/47) are now supported with ibutton.code and ibutton.connected.status parameters.
namo ERM protocol is updated: Fixed command response handling for commands 27 (speed limit config) and 52 (temperature sensor config) — device responses now properly complete the command instead of retrying until timeout. Speed limit event (event 06) now reports violation duration via the new overspeeding.duration parameter. Unknown message types now produce a warning instead of being silently skipped.
namo ERM protocol is updated: Added processing of message type 29 (Unit ID changed) — when the device changes its Unit ID setting (parameter 0001), flespi now extracts device.serial.number and device.imei from the notification Message reference number is now stored as the message.seqnum parameter in every message
namo ERM protocol is updated: message type 35 - external device OTA FW upgrade status report - is supported.
bird erm: Added parsing of voice call events - Voice callback (EID 37), Voice call started (EID 38), Voice call ended (EID 39). New parameters: call.type, call.type.enum, call.phone.number, call.return.code, call.duration.
bird Fixed parsing of External Device (EID 33) events whose binary payload contains * or $ bytes. These are now correctly de-stuffed per the v2.16+ wire format, resolving a framing error that could disconnect affected devices.
bird ble.beacons now populated from Bluetooth scan responses (command 64) for StarLink devices. iBeacon results map UUID -> id, mac, rssi (dBm), major, minor; IoT Sensor results map mac (also id), rssi (dBm), battery.voltage, temperature, version.
bird New parameters parsed for event 40 (Drive rule occurred) with eSafe maneuver notification: external.device.id, maneuver.type, maneuver.total.severity.enum, maneuver.duration, maneuver.x.acceleration.max, maneuver.y.acceleration.max, maneuver.z.acceleration.max. Removed duplicate parameters maneuver.max.x.acceleration and maneuver.max.y.acceleration (unified to maneuver.x.acceleration.max / maneuver.y.acceleration.max pattern, also applied in cellocator protocol).
bird erm New dynamic parameters supported in the Event report structure (parameter 0177): #IGNL# => virtual.engine.ignition.status (ignition logic state, per Location report condition) #IN5#/#ING#, #IN7#, #IN8#, #INI#-#INL# => din.5, din.7, din.8, din.9-din.12 #OUT5#-#OUT8# => dout.5-dout.8 #CCN#, #CTA# => gsm.arfcn, gsm.timing.advance #NM# => gsm.network.status, gsm.network.roaming.status, gsm.network.mode.enum
bird Event 01 (Location report) ignition state now registers as virtual.engine.ignition.status — since firmware v2.16 this field carries the logic state per Location report condition (parameter 0526), not the physical ignition input. engine.ignition.status continues to receive it until 2026-08-27 for devices whose dynamic format has no #IGN#; on devices reporting #IGN# it now holds the physical input, as documented. Applies to StarLink devices.
bird erm EID=80 (Overtime) is now supported for StarLink Tracker devices - the event was previously rejected as unsupported and dropped the connection. New parameters for this event: tacho.overtime.event, tacho.overtime.event.enum (tachograph exception type code) and tacho.overtime.event.state (decoded: "work day" or "trip").
bird Added timestamp.key parameter (event timestamp + message reference number) so reports sent within the same second are stored as separate messages.