Devices: GetDevicesListGets a list of Devices with all attributes and child nodes

Usage Notes

The Device node contains many child nodes; Events, Wiring, Position, Details, Configuration, TrackMode, ManDown, Messages, and Inventory. Each node is never necessarily present, so when writing your code be sure to take such instances into account.

<Events />

This node contains SystemType child nodes describing the last events of each type for a device. There can be as few as one SystemType child nodes, and as many as infinity.
Each child node contains the attributes ID, EventID, and GMTEvent. A description of each System Type is available by consulting the APISystemEventsList method.
The GMTEvent refers to the date and time (in UTC/GMT) or the event, not when it was received or processed by the system.

<Fault />

Hardware faults in either the modem's systems or the vehicle to which it is connected is represented here. This node contains SystemType child nodes describing the last events of each type for a device. There can be as few as one SystemType child nodes, and as many as infinity.
Each child node contains the attributes ID, EventID, and GMTEvent. A description of each System Type is available by consulting the APISystemEventsList method.
The GMTEvent refers to the date and time (in UTC/GMT) or the event, not when it was received or processed by the system.

<Position />

This node describes a modem's last known position. The Speed, Heading, Accuracy, and StreetSpeedLimit attibutes are not always present.
The Position node also optionally contains up to three child nodes; Polyline, Zones, and Locations.

<Wiring />

This node may not be present for devices without wiring information like mobile phones.
When present, the node contains as many attributes as necessary to describe the modem's input and output wires.

Fleet Freedom supports up to nine digital input wires (zero to eight), up to nine analog input wires (zero to eight), and up to eight digital output wires (one to eight).

<VBus />

This node is not be present for devices without connection to the vehicle's on-board diagnostic port.
Not all attributes are supported by all compatible modems, nor do all vehicle expose all values to all modems.

The Speed, OdometerValue, and BatteryVoltage are the true values as reported by the vehicle. Other readings in the <Device /> node may be interpreted values based on wiring voltage and GPS data.

<Spreader />

This node is only present for DataTrans devices connected to a salt spreader/snow remover.
Solids, Liquids, and Pre-wet states are given along with the "full blast" status. Solids volume is given as kilograms (Kg). Liquids and Pre-wet is given as cubic liters (L3).

<Details />

This node describes simple details about a modem's firmware, identifier, phone number, and IP address.
The only attributes which will always be present are DeviceTypeID and DeviceModelID; explanations for both can be found using the APIDeviceTypesList method.

<Configuration />

This node describes settings programmed onto the modem physically. These settings do not necessarily reflect the Device's Behaviour Profile perfectly.
Settings on the device include reporting intervals, sleep/low-power configuration, and other device specific attributes. The node also optionally contains several child nodes for Wiring; DI, AI, and DO.

<TrackMode />

Currently only available for LBS devices, this node describes the server-based pinging of handsets in the field. The pinging includes a schedule, and a pings-per-month count.

<ManDown />

Currently only available for T-PASS man-down devices, this node describes the state of a man-down device.

<Messages />

When one or more SMS or email is available for the device, the Messages node is added with Message child nodes.
The UserID and Subject attributes are optional.
The From attribute may also not appear if the message's origin cannot be determined. This can be the case for some cellular carrier's mobile phones.

<Inventory />

The Inventory node (when present) contains Item child nodes.
Inventory items are objects which are assigned to a device in the real-world. They have a unique identifier, name, inventory type or category, and they are marked as on-board or dropped-off. If an item is marked as dropped-off, the OnBoard attribute set to 0, and a Position grand-child is added.
The Position node contains the last known coordsinates and street address of the Item when it was last recorded as on-board.

Example of Returned Data

