Guía en Español

Quick Start #

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

Terminology: 

  • 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 Iridium satellites for global connectivity
    • 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 #

Change your main email account #

Instructions #

Form #

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

Download

Migrating to a new Web hosting #

It is possible to change web hosts without affecting your Pegasus site, it requires following some steps and being prepared, below you’ll find these details.

If you haven’t already done so pick a Web Host to host your Pegasus site domain, hopefully one that never goes down. (Unsure of which Web Host to go with, check out this list)

Once you’ve decided which Web Host you want to migrate to, make sure NOT to cancel your current Web Host, in fact they don’t have to know you’re switching to a new web host.

In the new web host, make sure you have access to a cPanel or equivalent, and that you’re able to modify DNS (sometimes Advanced DNS) records for your domains, the records we need to modify are: A & TXT.

 

Pegasus Domain:

Follow the steps in the Pointing your Domain tutorial, except this time on the new webhost. If you don’t remember the IP address to point your domain use the ping command from shell/command prompt, or websitepulse.com.

 

Website Data:

Note that this part has nothing to do with Pegasus, this is just for your current webpages hosted on the old Web Host and the migration of them to the new web host.

Making sure you have hosting with two different host providers, your old one and the new one, start the migration of your sites.
Download all folders via FTP from your old site and move them to the new hosting’s ftp.
Download all databases and migrate them to the new Web Host.
If your webpage is on WordPress, or a similar framework, make sure to look for guides on how to export all your data and migrate it to a new web host.

Emails:

Existing emails do not normally transfer to a new web host, if you need old emails from your webhost we recommend making a backup.
To backup use POP3 connections from each email that you want to back up. To do this do a quick Google search with the name of the old hosting provider.

Moving your email accounts:
In order to move your emails to the new hosting you may be encountered with 3 scenarios:

  • Scenario #1: Email is currently hosted on a domain registrar (such as Domain.com, GoDaddy, Namecheap, Bluehost, etc)
    • Login to your domain registrar (where you host your email), change your email hosting’s DNS A (or @) records to the new web host’s IP address.
  • Scenario #2: Email accounts are hosted with a third party (such as Microsoft 365, Google Suite)
    • Ensure that your MX records, along with any other records that your email service provider needs, are updated in your new web host’s DNS.
  • Scenario #3: Email accounts are hosted with the old web host
    • Re-create all existing email accounts in your new web host, search for a guide on your new webhost’s support page

After moving the emails follow steps again in the Main Email Account guide.

Nameservers

Once you have moved the email addresses and you have all your files in the new hosting account it’s time to change your current domain name to a new name server (NS)

Check your new hosting provider for the names of these name servers, usually they have names like:

  • ns1.yourhostname.com
  • ns2.yourhostname.com

Once you have the correct DNS, go to the company where you purchased your domain name to make the change.

Once your DNS changes have been made, you will need to wait up to 48 hours (two days) before your site will load from the new host.
During this 48 hour period, your DNS is propagating world wide to all name servers, and your site will be randomly loading from either the old host or the new host.
The good news is that both hosts will be available and you’ll be able to access your Pegasus domain during these two days and permanently after the full migration.

After the two days verify that the site is loading from the new webhost by checking http://who.is
Then proceed to cancel your old web host.

 

System Translation #

If you are looking to translate the Pegasus application/platform to a new language you can do the translations on the following 3 files and send it back to our team.

The files can be opened in any plain text editor (not recommended to be opened in Microsoft Word).

template.pot

In this file only edit the text that’s purple described below:

msgid "Code" #original text
msgstr "Código" #translated text

msgctxt indicates the context to help how to translate text that might have more than one translation.

msgctxt "Retrieve trips from vehicle-name *for* date-range"
msgid "for"
msgstr "no"

Words inside {{}} are app variables, so these must not be translated.

msgid "Code {{item}}"
msgstr "Código {{item}}"

Other symbols and characters must be left the same as in the original.

msgid "(Immobilization) :"
msgstr "(Imobilização) :"

