Skip to content

CSE Core Plugins

CSE core plugins are plugins that are used to implement runtime functionalities of the CSE, such as the statistics functionality, the web UI, or the console. They are loaded and managed by the PluginManager just like any other plugin, but they are used in a special way by the CSE to provide runtime functionalities.

When the CSE starts up, it loads all the core plugins for enabled core functionalities from the internal plugins directory. This helps to keep the resource usage of the CSE low, as only the internal and third-party Python packages that are actually needed are loaded.

The following sections lists the currently available core plugins, the functionalities they provid, and the configuration settings that are responsible for enabling them.

Protocol Bindings

Plugin Name Functionality Responsible Configuration Setting
acme.plugins.bindings.CoAPServer Provides the CoAP protocol binding. [coap]:enable
acme.plugins.bindings.HttpServer Provides the HTTP protocol binding. [http]:enable
acme.plugins.bindings.MQTTClient Provides the MQTT protocol binding. [mqtt]:enable
acme.plugins.bindings.WebSocketServer Provides the WebSocket protocol binding. [websocket]:enable

Note

At least one protocol binding plugin must be enabled for the CSE to function properly, as the CSE relies on protocol bindings to receive and process requests.

Console & UIs

Plugin Name Functionality Responsible Configuration Setting
acme.plugins.bindings.http.HttpWebUI Provides the web UI functionality.
Runs together with the HTTP server.
[webui]:enable
acme.plugins.runtime.Console Provides the console functionality.
Runs together with the CSE core and provides a rich console UI for interacting with the CSE.
This is the CSE's default console.
[basic.config]:consoleType = rich
acme.plugins.runtime.MinimalConsole Provides a minimal console functionality.
Runs together with the CSE core and provides a minimal console UI for interacting with the CSE.
This is an alternative, less resource-intensive console.
[basic.config]:consoleType = simple
acme.plugins.runtime.TextUI Provides the text UI functionality.
Runs together with the CSE core and provides a text-based user interface for interacting with the CSE.
[textui]:enable

Runtime

Plugin Name Functionality Responsible Configuration Setting
acme.plugins.runtime.Statistics Provides the statistics functionality.
Runs together with the CSE core and collects runtime statistics.
[cse.statistics]:enable

Services

Plugin Name Functionality Responsible Configuration Setting
acme.plugins.services.LocationManager Provides the location management functionality.
Runs together with the CSE core and manages location-based features.
[cse.service.location]:enable

Note

By disabling a service plugin, the corresponding oneM2M service will not be available in the CSE. The related oneM2M resource types may still be available, but they will operate in a limited way.

For example, when disabling the LocationManager plugin, the <LocationPolicy> resource may still be available, but its functionality will be very limited or even disabled.

Management & Testing

Plugin Name Functionality Responsible Configuration Setting
acme.plugins.bindings.http.HttpManagement Provides the HTTP management API functionality.
This plugin requires the HTTP Server to be enabled.
[http]:enableManagementEndpoint
acme.plugins.bindings.http.HttpStructure Provides the HTTP structure API functionality.
This plugin requires the HTTP Server to be enabled.
[http]:enableStructureEndpoint
acme.plugins.bindings.http.HttpUpperTester Provides the HTTP Upper Tester functionality.
This plugin requires the HTTP Server to be enabled.
It is usually only needed for testing purposes.
[http]:enableUpperTesterEndpoint

Note

The HTTP management API, structure API and upper tester functionalities are only available if the HTTP Server plugin is enabled, as they rely on the HTTP protocol to provide their functionalities.