<GetDevicesList Success="?" Message="">
<Device ID="#" FleetID="#" BehaviourID="#" IconID="#" Name="" MessagingAddress="" Notes="" ModeID="#" MotionType="#" IsCurrent="?" IgnitionValue="?" OdometerValue="#" EngineHoursValue="#">
<Events>
<SystemType ID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<SystemType ID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<!-- etc -->
</Events>
<Fault Modem="?" GPS="?" Vbus="?" DTC="" />
<Position ID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" Latitude="#" Longitude="#" Speed="#" Heading="#" Accuracy="#" Address="" StreetSpeedLimit="#">
<Polyline>
lat,long lat,long lat,long lat,long lat,long lat,long lat,long
</Polyline>
<Zones>
<Zone ID="#" Name="" SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<Zone ID="#" Name="" SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<!-- etc -->
</Zones>
<Locations>
<Location ID="#" Name="" SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<Location ID="#" Name="" SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<!-- etc -->
</Locations>
</Position>
<Wiring DI0="?" DI1="?" DI2="?" DI3="?" DI4="?" DI5="?" DI6="?" DI7="?" DI8="?" AI0="#" AI1="#" AI2="#" AI3="#" AI4="#" AI5="#" AI6="#" AI7="#" AI8="#" DO1="?" DO2="?" DO3="?" DO4="?" DO5="?" DO6="?" DO7="?" DO8="?" />
<VBus Speed="#" OdometerValue="#" EngineRPMSpeed="#" EngineCoolantTemperature="#" EngineCoolantTooHot="?" BatteryVoltage="#" FuelRate="#" FuelLevel="#" FuelUsedTotal="#" FuelAverageEconomy="#" BrakesApplied="?" SeatbeltFastened="?" Ignition="?" Airbag="?" PTO="?" ABS="?" CruiseControl="?" OilPressure="?" ParkingBrake="?" />
<Spreader BlastState="?" SolidState="?" SolidTotalValue="#" LiquidState="?" LiquidTotalValue="#" PrewetState="?" PrewetTotalValue="#" />
<Details DeviceTypeID="#" DeviceModelID="#" Model="" Identifier="" Firmware="" IPAddress="#.#.#.#" PhoneNumber="#" CarrierID="#" InstanceID="#" />
<Configuration DestinationID="#" ServerIP="" ServerPort="#">
<Sleep Mode="#" Delay="#" WireNumber="#" />
<Network Login="" Password="" APN="" DialString="" />
<ServiceType ID="#" Name="">
<Motion PoweredStoppedInterval="#" BatteryStoppedInterval="#" PoweredMovingInterval="#" BatteryMovingInterval="#" />
<!-- or -->
<Periodic PoweredInterval="#" BatteryInterval="#" />
<!-- or -->
<Track PoweredInterval="#" BatteryInterval="#" Days="???????" StartTime="HH:mm:ss" EndTime="HH:mm:ss" />
<!-- or -->
<Geofence PoweredInsideInterval="#" BatteryInsideInterval="#" PoweredOutsideInterval="#" BatteryOutsideInterval="#" Latitude="#" Longitude="#" Radius="#" />
</ServiceType>
<Diagnostic Type="#" Protocol="" Parameters="" Indicators="" VIN="" EngineRPMEnabled="?" EngineRPMThreshold="#" EngineCoolantEnabled="?" EngineCoolantThreshold="#" BatteryEnabled="?" BatteryThreshold="#" FuelRateEnabled="?" FuelRateThreshold="#" FuelLevelEnabled="?" FuelLevelThreshold="#" />
<DI Number="#" Enabled="?" />
<DI Number="#" Enabled="?" />
<!-- etc -->
<AI Number="#" Enabled="?" Low="#" High="#" />
<AI Number="#" Enabled="?" Low="#" High="#" />
<!-- etc -->
</Configuration>
<TrackMode Enabled="?" Interval="#" Days="???????" StartTime="HH:mm:ss.fff" EndTime="HH:mm:ss.fff" TimezoneID="#" OffsetMinutes="#" Count="#" />
<Messages>
<Message ID="#" UserID="#" DeviceID="#" To="" From="" Date="yyyy-MM-dd HH:mm:ss.fff" Subject="" Incoming="?" Archive="?" SMS="?">
message body
</Message>
<Message ID="#" UserID="#" DeviceID="#" To="" From="" Date="yyyy-MM-dd HH:mm:ss.fff" Subject="" Incoming="?" Archive="?" SMS="?">
message body
</Message>
<!-- etc -->
</Messages>
<ManDown ModemID="#" TurnedOff="?" LowBattery="?" HeatAlarm="?" PanicButton="?" NoMotion="?" />
<Inventory>
<Item ID="#" InventoryTypeID="#" DeviceID="#" AccountID="#" Identifier="" Name="" IconID="#" OnBoard="?" Notes="" GMTAdded="yyyy-MM-dd HH:mm:s.fff" />
<Item ID="#" InventoryTypeID="#" DeviceID="#" AccountID="#" Identifier="" Name="" IconID="#" OnBoard="?" Notes="" GMTAdded="yyyy-MM-dd HH:mm:s.fff">
<Position SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" Latitude="#" Longitude="#" Address="" />
</Item>
<!-- etc -->
</Inventory>
</Device>
<Device ID="#" FleetID="#" BehaviourID="#" IconID="#" Name="" MessagingAddress="" Notes="" ModeID="#" MotionType="#" IsCurrent="?" IgnitionValue="?" OdometerValue="#" EngineHoursValue="#">
<Events>
<SystemType ID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<SystemType ID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<!-- etc -->
</Events>
<Fault Modem="?" GPS="?" Vbus="?" DTC="" />
<Position ID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" Latitude="#" Longitude="#" Speed="#" Heading="#" Accuracy="#" Address="" StreetSpeedLimit="#">
<Polyline>
lat,long lat,long lat,long lat,long lat,long lat,long lat,long
</Polyline>
<Zones>
<Zone ID="#" Name="" SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<Zone ID="#" Name="" SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<!-- etc -->
</Zones>
<Locations>
<Location ID="#" Name="" SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<Location ID="#" Name="" SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" />
<!-- etc -->
</Locations>
</Position>
<Wiring DI0="?" DI1="?" DI2="?" DI3="?" DI4="?" DI5="?" DI6="?" DI7="?" DI8="?" AI0="#" AI1="#" AI2="#" AI3="#" AI4="#" AI5="#" AI6="#" AI7="#" AI8="#" DO1="?" DO2="?" DO3="?" DO4="?" DO5="?" DO6="?" DO7="?" DO8="?" />
<VBus Speed="#" OdometerValue="#" EngineRPMSpeed="#" EngineCoolantTemperature="#" EngineCoolantTooHot="?" BatteryVoltage="#" FuelRate="#" FuelLevel="#" FuelUsedTotal="#" FuelAverageEconomy="#" BrakesApplied="?" SeatbeltFastened="?" Ignition="?" Airbag="?" PTO="?" ABS="?" CruiseControl="?" OilPressure="?" ParkingBrake="?" />
<Spreader BlastState="?" SolidState="?" SolidTotalValue="#" LiquidState="?" LiquidTotalValue="#" PrewetState="?" PrewetTotalValue="#" />
<Details DeviceTypeID="#" DeviceModelID="#" Model="" Identifier="" Firmware="" IPAddress="#.#.#.#" PhoneNumber="#" CarrierID="#" InstanceID="#" />
<Configuration DestinationID="#" ServerIP="" ServerPort="#">
<Sleep Mode="#" Delay="#" WireNumber="#" />
<Network Login="" Password="" APN="" DialString="" />
<ServiceType ID="#" Name="">
<Motion PoweredStoppedInterval="#" BatteryStoppedInterval="#" PoweredMovingInterval="#" BatteryMovingInterval="#" />
<!-- or -->
<Periodic PoweredInterval="#" BatteryInterval="#" />
<!-- or -->
<Track PoweredInterval="#" BatteryInterval="#" Days="???????" StartTime="HH:mm:ss" EndTime="HH:mm:ss" />
<!-- or -->
<Geofence PoweredInsideInterval="#" BatteryInsideInterval="#" PoweredOutsideInterval="#" BatteryOutsideInterval="#" Latitude="#" Longitude="#" Radius="#" />
</ServiceType>
<Diagnostic Type="#" Protocol="" Parameters="" Indicators="" VIN="" EngineRPMEnabled="?" EngineRPMThreshold="#" EngineCoolantEnabled="?" EngineCoolantThreshold="#" BatteryEnabled="?" BatteryThreshold="#" FuelRateEnabled="?" FuelRateThreshold="#" FuelLevelEnabled="?" FuelLevelThreshold="#" />
<DI Number="#" Enabled="?" />
<DI Number="#" Enabled="?" />
<!-- etc -->
<AI Number="#" Enabled="?" Low="#" High="#" />
<AI Number="#" Enabled="?" Low="#" High="#" />
<!-- etc -->
</Configuration>
<TrackMode Enabled="?" Interval="#" Days="???????" StartTime="HH:mm:ss.fff" EndTime="HH:mm:ss.fff" TimezoneID="#" OffsetMinutes="#" Count="#" />
<Messages>
<Message ID="#" UserID="#" DeviceID="#" To="" From="" Date="yyyy-MM-dd HH:mm:ss.fff" Subject="" Incoming="?" Archive="?" SMS="?">
message body
</Message>
<Message ID="#" UserID="#" DeviceID="#" To="" From="" Date="yyyy-MM-dd HH:mm:ss.fff" Subject="" Incoming="?" Archive="?" SMS="?">
message body
</Message>
<!-- etc -->
</Messages>
<ManDown ModemID="#" TurnedOff="?" LowBattery="?" HeatAlarm="?" PanicButton="?" NoMotion="?" />
<Inventory>
<Item ID="#" InventoryTypeID="#" DeviceID="#" AccountID="#" Identifier="" Name="" IconID="#" OnBoard="?" Notes="" GMTAdded="yyyy-MM-dd HH:mm:s.fff" />
<Item ID="#" InventoryTypeID="#" DeviceID="#" AccountID="#" Identifier="" Name="" IconID="#" OnBoard="?" Notes="" GMTAdded="yyyy-MM-dd HH:mm:s.fff">
<Position SystemTypeID="#" EventID="#" GMTEvent="yyyy-MM-dd HH:mm:ss.fff" Latitude="#" Longitude="#" Address="" />
</Item>
<!-- etc -->
</Inventory>
</Device>
<!-- etc -->
</GetDevicesList>

Test Method