In some cases the template have support for plural texts

msgid "Minute" #original singular
msgid_plural "Minutes" #original plural
msgstr[0] "Minuto" #translated singular
msgstr[1] "Minutos" #translated plural

Some translations have the word fuzzy in them, this means that it must be checked to see what changed in the original English text, sometimes it is a suggestion the translations script made based on a text that looked similar.
Once the translation is updated the #fuzzy line must be removed

#: org/templates/select_properties.html:1
#, fuzzy
msgid "A height is required"
msgstr "Se requiere un email"
#: org/templates/select_properties.html:1
msgid "A height is required"
msgstr "Se requiere una altura"

en.coffee

In this file the original is on the left hand side, and the translated portion on the right

“original”: “translated

"acceleration":"aceleración",
"amount": "montante",

jobstrans.coffee

In this file, add a new line with the two-letter country code and the translation to the right

  title_i18n:
    en : "Fence Trip Analysis"
    es : "Análisis de Viajes en Geocercas"
    sa : "تحليل رحلة السياج"
  desc_i18n:
    en : "Trip and stop information from and to any geofence."
    es : "Información de viaje y parada de y hacia cualquier geocerca."
    sa : "رحلة وإيقاف المعلومات من وإلى أي مكان"

Wireless SIMs #

Configurations #

How to Make a Managed Configuration #

 

OVERVIEW & PURPOSE

The following document is a detailed explanation on how to build managed configurations for Syrus devices reporting to Pegasus Gateway

 

INTRODUCTION

  • A managed configuration is a Python (.py) extension file which has instructions, parameters and other things that get sent to the Syrus device in order to report effectively on Pegasus Gateway.
  • This guide will use the following configuration as a base configuration,
    • S227.py <- Download and follow along
  • This configuration covers the basic of a standard Transportation type configuration, this may not be what you’re looking for as a base, if not please follow the Managed Configuration Questionnaire to find a more appropriate configuration

 

  • Every managed configuration has 4 major parts:

  1. Header: Contains the main information that identifies properties of the configuration:
    • Name: name of the configuration (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. Typically this is reserved for the DCT support team to establish the firmware requirement based on the commands used.
    • 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, otherwise any other command sent to the unit that alters it’s configuration will reply with an RER04 (Error 04) and not be editable.
  2. Script: This is a field marked as cmds and it contains all the commands to configure Syrus
  3. Labels: This field is used for identifying the event generated.
  4. 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

  • 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.

HEADER

Name

#!/usr/bin/python
# -*- 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:

<tr>
<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>
</tr>

<tr>
<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.
.</td>
</tr>

Restricted Firmware

Put the minimum and maximum firmware for this configuration here

restricted_fw = {
                'min_number':2003023,
                'max_number':9999999,
                'allow_only_flavor_string' : None
}

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

Parameters

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'} }, 'output2_set' : { 'cmd' : '>SSSXP21<', 'name' :{'en': 'Activate output 2' , 'es':'Activar la salida 2'}, 'description' :{'en': 'Activate output 2' , 'es':'Activar la salida 2'} }, 'output2_reset' : { 'cmd' : '>SSSXP20<',
                       'name' :{'en': 'Deactivate output 2' , 'es':'Desactivar la salida 2'},
                       'description' :{'en': 'Deactivate output 2' , 'es':'Desactivar la salida 2'}
                       },
}

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 = [
'>SRT;SFBUFF',
'>SRT;ECU<',
'>SXAQQ',
'>SXAEM',
'>SXAV',
'>SXAWA',
'>SXAIL',
'>SXATT',
]

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

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
  • The only command not mentioned in the manual is the >SXAEC::gps 9 1< – this command is used to make sure the GPS filter of the device is set to the default value, for more information on the GPS filter please see this link.

