Guía en Español

Quick Start #

Welcome to the administrative guide to using your Pegasus Gateway effectively. 



  • API – used by developers to develop their own applications using data from your Gateway. More info
  • Jobs – whenever a report is generated it creates a job, which is a script that handles the data you request from the report in our servers
  • Tasks – also known as scheduled reports, they are set on a custom schedule and can execute jobs automatically
  • Accessories – the system can handle lots of sensors and accessories depending on your application, for example:
    • iButton – unique id that’s printed on a dime sized chip, used to identify drivers.
    • RFID – used for remote identification of things and people
    • Bluetooth Tag – multi sensor that can measure temperature / humidity / light and more.
    • ECU or ECU Monitor – Engine Control Unit – this is the accessory that connects to your vehicle’s OBDII port or truck’s J1939/J1708 port in order to read the engine data
    • Temperature or Analog Interface – this sensor measures temperature with 3 probes, or analog readings
    • Photocam – photo capturing camera
    • Serial Expander – used to connect multiple cameras
    • Input / Output Expander – used to extend the amount of input sensors and outputs per device
    • Satcom – communicates with 
    • Technoton™ – used to connect to a fuel tank for level measurement
    • Mobileye™ – smart collision avoidance system that can monitor your driver’s behavior in realtime

Administration #

The following sections are recommended for all admins to follow in order to get the full customizable gateway experience.

Pointing your Domain #

Appearance #

Main Email Account #

Enabling Maps on your Site #

Adding Custom Maps to Pegasus #

The following guide will show you how to add a custom map layer to Pegasus from any server that can host map tiles in /{z}/{x}/{y} format


Applications #

Taurus Tracker Application #

Read the guide below to get started on using Taurus for your Android or iPhone devices.

The new updates include ability to create checkpoints, check in using QR codes, and assign yourself to a nearby vehicle.

FAQ & Troubleshooting







Alexa #

The following guide will show you how to interact with Syrus devices using Amazon’s Alexa to send voice commands,
you can do things like, request location, take pictures, activate outputs, and get the distances or fuel consumed for a time period.

Telegram #

Organization #

Configurations #

How to Make a Managed Configuration #


Detail explanation on how to build managed configurations for Syrus Intelligent tracking devices reporting to Pegasus Gateway IoT Application Enablement Platform for Fleet Automation and Mobile Asset Management.

All links refer to our Licensed Support Library available for USD $240/annually and can be purchase here.


  1. A managed configuration is a .py (Python Software Foundation) extension file which  divides in 4 main parts:

  • Header: Contains the main information required to start as well as:
    • Name: Name of the current config; Two configurations cannot have the same name
    • Restricted_firmware: Minimum and maximum firmware version  which supports the current configuration. This is very important since some firmwares cannot support newer commands, generating errors in Pegasus. Useful to apply to specific business models
    • Params: Several parameters to establish initial values and accessories commands, as well as Speed limit, Tracking resolution commands, Safe immobilization commands, counters, among others.
    • Tracking_resolutions: Several options for tracking resolution to be configurable via Pegasus
    • Sms_alias_actions: Since there are up to 4 configurable telephone destination points, we can execute some basic commands from them using SMS, as well as Secure Engine Cut off, request for location etc.
    • Allowed commands: Sometimes we need to send some special configuration commands via Pegasus Console. This is the field to specify the authorized ones.
  • Script: This is a field marked as “cmds” and it contains all the commands to configure Syrus
  • Labels: This field is for the label which use Pegasus and its web-services and restful-API  to identify different Syrus’ events. Very important to respect labels for report generation data.
    • For a list of labels please refer to the api/labels
  • Footer: Contains descriptions for the end user of each event configured in Syrus.
    • Html_description: HTML with events description to be shown in administration section of Pegasus

  1. There are some considerations to take into account when Syrus is used to track stationary Assets, motors, etc. Please refer to final chapter if so for special instructions.

For a complete Script configuration sample, download template



