Omni protocol

Integration level: params + settings
Protocol used by IoT scooters manufactured by Omni headquartered in China.
flespi parses the Omni protocol messages into a JSON object with the fields listed below in the Parameters tab.

It's possible to get the position data and other parameters from Omni e-scooters as well as manage them remotely via the API.

To connect your scooter using the Omni protocol, you need to have an omni channel created first.

Point your scooter to the channel's domain name:port via SMS or configuration tool provided by the vendor.

Then create a device instance for your tracker and use a 15-character IMEI (usually specified on the tracker casing) in the ident field.

Use the Toolbox tab on the device screen to check if the messages are coming.

It is possible to configure Omni devices OTA using the flespi web-based configurator tool. To connect Omni to Wialon or another platform via flespi please read this article.

battery.charging.status
boolean
Battery charging status
battery.level
number
percentage
Internal battery level
battery.voltage
number
volts
Internal battery voltage
channel.id
number
ID of channel that received a message
device.id
number
ID of device that received a message
device.name
string
Name of device that received a message
device.type.id
number
ID of device type of device that received a message
error.type
number
Protocol-specific error identification number
event.code
string
Protocol-specific event code string
event.enum
number
Protocol-specific event code
external.equipment.state
number
External equipment state
external.equipment.type
number
External equipment type
gsm.signal.level
number
percentage
GSM signal strength level
ident
string
Device unique identifier like serial number, IMEI, etc
indication.mode
string
Position indication mode: A - autonomous, D - differential, E - estimate, N - invalid data
lock.status
boolean
Lock status
message.type
string
Message type
payload.text
string
Text Payload received from device
peer
string
IP:port from which device connecting to the channel
position.altitude
number
meters
Altitude value for position
position.hdop
number
Horizontal dilution of precision
position.latitude
number
degrees
Latitude coordinate value
position.longitude
number
degrees
Longitude coordinate value
position.satellites
number
Quantity of satellites used to calculate coordinates for given position information
position.speed
number
km/h
Instant speed at position detection moment
position.valid
boolean
Is position information accurate and valid for given timestamp
protocol.id
number
ID of protocol
server.timestamp
number
seconds
Timestamp when server received a message
timestamp
number
seconds
Message timestamp
trip.duration
number
seconds
Trip duration
vehicle.state
string
Vehicle state, such as moving, idling, parked etc
vendor.code
string
Vendor identification string code
Properties
Custom command
custom
Send custom command to device. Format for R0 and L0 commands : 0xFFFF*SCOS,OM,{ident},{instruction_type},{payload},# Format for other commands with payload: 0xFFFF*SCOS,OM,{ident},{instruction_type},{payload}# Format for commands with no payload: 0xFFFF*SCOS,OM,{ident},{instruction_type}# Note: The following settings are saved after power down.
payload: Comma separated list of parameters to send as payload
instruction_type: 2 letter instruction type
D0 - Get position instruction
{"instruction_type":"D0"}
I0 - Get the SIM card ICCID number
{"instruction_type":"I0"}
S6 - Obtain scooter information command
{"instruction_type":"S6"}
D1 Upload positioning interval 6 0seconds
{"payload":"60","instruction_type":"D1"}
R0 Unlocking/Lock operation request command
{"payload":"0,20,1234","instruction_type":"R0"}
V0 Beep playback commands: 2: Find a scooter alert
{"payload":"2","instruction_type":"V0"}
L0 Unlocking command, e.g. 255 value received as key in R0 command
{"payload":"255,1234","instruction_type":"L0"}
S7 Scooter setting instruction 1 command: headlight switch ON, mode high speed, throttle ignore, taillights flashing shut down
{"payload":"1,3,0,1","instruction_type":"S7"}
DEPRECATED! Send command with no parameters. Specify just instruction type
custom_no_payload
command '0xFFFF*SCOS,OM,{ident},{instruction_type}#
' will be sent. Scooter response will be registered as message
instruction_type: 2 letter instruction type
D0 - Get position instruction
{"instruction_type":"D0"}
S6 - Obtain scooter information command
{"instruction_type":"S6"}
DEPRECATED! Custom command without timestamp in the end
custom_payload
Send custom command to device. Format: 0xFFFF*SCOS,OM,{ident},{instruction_type},{payload}#
payload: Comma separated list of parameters to send as payload
instruction_type: 2 letter instruction type
S7 Scooter setting instruction 1 command: headlight switch ON, mode high speed, throttle ignore, taillights flashing shut down
{"payload":"1,3,0,1","instruction_type":"S7"}