cmds = """
>SRT;CONFIG<
>SXATT01<
>SXASEM0<
>SSSXP10<
>SXAPSE<
>SXADP01U<
>SXADP02U<
>SXADP03U<
>SXADP05U<
>SXADP04U<
>SXADP10U<
>SXADP11U<
>SXADP12U<
>SXADP13U<
>SXADP14U<
>SXAKA0141<
>SXAEC::gps 9 1<
>SXAVOC;IGN<
>SDA0;P00<
>SXAEFA;AC;AL;AV;BL;CF;DOP;IX;JO;SV;VO;CL;CE;CS<
>SGC00TR07200<
>SXASP00F00002002<
>SXASP01IP2002002<
>SXASP03OJ0010010<
>SXAQQ1;10,180,0600;IOS,G08<
>SXAGH001045<
>SED00MA0;C00+<
>SED96SV0;F00-;XCT=SGC00TR07200;XCT=SGC01U;XCT=SGC06U;XCT=SGC07U<
>SED97SV0;F00+;XCT=SGC01TR00300;XCT=SGC19TC00010<
>SED95SV0;J00F00&+;XCT=SGC01TR00300<
>SED01MA0;C01J00|C19&+;XCT=SGC19TC00010<
>SED98SV0;F00+;XCT=SXAPSE;XCT=SGC00U;XCT=SGC06DR00500<
>SED99SV0;F00-;XCT=SGC04U<
>SED02MA0;F00+;XCT=SGC17U<
>SED03MA0;F00-;XCT=SGC17TC0216000060<
>SXACST0500<
>SED93SV0;G27+;XCT=SGC03TC00010<
>SED94SV0;G27-;XCT=SGC03U<
>SED04MA0;G27C03&+<
>SED91SV0;G05+;XCT=SGC04TR00600;XCT=SSSU021<
>SED92SV0;G05-;XCT=SGC04U;XCT=SSSU020<
>SED07MA0;C04U02&+;XCT=SSSU020<
>SED05MA0;F00C04&+;XCT=SSSU041<
>SED06MA0;G05!U04&+;XCT=SSSU040<
>SED90SV0;C06+;XCT=SGC07TC00300<
>SED08MA0;C07F01&+<
>SED10MA0;IP1+<
>SED11MA0;IP2+<
>SED12MA0;IP2-<
>SED13MA0;IP3+<
>SED14MA0;IP3-<
>SED15MA0;XP1+<
>SED16MA0;XP1-<
>SED17MA0;XP2+<
>SED18MA0;XP2-<
>SXATA021;SSSXP21;OUT2ON<
>SXATA031;SSSXP20;OUT2OFF<
>SED19MA0;G07+<
>SED20MA0;G07-<
>SED21MA0;F15+<
>SED22MA0;F13-<
>SED23MA0;F13+<
>SED24MA0;F04+<
>SED25MA0;F04-<
>SED26MA0;F08-<
>SED27MA0;F08+<
>SED88SV0;F01-;XCT=SGC08TC00300;XCT=SGC07U<
>SEDD89SV0;F01+;XCT=SGC08U<
>SED30MA0;C08+;XCT=SGC08U<
>SXASEM1<
>SED31MA0;G00+<
>SED32MA0;G00-<
>SED33MA0;G01+<
>SED34MA0;G01-<
>SED35MA0;G02+<
>SXATA001;SXASES1;SECON<
>SXATA011;SXASES0;SECOFF<
>SED37MA0;F11F00!&+;XCT=SXAPSA11100050120<
>SED86SV0;C17+;XCT=SXAPSA11100050120<
>SED87SV0;G15+;XCT=SGC18TC0000200060<
>SED36MA0;C18+;XCT=SGC18U<
>SED38MA0;G16+;XCT=SGC18U<
>SXAGN001+13<
>SXAGN011-13<
>SED39MA0;N00+<
>SED40MA0;N01+<
>SED41MA0;V00+<
>SED42MA0;U06+;XCT=SSSU060<
"""

LABELS

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',

FOOTER

HTML DESCRIPTION

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

Pegasus Section View

 

