Segway Ninebot ZK601LE

Segway Ninebot ZK601LE is an IoT device for shared scooter management. The device allows to lock/unlock, power on /off, turn on/off the throttle, and switch between different riding modes, etc. You can also monitor the state of the scooter through its communications with the server, such as sending alarms, firmware version information, battery temperatures, etc. It also has auxiliary features like prompt voice, superior waterproof design (IP67), and a built-in 1000 mAh battery.

Usage specifics
Parameters (53)
Settings (16)
Commands (1)
Segway Ninebot ZK601LE
Flespi parses telemetry data from your Segway Ninebot ZK601LE into a standardized JSON and lets you send commands to Segway Ninebot ZK601LE via API.

Here’s the like of JSON you get

{
    "ident": "352625333222111",
    "position.altitude": 273.61,
    "position.hdop": 0.7,
    "position.latitude": 49.069782,
    "position.longitude": 28.632826,
    "position.satellites": 18,
    "server.timestamp": 1650636570.426424,
    "timestamp": 1650636570.426424,
    "device.type.id": "Segway Ninebot ZK601LE",
    "channel.id": 1111,
    "protocol.id": "segway-ninebot"
    "engine.ignition.status": true
    ...
}

How to consume this nice JSON

The easiest way is to make a REST API request like this
curl -X GET  --header 'Authorization: FlespiToken XXX' 'https://flespi.io/gw/devices/<device id>/messages'

How to send commands to Segway Ninebot ZK601LE?

You can send a specific command. Show all commands
You can use pre-defined settings to send instructions more conveniently. Show all settings

You can also

Modify messages

Add or remove parameters, inject data from LBS and reverse-geocoding services, etc.
Learn what plugins can do

Aggregate data

Determine trips and stops, catch events, detect geofence ins/outs, and more.
Learn about flespi analytics capabilities
backup.battery.voltage.status
boolean
Backup battery voltage if normal (true - inside the predefined range) or abnormal (false - outside of the predefined range)
battery.charging.cycles
number
Number of charges/discharges of the battery
battery.charging.status
boolean
Battery charging status
battery.connected.status
boolean
Internal battery is connected
battery.level
number
percentage
Internal battery level
battery.lock.status
boolean
Battery lock locked/unlocked status
battery.temperature
number
celsius
Battery temperature
battery.voltage
number
volts
Internal battery voltage
bluetooth.mac.address
string
Bluetooth MAC address
bms.serial.number
string
BMS (Battery Management System) serial number
cable.lock.status
boolean
Peripherial device cable lock status
channel.id
number
ID of channel that received a message
controller.voltage
number
volts
Driving voltage of the controller
device.id
number
ID of device that received a message
device.name
string
Name of device that received a message
device.serial.number
string
Device serial number
device.type.id
number
ID of device type of device that received a message
disassemble.alarm
boolean
Disassemble alarm event
ecu.error.code
string
ECU error code
event.enum
number
Protocol-specific event code
fall.alarm.status
boolean
Fall alarm status
gsm.mcc
number
GSM mobile country code
gsm.mnc
number
GSM mobile network code
gsm.operator.code
string
Active GSM Operator code
gsm.signal.level
number
percentage
GSM signal strength level
gsm.sim.iccid
string
Integrated Circuit Card Id of SIM card
ident
string
Device unique identifier like serial number, IMEI, etc
illegal.movement.alarm
boolean
Illegal movement alarm event
indication.mode
string
Position indication mode: A - autonomous, D - differential, E - estimate, N - invalid data
left.turm.lamp.status
boolean
Left turn lamp status - true - on, false - off
lock.status
boolean
Lock status
message.type
string
Message type
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
reboot.event
boolean
Device reboot event
remaining.range
number
km
Current remaining range
right.turm.lamp.status
boolean
Right turn lamp status - true - on, false - off
scooter.battery.level
number
percentage
Scooter battery level
server.timestamp
number
seconds
Timestamp when server received a message
software.version
string
Software version string
speed.mode
number
Current mode of scooter 1:low speed 2:medium speed 3:high speed
timestamp
number
seconds
Message timestamp
trip.driving.time
number
seconds
Single riding time
trip.duration
number
seconds
Trip duration
trip.mileage
number
km
Distance driven since engine start
vendor.code
string
Vendor identification string code
Properties
C0 Unlock the Battery Cover
c0_zk601le
action: Action
C5 Ambient light control
c5_zk601le
mode: Ambient light work mode
color: Ambient light color
D1 Location tracking command
d1
lock_interval: Lock status upload interval
unlock_interval: Unlock status upload interval
I0 Acquire SIM card ICCID number
i0
L5 State of Peripheral Device
l5
operation: Operation
R0 Unlocking/Lock operation request command
r0_zk601le
Send R0 command (timestamp appended automatically). After device response L0 or L1 command will be sent by server automatically.
lock: Lock/Unlock
user_id: User ID
key_time: Key effective time
S10 IoT Device Setting 3
s10
left_adc_threshold: Left brake ADC value jump threshold
right_adc_threshold: Right brake ADC value jump threshold
brake_anomaly_detection: Brake & accelerator ADC value anomaly detection
accelerator_adc_threshold: Accelerator ADC value jump threshold
left_adc_fallback_threshold: Left brake ADC value fall back to normal threshold
right_adc_fallback_threshold: Right brake ADC value fall back to normal threshold
accelerator_adc_fallback_threshold: Accelerator ADC value fall back to normal threshold
S2 Turn on/off control of scooter
s2
enable: Enable
S4 Scooter setting
s4
cruise_control: Cruise control setting
low_speed_limit: Low speed mode speed limit value
high_speed_limit: High speed mode speed limit value
inch_speed_display: Inch speed display
medium_speed_limit: Medium speed mode speed limit value
S5 IoT device settings
s5_zk601le
acc_sens: Accelerometer sensitivity
upload_s6: Status for upload scooter info (S6)
heartbeat_interval: Heartbeat upload interval
s6_upload_interval: Scooter information (S6) upload interval
S6 Obtain scooter information
s6
Send S6 command: ask scooter for telemetry inforamtion.
S7 Scooter setting
s7_zk601le
mode: Mode setting
headlight_switch: Headlight switch
taillight_control: Tail light control
throttle_response: Throttle response
headlight_flashing: Head lights flashing
S8 Obtain scooter information
s8
S9 IoT Device Setting 2
s9
on_wait_time: Time to turn modem on
show_battery: Show the battery volume
wait_timeout: Wait timeout for lock response
turn_off_modem: Turn off modem
emm_codes_filter: EMM cause codes carrier filter
lock_while_riding: Enable lock while riding
long_offline_lock: To lock due to long time offline
show_battery_in_locked: Show the battery volume in locked
invalid_continuous_movement_alarm: Invalid continuous movement alarm report interval
V0 Voice Broadcast Command
v0
content: Content
V1 Device Audio Configuration
v1_zk601le
mode: Audio Work Mode
normal_volume: Normal volume
abnormal_volume: Abnormal volume
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
R0 Unlocking/Lock operation request command
{"payload":"0,20,1234","instruction_type":"R0"}
L0 Unlocking command, e.g. 255 value received as key in R0 command
{"payload":"255,1234","instruction_type":"L0"}