Glossary

As you develop for the Afero IoT Platform, you will run into terminology that’s used very specifically. Please read through and refer to this glossary of terms as you use the Afero developer tools and processes to create and manage your Afero compatible smart products.

Account ID Unique alphanumeric identifier of an Afero account, associated with an end-user.
Active Device Device that has sent at least one attribute update within the given time period; e.g.,“The device was active between 0700 and 0800; attribute 1 was updated repeatedly during that hour.”
Afero {noun}. Esperanto for affair, business, business deal, case, matter, “thing”.
Afero Cloud Component in the Afero Platform that conducts secure and managed cloud computing. The datastore is a Highly Available (HA), globally distributed, encrypted long-term storage solution. A RESTful API is provided, which is SSL encrypted and protected using the two-legged authentication model of the OAuth 2.0 specification. This Cloud API lets partners securely authenticate their end-users using custom applications so end-users can control the Afero powered devices associated with their accounts. Read more in Cloud API.
Afero Connected Product Product (e.g., smart device) that contains the Afero technology stack and connects to the Afero Cloud. Also known as an Afero edge device or peripheral.
ASR The Afero Secure Radio module. Read more in Afero Hardware Products.
Association/
Dissociation
A device is “associated” with an end-user’s account when the user scans or types the device’s QR code (representing the device’s “Association ID”) in the Afero mobile app. A device can be associated with only one end-user account at a time. Devices can be “disassociated” from the account using the mobile app Device Settings screen > Remove Device option.
Association ID Secondary, unique identifier for an individual device in the Afero ecosystem, used exclusively for associating a device with an end-user account. The Association ID is encoded into the QR code that appears on the label of your Modulo. Current Association IDs are are 12 bytes, hexadecimal encoded.
Attribute Variable used to describe some aspect of the current state of an IoT device, for example an attribute might hold the current state of an On/Off switch. Attribute values are shared between the IoT device, the Cloud, and, if the attribute is exposed to the end-user to allow control of the device, the Afero mobile app. It’s the smallest useful piece of data that can be communicated between the device and the Cloud. Read more in What Is an Attribute?
Available/
Unavailable
A device is “available” when it is powered on, linked, and connected to the Afero Cloud. It is “unavailable” when it is either powered off, or powered on but not connected to or linked with the Cloud. Connection to the Cloud is via Bluetooth or Wi-Fi.
Console Afero tool that allows developers and partners to monitor and visualize their device deployments and usage. It offers aggregated, real-time location views of devices as well as individual device use history. Read more in the Console User Guide.
Credential ID Unique identifier, typically an email address, that an end-user specifies to create and then sign in to their account.
Developer Account This is a term used to describe an Afero account that has access to a Partner.
Developer Device

An Afero device that has been designated as having special capabilities useful for prototyping and development. Those capabilities include:

  • The device can have its profile changed with the Afero Profile Editor.
  • The device can have its Device Type changed.
  • The device can be migrated between partners.

The “Developer Device” designation exists in the Afero database, and takes place as part of the manufacturing process.

A Modulo Dev Board is a typical example of a developer device.

Device/Peripheral Any device in the Afero IoT ecosystem that can receive over-the-air updates.
Device Activity History of events that have affected the state of a device. Events can be attribute value changes, device associations/disassociations, and device available/unavailable status changes.
Device Individual, internet-connected physical object, able to communicate with other connected devices and computer systems.
Device Attribute Definition See Device Profile definition. Also referred to as the “Device Description”.
Device Description Definition of the attributes and possible values of a device. Defined in the Profile Editor in the Attributes definition window.
Device Description Version ID Unique, alphanumeric identifier of the Device Description, or what the Profile Editor refers to as the Attributes Definition. Generated automatically when a Device Profile has been published to at least one device.
Device ID Primary, unique alphanumeric identifier for an individual device in the Afero system. This number does not change.
Device Profile

Created using the Afero Profile Editor. All projects require the definition of the communication interface between the Afero IoT Platform and the device. That communication interface contains two parts:

Device Description - (Referred to as the “Attributes Definition” in the Profile Editor.) A set of attributes whose values describe and control the state of your device. Attributes are specified in terms of function, data type, and read/write accessibility. For example, a thermostat would likely have the current room temperature as an attribute. Getting and setting attributes via the Afero Cloud is the heart of communication between the end-user and your device.

Device Presentation - (Referred to as the “UI Controls & UI Control Groups Definition” in the Profile Editor.) Together with the communication interface, all projects must specify a user interface. After defining an attribute and giving it meaning, you must assign the attribute a standard presentation, which describes how it is represented to the end-user on the screen of the Afero mobile app.

Together these two definitions are referred to as the “Device Profile”, or simply the “Profile”. A Device Profile, once published to a device, is always associated with the same “Device Type” (defined below).

Device Profile ID Unique alphanumeric value that maps to a specific version of a Device Profile.
Device Type

Defined using the Afero Profile Editor and part of the profile’s “Device Type Definition”. Once you use the Profile Editor to publish a device profile to a device, an ID is associated with the “device type” (also referred to as the project) that remains unchanged as long as that device type/project is active.

Note that you can always rename your device type, but once published, the devicetypeID in the system will not change. In other words, you can publish difference profile versions to the same device type.

