Technically, drivers are just a kind of server plugins.
Drivers are responsible for:
|Device communications and connection/disconnection logic||Fetching available assets which are groups of entities (properties/operations/events)|
|Managing incoming device connections and association between them and specific device accounts||Reading and writing values of properties upon requests|
|Normalization of data, i.e. its conversion to the unified model format||Implementing the device operation execution logic|
|Device authentication and authorization||Subscribing to device events and value changes, converting them to system events|
|Retrieving device metadata (information on available properties, operations and events)|