html_description = {
                    'en' : """
<html>
<body class="reportbody">
<table class="reporttable">
      <br>
      <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 support@digitalcomtech.com the file, and the name of the gateway that you would like to upload it to.


The support team will get back to you within 24-48hours with any corrections or clarifications that need to be made.

Another alternative is to purchase a custom configuration service, and our Support team will work with you to build the managed configuration.

The price is USD $150 for each Personalized Managed Configuration, for more information please visit the store.

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 API command to activate the output is Safeimmo

 

When safeimmo is False

  • The output 1 will activate or deactivate immediately

And you will see the following button in tracking.

The API command to activate the output in this case is 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. Motor pumps, building surveillance, plc, etc.) it is very important that the script has the three following things:

  • Trips Algorithm, declaration (command: >SXATT01<)
  • An event to cut the trip at the end of the day (or at any time along the day) using GT command (you can use: >SGT001000000040000000000040500< >SED43NA0;T00+;XCT=SXATTE)
  • In the last line of the script it is necessary to start the first trip with >SXATTI< command

Working with Labels / Events #

Syrus Configuration Questionnaire #

Use the following form to request a custom managed configuration from our support team, requires the purchase of a  certified managed configuration / custom scripts from the store.

Haga clic aca para ver el formulario en español

Organization #

Organization is where you can organize your entities and asset information. It includes

Groups, Users, Vehicles, Devices, SIMs, Assets, BT Tags

Groups #

Groups are a way to organize vehicles and assets. For gateway owners, the most typical use of groups is to have one group per company that you provide tracking services to. But it’s not exclusive for that use only. One vehicle or asset can belong to multiple groups, so it can be useful to create a group per Device Model, Configuration, or SIM card provider. 

 

Devices #

The devices module is where you can configure and set up the configuration of your devices to modify their default behavior.

 

Trip Management #

The trip management section takes care of the visualization of trips for Syrus devices in the Tracking & Trips applications.

By default the trips are calculated based on the location and speed information the devices report.

The default behavior is to start a trip when the average speed between events is > 6mph for consecutive coordinates, a stop is registered when the device reports the same location for more than 4.5 minutes.

You can modify this default behavior by selecting from the different options on the Trip Management selector.

 

Tips

For trucks and machinery that do not move long distances (a few meters a day). You will want to request a new configuration that takes into account manually starting and ending the trip.

Make sure to have the Syrus upgraded to the latest stable version (do this from the device console section).

Using the Device Console #

The following guide will explain how to use the Device Console effectively.

The Device Console is a powerful tool that can help you diagnose with a high degree of precision anything that’s wrong with the unit, and as an administrator of the system you’ll have the tools to fix most of the issues.

When you first open the device console you’ll be presented with a list of units that have error messages, for a description on what this means scroll down to the Units with Error Messages section.

On the top right you’ll find an entity selector, here you can select an entity type ‘vehicle’ and we’ll interact with it’s device.

Main Screen

 

As shown above we have separated it with numbers to give a brief explanation about it:

  1. Search Box: Here we can filter by name, IMEI or group to find a unit easily
  2. Console Board: Here we can check the historic register of commands sent to one unit.
  3. Command Outbox: This textbox is used to write the commands to be sent to the unit
  4. Unit’s general Information: Here is shown information as well as:
    1. Imei and Syrus Type/model
    2. Firmware and Interface version; a button for upgrade appears when a new firmware is released
    3. Managed Configuration
    4. Internal Battery Status
    5. Outbox; here the commands left to be sent are shown and also the errors can be checked and deleted if necessary
  5. Unit’s Status: Inform the current GPS and Network Status of the unit. It is very useful for diagnostics.
  6. ECU monitor Box:  If an ECUmonitor is connected, its information is going to be shown here: Parameters read, and its physical status (Connected, Disconnected, Firmware)
  7. Silenced Events Box: Here you can manually silence event numbers if there are technical problems, for example, when an input is triggering uncontrollable because a short circuit (Power disconnected/reconnected), and it is generating massive amounts of false inputs events.
  8. Other firmware: Here you can update interfaces, Bluetooth, Satcom, ECUmonitor and other accessories firmware
  9. Angles Configuration: Syrus units needs to be installed as horizontal as possible and with its wires facing either front or backwards. Despite that there’s always a little bit of inaccuracy in installation, so the very first time, with the vehicle parked in a flat place and not moving, it is necessary to calibrate its angles so its events related with tilt angles are not triggered in false. This can be done automatically by simply pressing “Set Angles” button and queried and re-calibrated every time when needed.

Units with Errors

 

The goal of this section is to provide an insight as to what happened while the unit had it’s configuration synchronized, if any errors were encountered a new entry will appear in this section with the IMEI and information about the error message.

  1. Always when we enter into Console Section, and before selecting a unit an information table is shown containing the units with command errors in console.
  2. You are able from here either to view in console the errors before to make a decision, or to delete all the error messages if needed
  3. Also, If you click on the Message icon you can see the specific error and the date when it occurred (see below)

The procedure for this section is to see what the last error message was, interpret it & query the device to make sure it’s in a good condition, and if it is then erase the error message.

In order to interpret the error message, here’s a list of the most common ones:

RER00: Unrecognized command. It could be misspelled, and if it came from a managed configuration please contact Support

RER01: Internal error. Please verify the syntax of the Configuration Command (Could require support from DCT)

RER04: Usually caused by making changes to the configuration parameters on a device that had a previous configuration and it was not synchronized.

RER05: Deprecated command, Check manual to replace old command for a new one

RER07: Most likely caused by unsupported extended tag (XAEF message). 

RER09: Queries resulting on multiple answers are not supported over the air. Usually happens when user tries to query polygonal regions

RER11: Incorrect ACT, XCT or SMS Alias definition. Usually requires to check the configuration with Support team.

RER15: Change state operation failed. Internal Error. Usually happens changing outputs state if the output is damaged.

If you encounter any of the errors mentioned above, first try making sure the firmware is upgraded to the latest version, please go back to the first part of this section to see the firmware upgrade button. Once the firmware is up to date, erase the error message from the Console

& try resynchronizing the configuration again from Organization -> Devices.

If after resynchronizing the error persist then change the configuration to a standard one, and contact support in order to fix the previous configuration.

 

Integrations #

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

English

 

 

Spanish

 

 

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 #

Receiving data from other Platforms #

Documentation intended for developers #

Sending data to other platforms #

Forwarders redirect data from your devices to other platforms.  At the moment only DCT can install forwarders on your gateway, following their creation you can edit and update them.

To get started go to the Forwarders section from the menu and click on any forwarder that has FWD:json_fwd (only these 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
  • keys_map, json object with key-value pairs, the value represent the original key field, and the keys represent the transformed key.
  • codes_map, json, object with key-value pairs, the value are the original event_code, the key 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

 

Examples:

{
	"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.

Generate an API Token #

API tokens are useful for interacting with your device data outside of Pegasus.  The API documentation describes how to generate tokens using the /login method.  This section describes how you can create your own tokens with a little more flexibility using the user interface. 

Create a Token

In order to create an API token you need to go to the Settings menu and click on the Manage API Keys dropdown 

 

Click on the Add button on the bottom right. On the dialog that appears you’ll need to give the token a name. 

Settings – you’ll select the type of token you want to create, whether it’s temporary or permanent.  If it’s temporary you’ll select Type: finite, and an expiration duration.

Groups – you can select which groups of vehicles / assets the token will have access to.

Scopes – you can further customize the permissions or scopes of this token by specifying what APIs they’ll have permission to see.  Description of scopes

Once you’re done just hit save, and then you can copy the token from the Copy button along the right.

and paste it anywhere:

bdb6140bcdeec9108c6439b95495…0e026c3a064d9525c657ddb2b

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.

Download

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
>SRFAnameofyourapn.com<

# set Username (optional)
>SRFLusername<
# set Password (optional)
>SRFPpassword<
# set PIN (optional)
>SRFA12345<
Once the device replies:
>RRFAnameofyourapn.com<
Then you can send the command
>SRT<
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