# Device management & connectivity

Source: https://cumulocity.com/docs/skills/device-management/

Agent skills for device management and connectivity: register, monitor, and control devices, and manage their software, firmware, configuration, and certificates.

- [Raise, find, and clear alarms](https://cumulocity.com/docs/skills/device-management/handle-alarms/index.md): Raise an alarm for a device, list, filter, and count alarms, acknowledge and clear them, and see how the platform de-duplicates repeated alarms.
- [Delete a device](https://cumulocity.com/docs/skills/device-management/delete-device/index.md): Check that a managed object is a device, delete it with or without its child hierarchy, and wait until the platform has removed it.
- [Create and manage device events](https://cumulocity.com/docs/skills/device-management/handle-events/index.md): Create an event for a device, query and update events, attach a file to an event, and delete the event.
- [List and query devices](https://cumulocity.com/docs/skills/device-management/list-and-query-devices/index.md): List the devices of your tenant, filter them by name, type, and fragment with the inventory query language, and page through all results.
- [Manage child devices](https://cumulocity.com/docs/skills/device-management/manage-child-devices/index.md): Assign a device as a child device of another device, create a new child device in one request, list the child devices, and remove the assignment again.
- [Manage device credentials](https://cumulocity.com/docs/skills/device-management/manage-device-credentials/index.md): List the device users of your tenant, find the device user that a device authenticates with, and disable or enable it to block or allow the login of the device.
- [Manage device groups](https://cumulocity.com/docs/skills/device-management/manage-device-groups/index.md): Create a device group, assign devices to it and remove them, list and query its members, create a smart group whose members are the result of a stored query, and delete groups.
- [Manage device services](https://cumulocity.com/docs/skills/device-management/manage-device-services/index.md): List the software services of a device, announce a service and update its status, and send a start, stop, or restart command to a service.
- [Manage the external IDs of a device](https://cumulocity.com/docs/skills/device-management/manage-identity/index.md): Create an external ID for a device, find the device by its external ID, list all external IDs of the device, and delete an external ID.
- [Manage device simulators](https://cumulocity.com/docs/skills/device-management/manage-simulators/index.md): Check that the device simulator is available, create, read, start, and change a simulator, find the devices that it creates, and delete it.
- [Read and update device information](https://cumulocity.com/docs/skills/device-management/read-device-info/index.md): Read the managed object of a device, interpret its hardware, firmware, and availability fragments, update or remove editable fragments, and switch availability monitoring off or into maintenance mode.
- [Create and read measurements](https://cumulocity.com/docs/skills/device-management/read-measurements/index.md): Create a measurement for a device, query the measurements of a device by time range, type, and series, read the values of its series, and delete the measurements of a device.
- [Read the network configuration and availability of a device](https://cumulocity.com/docs/skills/device-management/read-network-availability/index.md): Read the LAN, WAN, and DHCP configuration that a device reports, and check whether the platform monitors the device and whether the device is available and connected.
- [Register a device](https://cumulocity.com/docs/skills/device-management/register-device/index.md): Create a registration request for a device that fetches its own credentials, wait until the device connects, accept the request, and find the managed object that the device creates.
- [Replace a device](https://cumulocity.com/docs/skills/device-management/replace-device/index.md): Replace the hardware of a device and keep its history by moving the external IDs and hardware information of a replacement device to the original device, deleting the replacement device, and recording the replacement.
- [Request a log file from a device](https://cumulocity.com/docs/skills/device-management/request-device-logs/index.md): Check which logs a device supports, request a log file with a c8y_LogfileRequest operation, wait until the device uploads the file, and download it.
- [Request a diagnostics report from a device](https://cumulocity.com/docs/skills/device-management/request-diagnostics/index.md): Check that a device supports diagnostics reports, request a report with a c8y_DiagnosticReport operation, download the report file, and delete it.
- [Run a shell command on a device](https://cumulocity.com/docs/skills/device-management/run-shell-command/index.md): Check that a device supports shell commands, find a predefined command for its device type, send the command as a c8y_Command operation, and read the result that the device returns.
- [Track the location of a device](https://cumulocity.com/docs/skills/device-management/track-location/index.md): Read and set the current position of a device, record location updates, query the movement of the device in a time range, and delete a location update.
- [Send an operation to a device](https://cumulocity.com/docs/skills/device-management/send-operation/index.md): Check that a device supports an operation, create the operation, follow it until the device reports SUCCESSFUL or FAILED, and cancel an operation that stays PENDING.
- [Apply and retrieve device configuration](https://cumulocity.com/docs/skills/device-management/apply-device-configuration/index.md): Install configuration text or a configuration file on a device, make the device report its current configuration, and read the configuration file that the device uploads.
- [Apply a device profile to a device](https://cumulocity.com/docs/skills/device-management/apply-device-profile/index.md): Check that a device supports device profiles, read the profile, create a c8y_DeviceProfile operation, follow it, and check that the device reports the profile as executed.
- [Register devices in bulk](https://cumulocity.com/docs/skills/device-management/bulk-register-devices/index.md): Describe devices and their credentials in a CSV file, upload the file to register all devices at once, evaluate the result for each row, and check a registered device.
- [Install software on a device](https://cumulocity.com/docs/skills/device-management/install-device-software/index.md): Check which software operation a device supports, create a c8y_SoftwareUpdate, c8y_SoftwareList, or c8y_Software operation to install a software package, and follow the operation until the device reports the result.
- [Manage the configuration repository](https://cumulocity.com/docs/skills/device-management/manage-configuration-repository/index.md): Upload a configuration file, create a configuration snapshot for it in the configuration repository, announce the configuration types of a device, list the snapshots, and delete a snapshot with its file.
- [Manage device profiles](https://cumulocity.com/docs/skills/device-management/manage-device-profiles/index.md): Create a device profile with a firmware version, software packages, and configuration files, read and update it, list all device profiles, and delete a profile.
- [Manage the firmware repository](https://cumulocity.com/docs/skills/device-management/manage-firmware-repository/index.md): Create a firmware in the firmware repository, upload firmware files, add versions and patches, list the firmware for a device type, and delete a firmware with all its versions.
- [Manage the software repository](https://cumulocity.com/docs/skills/device-management/manage-software-repository/index.md): Create a software in the software repository, upload software files, add versions, list the software that a device can install, and delete a software with all its versions.
- [Run a bulk operation on a device group](https://cumulocity.com/docs/skills/device-management/run-bulk-operation/index.md): Schedule an operation for every device of a group as a bulk operation, monitor its progress, retry the operations that failed, and cancel a bulk operation.
- [Update the firmware of a device](https://cumulocity.com/docs/skills/device-management/update-device-firmware/index.md): Check that a device supports firmware updates, send it a firmware image or patch with a c8y_Firmware operation, follow the operation, and check the firmware that the device reports.
- [Create and renew the tenant certificate authority](https://cumulocity.com/docs/skills/device-management/certificate-authority/index.md): Enable and create the certificate authority of your tenant, find and renew it, and register devices that enroll for certificates signed by it.
- [Manage fieldbus device protocols](https://cumulocity.com/docs/skills/device-management/manage-device-protocols/index.md): Create, list, read, and delete the fieldbus device protocols that map the data of Modbus, CAN bus, and CANopen devices.
- [Manage device dashboards](https://cumulocity.com/docs/skills/device-management/manage-dm-dashboards/index.md): Create a dashboard for a device, list the dashboards of a device, check that a dashboard belongs to the device, and delete it.
- [Manage SmartREST 2.0 template collections](https://cumulocity.com/docs/skills/device-management/manage-smartrest-templates/index.md): Create a SmartREST 2.0 template collection with its X-ID, list and find collections, export a collection, and delete it.
- [Manage trusted certificates](https://cumulocity.com/docs/skills/device-management/manage-trusted-certificates/index.md): Upload the CA certificates that a tenant trusts for device authentication, list and update them, prove possession of their private key, and remove them.
- [Read the provisioned certificates of a device](https://cumulocity.com/docs/skills/device-management/read-provisioned-certificates/index.md): Find the device user of a device and read the X.509 certificates that the platform provisioned to the device, as shown in its x509 tab.
- [Register an LWM2M device](https://cumulocity.com/docs/skills/device-management/register-lwm2m-device/index.md): Register an LWM2M device on the LWM2M agent, one at a time or in bulk from a CSV file, check the managed object of the device, and delete the registration.
- [Manage the LWM2M configuration of a device](https://cumulocity.com/docs/skills/device-management/manage-lwm2m-configuration/index.md): Read and replace the LWM2M configuration of a device on the LWM2M agent, section by section, for the basic settings, the servers, the connectivity, the bootstrap, and the firmware update.
- [Manage LWM2M object mappings](https://cumulocity.com/docs/skills/device-management/manage-object-mappings/index.md): List the LWM2M object mappings of your tenant, create or replace a mapping from JSON or from a DDF file, and delete the mappings of an LWM2M object.
- [Update the firmware of an LWM2M device](https://cumulocity.com/docs/skills/device-management/lwm2m-firmware-update/index.md): Check an LWM2M device and the firmware in the repository, start an over-the-air firmware update with a c8y_Firmware operation, follow it, and cancel an update that does not complete.
- [Read and write LWM2M resources with shell commands](https://cumulocity.com/docs/skills/device-management/lwm2m-shell-resources/index.md): Read, write, execute, discover, create, and delete LWM2M resources on a device by sending shell commands as c8y_Command operations, and interpret the results.
- [Observe LWM2M resources with shell commands](https://cumulocity.com/docs/skills/device-management/lwm2m-shell-observe/index.md): Set notification attributes, start and stop observations of LWM2M resources on a device with shell commands, and check that measurements arrive.
- [Run advanced LWM2M shell commands](https://cumulocity.com/docs/skills/device-management/lwm2m-shell-advanced/index.md): Write binary data, send raw CoAP requests, change the serialization format, start a firmware update, or restart an LWM2M device with shell commands.
- [Manage the OPC UA servers of a gateway](https://cumulocity.com/docs/skills/device-management/manage-opcua-gateway-and-servers/index.md): Check an OPC UA gateway, connect an OPC UA server to it, list, read, and update its servers, and delete a server with the OPC UA management service.
- [Browse the address space of an OPC UA server](https://cumulocity.com/docs/skills/device-management/browse-opcua-address-space/index.md): Scan the address space of an OPC UA server with the gateway, then read nodes, list their children, follow browse paths, and search the stored address space.
- [Read and write OPC UA values](https://cumulocity.com/docs/skills/device-management/read-write-opcua-values/index.md): Read and write the values of OPC UA nodes, read node attributes, and call OPC UA methods through operations that the OPC UA gateway executes.
- [Read complex values and write attributes of OPC UA nodes](https://cumulocity.com/docs/skills/device-management/opcua-advanced-operations/index.md): Read selected attributes of several OPC UA nodes in one operation, including parts of array values, and write any writable attribute of OPC UA nodes.
- [Manage OPC UA device types](https://cumulocity.com/docs/skills/device-management/manage-opcua-device-types/index.md): Create an OPC UA device type that maps server nodes to measurements, events, and alarms, check which nodes it matches, enable, update, and delete it with the OPC UA management service.
- [Re-apply OPC UA device type mappings](https://cumulocity.com/docs/skills/device-management/opcua-mapping-operations/index.md): Make the OPC UA gateway apply all device type mappings again, or read the current values of a generated device and process them through its mappings.
- [Read the history of an OPC UA node](https://cumulocity.com/docs/skills/device-management/opcua-historic-data/index.md): Read the stored history of an OPC UA node and process it through the device protocol mappings, or export it as files to the file repository and download them.
- [Read a file from an OPC UA server](https://cumulocity.com/docs/skills/device-management/opcua-file-operations/index.md): Read an OPC UA file node into the file repository or upload it to an external endpoint, then find and download the stored file and remove copies that you no longer need.
- [Inspect the definition of a device parameter](https://cumulocity.com/docs/skills/device-management/inspect-parameter-definitions/index.md): Find the Digital Twin Manager property definition of a device parameter and read its contexts to see whether the platform stores the parameter on the device, shows it in the Parameters tab, and lets users edit it.
- [Read and write device parameters](https://cumulocity.com/docs/skills/device-management/read-write-device-parameters/index.md): Read a device parameter from the device managed object, send a new value to the device with a c8y_ParameterUpdate operation, and check the value that the device reports back.
- [Manage the installed software list of a device](https://cumulocity.com/docs/skills/device-management/manage-advanced-software/index.md): Read, replace, extend, and shorten the list of software packages that the Advanced Software Management microservice records as installed on a device.
- [Manage remote access endpoints of a device](https://cumulocity.com/docs/skills/device-management/manage-remote-access-configurations/index.md): List, create, read, update, and delete the Cloud Remote Access endpoint configurations of a device, so that users can connect to SSH, Telnet, VNC, and passthrough services behind the device.
- [Manage SSH keys for Cloud Remote Access](https://cumulocity.com/docs/skills/device-management/manage-remote-access-keys/index.md): Generate an RSA key pair for an SSH endpoint, replace the stored host key of an SSH endpoint configuration, and check whether Cloud Remote Access saves host keys automatically.
- [Manage the SIM card of a device](https://cumulocity.com/docs/skills/device-management/manage-sim-connectivity/index.md): Configure the SIM provider of the tenant, link a SIM card to a device, read its status, activate or deactivate it, disconnect it, read its audit and usage data, and send it an SMS.
- [Provision an Actility LoRa device](https://cumulocity.com/docs/skills/device-management/provision-actility-device/index.md): Select the device protocol, device profile, and connectivity plan, provision a LoRa device on Actility ThingPark, send a downlink command to it, and deprovision it.
- [Register a Loriot LoRa device](https://cumulocity.com/docs/skills/device-management/provision-loriot-device/index.md): Select the Loriot connection, application, and device protocol, register a LoRa device on the Loriot network server, send a downlink command, and move the device to another Loriot application.