# -*- coding: utf-8 -*-
name = {'en' : u'Base Standard Configuration',
        'es' : u'Configuración Base Estándar'

Change the text for the desired name in spanish (es) and english (en).

Don’t forget to change the name in HTML Description section:

<td valign="top" align="center" width="500px">
<span style="font-weight:bold; font-size:14px">Base Standard Configuration is used on vehicles on which Syrus device is permanently powered, has the ignition detection wired.</td>

<td valign="top" align="center" width="500px">
<span style="font-weight:bold; font-size:14px">Configuración Base Estándar es usada en vehículos en los cuales el dispositivo Syrus esta alimentado permanentemente, tiene conectada la detección de ignición.

Restricted Firmware

Put the minimum and maximum firmware for this configuration here

restricted_fw = {
                'allow_only_flavor_string' : None

For this example version 2.3.23 is separated by zeros as follows: 2 003 023.


cmds_speedlimit‘: These commands are inside the script, but Pegasus will modify them according to your preferences selected in “Organization”

  • ‘initialvalues_speedlimit_mph’ – initial speed limit in mph

  • ‘initialvalues_speedlimit_secs’ – initial speed limit persistence in seconds

cmds_tracking‘: Same as speed limit, these commands are modified by pegasus when you change your preferences in “Organization”

safeimmo‘: If True, Pegasus is going to use Output 1 in a safe immobilization mode. False will allow to use output1 as an ordinary output. For more information on these mode see Appendix A.

‘using_ccounters’ : True,: This tell Pegasus to use special Syrus’ counters that will be described later on this document.  This line cannot be removed

params = {

         'cmds_speedlimit' : '>SXACST{{mph}}0<>SED93SV0;G27+;XCT=SGC03TC{{secs}}<',
         'initialvalues_speedlimit_mph' : 50,
         'initialvalues_speedlimit_secs' : 10,

         'cmds_tracking' : '>SXAGH00{{head}}<>SED97SV0;F00+;XCT=SGC01TR{{secs}};XCT=SGC19TC00010<>SED95SV0;J00F00&+;XCT=SGC01TR{{secs}}<',
         'initialvalues_tracking_resolution' : 5,

         'safeimmo' : True,

         'using_ccounters' : True,

Tracking Resolutions

Put here all the desired combinations desired for tracking resolutions. First number is for “Turn angle sensitivity” and Second number is for periodic time reporting without turning.

Example: (35,20) stands for 35° or 20 seconds, whatever occurs first

tracking_resolutions = {                  
	10: (30,20), 
	9 : (35,20),                  
	8 : (35,30),               
	7 : (40,60),                  
	6 : (40,120),                  
	5 : (45,300),                
	4 : (70,420),              
	3 : (90,600),              
	2 : (None,720),                  
	1 : (None,1800),

SMS Alias Actions

In Pegasus you can select special Keywords so send via SMS through authorized mobile numbers  to activate/deactivate Outputs (Either cancel or execute).

In this section you can customize the text explanation that it is going to appear in Pegasus.

Pegasus Section View

sms_alias_actions = {
   'safeimmo_set' : {
                 'cmd' : '>SXASES1<',
                 'name' :{'en': 'Execute a Safe Immobilization' ,  
                          'es':'Ejecute la Immobilización Segura'},
                 'description' :{'en': 'Execute a Safe Immobilization' ,  
                                 'es':'Ejecute la Inmobilización Segura'}

    'safeimmo_reset' : {
                      'cmd' : '>SXASES0<',
                      'name' :{'en': 'Cancel a Safe Immobilization' ,
                               'es':'Cancelar la Immobilización Segura'},
                      'description' :{'en': 'Cancel a Safe Immobilization'                          , 'es':'Cancelar la Immobilización Segura'}

Allowed Commands

These are the commands that can be sent from Pegasus Console. Be careful not to allow commands which could disable the unit communication

allowed_cmds = [

Note: Note SXAV in yellow is allowing to send all the commands beginning with XAV: XAVH, XAVI, XAVO, XAVC and so on. Please take a look to the technical manual for further information


Script comes under the name “cmds” and bounded in triple quotes. It contains all the necessary commands to configure syrus, except Destination point, which is given by configurator software.

  • It cannot have comments as you could see in the original .py file, but we are going to put some comments to explain the function of each block.
  • Also, all the commands have a direct link to Technical  Manual so you can study the exact function of each command deeper.
  • Signals are marked in red and orange so you can check them on the Signal List

cmds = """
>SXAEC::gps 9 1<


ev_labels = {
   0 : 'prdtst',
   1 : 'trckpnt',
   2 : 'ignon',
   3 : 'ignoff',    ...

Labels are alphabetic representations of the events, created to replace the codes. Codes are numeric, and in some cases the same event has different event codes between different scripts. The creation of labels allows to have the same name for different events no caring about its event number. For example:

 3 : 'ignoff',

Means Ignition Off event is using code 3 under this script (Syrus is going to report EV03) and because this evlabel “ignoff” Pegasus will understand it as Ignition Off event.

A different script can have code 80 as an ignition off event, all it would need is an ev_label

 80 : 'ignoff',



This is a Descriptive Html  which is going to appear in Organization -> Devices:

Pegasus Section View

html_description = {
                    'en' : """
<body class="reportbody">
<table class="reporttable">
      <div class="listbold"> Report definitions: </div>
      <div class="reportdef">
        <span>c00</span><b>Periodic test </b>- Reports every 2 hours<br>
        <span>c02</span><b>Vehicle ON </b><br>
        <span>c03</span><b>Vehicle OFF </b><br>
        <span>c04</span><b>Speeding </b>- The vehicle has exceeded the speed limit<br>
        <span>c05</span><b>Idle </b>- The vehicle has remained with the ignition ON<br>
        <span>c06</span><b>Out of idle state </b><br>
        <span>c08</span><b>Input 1 deactivated </b><br>
        <span>c10</span><b>Input 1 activated<br>
        <span>c11</span><b>Input 2 activated </b>- Input 2 has been activated.<br>
        <span>c12</span><b>Input 2 deactivated </b>- Input 2 has been deactivated.<br>
        <span>c13</span><b>Input 3 activated </b>- Input 3 has been activated.<br>
        <span>c14</span><b>Input 3 deactivated </b>- Input 3 has been deactivated.<br>
        <span>c15</span><b>Output 1 activated </b>- Output 1 has been activated.<br>

Once you are finished updating the managed configuration you can send the file, and the name of the gateway that you would like to upload it to.


You can also contact our Support Team and we can build the configuration for you. DCT charge USD $150 for each Personalized Managed Configuration.

Appendix A

Parameter: safeimmo

This parameter can be used to activate output 1 of the device ‘safely’. It is intended for disabling the vehicle’s ignition or starter wire remotely by activating output 1 (this output would therefore have to be connected to a relay that controls the vehicle’s ignition or starter wire).

Safe Engine Immobilization

How it works?

When safeimmo is True

  • If GPS is available: the speed of the device, indicated by the device’s GPS must remain under 10 mph for at least 20 seconds
  • If GPS is not available: the device’s built-in motion sensor must remain in no-motion state for at least 5 minutes

One of those two conditions must be met for the Output 1 to activate, otherwise Output 1 will not be activated.

In tracking you will see the following button when safeimmo is True

The command to activate the output is

API Safeimmo

When safeimmo is False

  • The output 1 will activate or deactivate immediately

And you will see the following button in tracking.

API Output

Note that if you set safeimmo to False, you must remove the command >SXASEM1< from the script cmds.

Appendix B

Special Considerations for stationary devices

If Syrus is going to remain stationary (E.g. Motorspumps) it is very important that the script has the three following things:

  • Trips Algorithm, Declaration
  • An event to cut the trip at the end of the day (or at any time along the day) using GT command
  • In the last line of the script it is necessary to start the first trip with >SXATTI< command

Working with Labels / Events #

Forwarders #

DCT can install forwarders on your site, following their creation you can edit and update them in the following way.

Note, only forwarders with protocol: FWD:json_fwd can be edited.


Time Zone

By default the timestamp the data is sent with is UTC.  The keys this affects is

event time: 2017-11-05T16:04:31+00:00
system_time: 2018-06-04T23:34:49.751085+00:00

If you update it to America/Los_Angeles (UTC-7) for example, the updated timestamps will be sent with:
event time: 2017-11-05T09:04:31-07:00
system_time: 2018-06-04T16:34:49.751085-07:00


Time format

example %Y-%m-%d %H:%M:%S

gives you YYYY-MM-DD hh:mm:ss, example: 2018-12-25 23:59:59

For more info visit: datetime python library


Include Entity information

 Here’s an example of the json that’s sent once this key is included.

  "vinfo": {
    "name": "Vehicle name",
    "tank_volume": 100,
    "year": "2000",
    "color": "red",
    "make": "Kenworth",
    "time": 1476907805.7595339,
    "vin": "3WKAD40X1EF853689",
    "license_plate": "531EB5",
    "vehicle": 426,
    "model": "T660",
    "tank_unit": "gallon",
    "id": 411,
    "description": "this is a custom description for this vehicle"
  "lon": -101.95036,
  "lat": 21.25357,
  "device_id": 356612021371077

Extra Headers

You can choose to add additional headers on the forwarder as well:


General configuration

The general configuration is comprised of a JSON object which has any of the following keys defined:

  • legacy, boolean, when true it sends the lat/lon as integers values
  • protocol, string, when set to “rpc”, it wraps the json array of events in the following envelope  {"params":[1,[...]],"method":"pushevents","id":1}
  • keys, array, use it to only forward specific keys
  • keys_include, array, use it to include keys that are not defined in the keys output
  • keys_exclude, array, use it to exclude any keys from the forwarder
  • codes_map, json, object with key-value pairs, the keys should be the original event_code, the value represents the value to which it will be switched
  • filter_in, array, only forwards events from these event codes
  • filter_out, array, removes any unwanted event codes from forwarding data
  • stop_send, boolean, when true it pauses the forwarder
  • stop_queue, boolean, when true it stops queuing events, therefore they are discarded
  • labels_in, array, only allows certain labels to forward data
  • labels_out, array, exclude the following labels from forwarding data
  • default_values, json, object with key-value pairs, the key is the field that you want to have a default value when the data is not present, value is the value you want to assign



	"keys_include": ["tec_fn", "btt_wreason"],
	"codes_map": {"0": 55, "20": 40},
	"filter_in": [0,20],
	"labels_in": ["ignon","ignoff"],
        "default_values": {"ib": "0000000000000000"}


Tutorials #

The following are tutorials that help you get the most out of Pegasus.

Integrating 3rd Party Accessories #

The following guide will show you how to add custom data to Pegasus from any sensor that’s capable of sending bytes of information via RS-232. At the end of the guide you’ll be able to receive the information via rawdata and have it forwarded to any endpoint.


Frequenty Asked Questions #

How long are sessions on the Gateway?

The only way a user is logged out is if he/she closes the browser or his computer goes to sleep. in which case the session will expire in 60 mins.

Why can’t I find my device (IMEI) in Organization?

A device that has not reported in more than 1 year will be marked ‘disabled’ by the gateway. At that point it will not be visible on the gateway to query the status of the device, you will still see the vehicle’s data. If it has been a  year since your device has reported, and you want to add it/associate it to a vehicle, you’ll need to contact our support team to help you.

How can I change the APN of my device?

If your device is still ONLINE and you need to change the APN, the quickest way is to place the device with a Unmanaged configuration, this can be done via:
Organization -> Devices -> Managed Configuration
Following this you’ll want to send the following command(s) via the Device Console:
# set APN

# set Username (optional)
# set Password (optional)
# set PIN (optional)
Once the device replies:
Then you can send the command
To restart the device, after this the device is ready to have the SIM card swapped out for the new one.
If the device is OFFLINE check if it last communicated recently with Syruswatch. If it did, you’ll need to contact support to request the device’s apn be changed, otherwise you’ll need to check the device remotely and change it over Bluetooth (if it’s got bluetooth capabilities) with the Syrus BT Interface application, or via the serial port as a last resort.
Suggest Edit