Device Type Definition See Device Type definition above.
Device Type ID Unique alphanumeric value that maps to a specific Device Type (thermostat, washing machine, camera, etc.). Device Type IDs are unique across the Platform and do not change even if you change a device type name.
Edge Device In the context of IoT, an edge device is a sensor or small computing device that produces or collects data that will be transmitted to a central network location (“the Cloud”). The device itself is physically remote from the network but close to the work environment.
End-User The person (“consumer”) for whom the smart device was designed and built, as opposed to the manufacturer, distributor, or developer.
Event An attribute value change or other operation that affects the state of a device.
Factory Programming Process of programming a Production device profile onto a device. Devices programmed with a Production device profile are no longer considered “development” devices. This means the device profile cannot be changed using the Afero Profile Editor; changing a production device's profile requires reflashing the device or pushing a new profile over-the-air (OTA).
Firmware Image Piece of software that can be installed on a device.
Firmware Image Type A category of firmware image; you create image types using the Afero OTA Manager and are advised to name them based on the “types” of firmware images you plan to use for your MCU updates. Types could include bootloader, application, or any specific identifier you choose to categorize your firmware.
Firmware Image Version Globally unique number that is generated by the OTA service for each firmware image type. Version IDs describe versions of firmware running on the radio module, including code and data such as the device description. All version IDs are uint64_t. The firmware type (e.g., bootloader, application, device description, hub, Wi-Fi certificates) is encoded in the attribute ID. A “version string” is the friendly representation of the version that the developer defines, such as 1.2
Inspector Afero developer tool that provides a real-time, in-depth view of the state of each device associated with a given Afero account. The tool is useful in development for testing and debugging device behavior. Read more in the Inspector User Guide.
Linked Timestamp The last time the device linked to the Afero Cloud. The linked timestamp is displayed in the Console, in the Individual Device Data Viewer window, labeled as Extended Data.
Linking The key exchange between the HSM on the device and the HSM in the Cloud. Once this mutual authentication has been completed, a device is considered “linked”. Only after a device has been linked can it encrypt and decrypt attribute updates, which is why linking is necessary for a device to be “available”.
Mobile App UI Definition See Device Profile definition.
Mobile Sample App Sample app on iOS and Android platforms, including source code, provided to customers to accelerate their app development. Made available to customers via the Afero Mobile App SDK.
OAuth Client ID and Secret All Afero API requests must be made over SSL, and must be authenticated using an OAuth 2.0 access key. You get your access key by providing your OAuth Client ID and OAuth Client Secret when initiating communication with the API server. You can see your OAuth Client ID and Secret from the Profile Editor View > Account Info window.
OTA Manager Afero developer tool for sending over-the-air (OTA) firmware image updates to the MCUs in devices under development. Developers decide the type of firmware image they will be updating.
OTA Service A RESTful web service that is responsible for determining if a device’s update eligibility and delivering software updates “Over The Air” (i.e. wirelessly.)
Partner Manufacturer or vendor of the connected product. Note that “Afero Partner” is a defined role when using the internal Afero tools.
Partner ID Unique alphanumeric identifier assigned to the partner the user is associated with.
Peripheral An Afero enabled device. Also referred to as smart device, edge device, Afero connected product.
Platform Status Status is monitored minute-to-minute and is either “Healthy”, meaning the Afero Cloud is operating normally, or “Degraded”, meaning there is a Service Degradation and the Afero Operations Team has been paged.
Presentation ID Unique alphanumeric identifier for the presentation (mobile app UI) component of a device profile. Defined using the Afero Profile Editor developer tool.
Profile Editor Afero tool that helps developers create and publish device profiles. The Profile Editor gives developers a simple-to-use interface to define the attributes comprising a device profile, and to quickly lay out a mobile application UI. Once the profile has been defined, the Profile Editor can publish the profile to a developer board, or generate a “virtual device” that allows profile testing without hardware. Read more in the Profile Editor User Guide.
Profile ID Unique alphanumeric identifier assigned to a device profile.
Primary Account Account “owner”, or the user who created the account. “Primary Account” is the default Account Name and can be edited from the mobile app Settings screen.
Publish (Profile) After a device profile has been defined using the Afero Profile Editor, the profile can be “published” to compatible devices. Three things happen when a profile is published: 1) the Device Type, Attribute, and Mobile App UI definitions are pushed to the Afero Cloud; 2) the source created is used to generate a header file that must be included in any MCU application code written that uses afLib; and 3) the Device Profile is installed into ASR on the Modulo development board. Read more in Publish Your Profile.
System Attributes Afero system attributes are those with IDs outside the range of 1 to 1023, which is the range reserved for attributes residing on the MCU and controlled by the developer. System attributes are defined by the Afero Cloud or ASR; they are defined in the device-description.h include file (generated by the Afero Profile Editor), so you can reference them in your MCU application. Read more in Device Attribute Registry.
UI Control The widget or element that appears in the mobile app user interface for the user so they can control the behaviors of their smart device. Examples are buttons, switches, sliders, toggle switches, text input fields. Read more in Define the Mobile App UI.
User ID Unique, persistent, alphanumeric identifier of an individual who has created an Afero account.
Value Option

Many attributes have associated UI controls, the elements in the mobile app that allow end-users to read, and in some cases change, attribute values. Some attribute controls simply report a numeric value to the end-user, but others are labeled so the end-user understands the value meanings. These labels are referred to as “Value Options”.

For example, a Fan Speed attribute might have four possible values: 0-3. In the mobile app, you'd like to display these values using friendly words, rather than simple digits. To do that you’d use the Afero Profile Editor to define Value Options so that when the attribute value = 0, the control displays the string “Off”; when the value = 1, the display shows “Low”, 2 = “Medium”, and 3 = “High”.

Virtual Device A virtual device can be either: 1) a “Preview” device created in the Afero Profile Editor, or 2) one of the non Afero smart devices that are supported by Afero (e.g., Nest Learning Thermostat).