# Device Types

**Device Types** extract, transform and normalize the data sent from the device.

To reduce energy consumption and keep the data packets as small as possible, **LPWAN devices** send their data via a payload encoded in **hexadecimal** format. This differs from other protocols that define standard data payload formats and communicate through structured data such as **JSON** or **XML**.\
In the case of **HTTP** or **MQTT**, the payload generally does not have a predefined structure. Therefore "passthrough" can be selected when a **Data Flow** gets created.&#x20;

More information about payload decoding can be found in this [blog](https://akenza.io/blog/payload-decoding).

### Device Type Library

Akenza offers a variety of predefined **Device Types** available on the [Device Type Library](https://akenza.io/features/device-type-library). The logic is predefined based on device specifications. No additional processing logic will be required. The **Device Type Library** can be accessed when creating a Data Flow.

**Passthrough** device types pass along the data to the output connector exactly the same way it was received by the **Device Type**. This is useful for devices that already send a **JSON structure** and do not require any additional processing.

If the payload needs to be decoded of a device, which is not available on the **Device Type Library**, a [**Custom Device Type**](https://docs.akenza.io/get-started/device-type) (CDT) can be created. This CDT gets available on the organization level.

![Device Type Library within a Data Flow](https://2165942204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MMKXTFIN5ZlLOjBlfC4%2Fuploads%2FOw7RkoMFl8qubrZd7N3M%2Fscreely-1685032721711.png?alt=media\&token=ce90d85d-23f5-49c6-9aeb-1a7cc06ad7dc)
