A Device Profile is a user-defined profile of how an account will use a device. Multiple devices may have the same Device Type but send very different kinds of messages. As a result, in order to register a Device with the system, it is necessary to first create a Device Profile for that Device Type to inform the application of what kinds of messages that specific device can send. From the "Connect" tab on the main menu, select "Device Profiles" to reach the following page:
To create a new Device Profile, enter a Name and Code to uniquely identify it, and select the appropriate Device Type from the drop-down menu. Most Device Types come equipped with a set of predefined messages, messages that the system anticipates that devices of that type can send; if such a Device Type is selected, the Device Profile will be automatically populated with this set of messages. If Devices with this profile will never send messages of one of these predefined types, a user can mark that type as "Disabled" for convenience, though this is not necessary. All Device Types without a set of predefined messages, and even some with a set, allow the user to configure new message types that the device can send. If the selected Device Type allows this, the "Add Message" button will appear on the page, as it does in the above image. Clicking this button will bring up the "Abstract Message" dialog, where the user can specify the name and code of the message type, which must be unique within a Device Profile, as well as whether the message will be sent from the device to the system or vice versa.
All Message Types share four fields, the first and last of which are required: Device Code, Location, Message Time, and Received Time. The Device Code is the code of the Device that sent the message; the Received Time is the time at which the system received the message; the Location is the location at which the message originated, if it is provided; lastly, the Message Time is the time at which the device sent the message, if it is provided. Any user-defined message type allows the user to add additional fields to a message type using the "Add Field" button, as shown in the first image above. However, some predefined message types allow this as well, for example if a device sends 5 registers by default, but can send an additional 3 if an extra sensor is plugged into it. When the device adapter associated with the selected Device Type processes a message, it will attempt to extract the values defined in the list of fields, but it must have some way to recognize these fields; as a result, the name/code of a user-defined field must correspond to either some name and code expected by the device adapter, or provided by a physical device or API. The Fields and Data Types pages cover the creation of new fields in more detail.
A Device Profile also defines the Resource or Group type, if any, upon which a Device can be installed. Two devices of the same type can be registered to the same account, but could be monitoring two different types of assets. By specifying within a Device Profile that any Devices with that profile are installed upon Resources of type "Car", instead of type "Truck", the system only allows new Devices with that profile to be associated with a Car upon registration.