Voi protocol

Protocol used by electric scooters and e-bikes manufactured by Voi headquartered in Sweden.
flespi parses the Voi protocol messages into a JSON object with the fields listed below in the Parameters tab.

This protocol is used to connect and control Voi scooters in flespi.

Channel acts as an MQTT Broker to which you directly connect scooters.

To connect your scooter using the Voi protocol, you need to have a voi channel created first.

Point your scooter to the channel's domain name:port via SMS or configuration tool provided by the vendor. Use the same authorization (username and password) as you configured in the channel configuration.

Then create a device instance for your scooter and use its unique identifier in the ident field.

Use the Logs & Messages tab on the device screen to check if the messages are coming.

battery.charging.status
boolean
Battery charging status
battery.level
number
percentage
Internal battery level
buzzer.alarm.status
boolean
Buzzer alarm status
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
error.type.description
string
Protocol-specific error error description string
event.seqnum
number
Unique event sequence number
ident
string
Device unique identifier like serial number, IMEI, etc
lock.status
boolean
Lock status
peer
string
IP:port from which device connecting to the channel
position.direction
number
degrees
Heading angle at position detection moment
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
position.vdop
number
Vertical dilution of precision
protocol.id
number
ID of protocol
server.timestamp
number
seconds
Timestamp when server received a message
timestamp
number
seconds
Message timestamp
Properties
Custom command
custom
Send binary HEX command
payload: Hex data to send
append_id_ts: Append command ID and timestamp